.init:08048918                         ;
.init:08048918                         ; +-------------------------------------------------------------------------+
.init:08048918                         ; |   This file has been generated by The Interactive Disassembler (IDA)    |
.init:08048918                         ; |           Copyright (c) 2015 Hex-Rays, <support@hex-rays.com>           |
.init:08048918                         ; +-------------------------------------------------------------------------+
.init:08048918                         ;
.init:08048918                         ; Input MD5   : A8DC6D4DD6EC93548382ED9CE333ABCB
.init:08048918                         ; Input CRC32 : E80369A7
.init:08048918
.init:08048918                         ; File Name   : sgstatd
.init:08048918                         ; Format      : ELF for Intel 386 (Executable)
.init:08048918                         ; Imagebase   : 8048000
.init:08048918                         ; Interpreter '/lib/ld-linux.so.2'
.init:08048918                         ; Needed Library 'libc.so.6'
.init:08048918                         ;
.init:08048918                         ; Source File : 'crtstuff.c'
.init:08048918                         ; Source File : 'sgstatd.c'
.init:08048918                         ; Source File : 'sgnet.c'
.init:08048918                         ; Source File : 'crtstuff.c'
.init:08048918
.init:08048918                                         .686p
.init:08048918                                         .mmx
.init:08048918                                         .model flat
.init:08048918                         .intel_syntax noprefix
.init:08048918
.init:08048918                         ; ===========================================================================
.init:08048918
.init:08048918                         ; Segment type: Pure code
.init:08048918                         ; Segment permissions: Read/Execute
.init:08048918                         _init           segment dword public 'CODE' use32
.init:08048918                                         assume cs:_init
.init:08048918                                         ;org 8048918h
.init:08048918                                         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.init:08048918
.init:08048918                         ; =============== S U B R O U T I N E =======================================
.init:08048918
.init:08048918                         ; Attributes: bp-based frame
.init:08048918
.init:08048918                                         public _init_proc
.init:08048918                         _init_proc      proc near               ; CODE XREF: __libc_csu_init+14p
.init:08048918 55                                      push    ebp             ; _init
.init:08048919 89 E5                                   mov     ebp, esp
.init:0804891B 53                                      push    ebx
.init:0804891C 83 EC 04                                sub     esp, 4
.init:0804891F E8 00 00 00 00                          call    $+5
.init:08048924 5B                                      pop     ebx
.init:08048925 81 C3 E8 28 00 00                       add     ebx, 28E8h
.init:0804892B 8B 93 FC FF FF FF                       mov     edx, ds:(__gmon_start___ptr - 804B20Ch)[ebx]
.init:08048931 85 D2                                   test    edx, edx
.init:08048933 74 05                                   jz      short loc_804893A
.init:08048935 E8 56 01 00 00                          call    ___gmon_start__
.init:0804893A
.init:0804893A                         loc_804893A:                            ; CODE XREF: _init_proc+1Bj
.init:0804893A 58                                      pop     eax
.init:0804893B 5B                                      pop     ebx
.init:0804893C C9                                      leave
.init:0804893D C3                                      retn
.init:0804893D                         _init_proc      endp
.init:0804893D
.init:0804893D                         _init           ends
.init:0804893D
.plt:08048940                         ; ===========================================================================
.plt:08048940
.plt:08048940                         ; Segment type: Pure code
.plt:08048940                         ; Segment permissions: Read/Execute
.plt:08048940                         _plt            segment para public 'CODE' use32
.plt:08048940                                         assume cs:_plt
.plt:08048940                                         ;org 8048940h
.plt:08048940                                         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.plt:08048940 ?? ?? ?? ?? ?? ?? ?? ??+                dd 4 dup(?)
.plt:08048950                         ; [00000006 BYTES: COLLAPSED FUNCTION _setsockopt. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048956 ?? ??                                   dw ?
.plt:08048958 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048960                         ; [00000006 BYTES: COLLAPSED FUNCTION _getpwnam. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048966 ?? ??                                   dw ?
.plt:08048968 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048970                         ; [00000006 BYTES: COLLAPSED FUNCTION _dup2. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048976 ?? ??                                   dw ?
.plt:08048978 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048980                         ; [00000006 BYTES: COLLAPSED FUNCTION _strcmp. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048986 ?? ??                                   dw ?
.plt:08048988 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048990                         ; [00000006 BYTES: COLLAPSED FUNCTION _read. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048996 ?? ??                                   dw ?
.plt:08048998 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489A0                         ; [00000006 BYTES: COLLAPSED FUNCTION _fflush. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489A6 ?? ??                                   dw ?
.plt:080489A8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489B0                         ; [00000006 BYTES: COLLAPSED FUNCTION _free. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489B6 ?? ??                                   dw ?
.plt:080489B8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489C0                         ; [00000006 BYTES: COLLAPSED FUNCTION _fgets. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489C6 ?? ??                                   dw ?
.plt:080489C8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489D0                         ; [00000006 BYTES: COLLAPSED FUNCTION _time. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489D6 ?? ??                                   dw ?
.plt:080489D8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489E0                         ; [00000006 BYTES: COLLAPSED FUNCTION _signal. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489E6 ?? ??                                   dw ?
.plt:080489E8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:080489F0                         ; [00000006 BYTES: COLLAPSED FUNCTION _chdir. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:080489F6 ?? ??                                   dw ?
.plt:080489F8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A00                         ; [00000006 BYTES: COLLAPSED FUNCTION _alarm. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A06 ?? ??                                   dw ?
.plt:08048A08 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A10                         ; [00000006 BYTES: COLLAPSED FUNCTION _popen. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A16 ?? ??                                   dw ?
.plt:08048A18 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A20                         ; [00000006 BYTES: COLLAPSED FUNCTION _htons. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A26 ?? ??                                   dw ?
.plt:08048A28 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A30                         ; [00000006 BYTES: COLLAPSED FUNCTION _setgroups. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A36 ?? ??                                   dw ?
.plt:08048A38 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A40                         ; [00000006 BYTES: COLLAPSED FUNCTION _accept. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A46 ?? ??                                   dw ?
.plt:08048A48 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A50                         ; [00000006 BYTES: COLLAPSED FUNCTION _usleep. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A56 ?? ??                                   dw ?
.plt:08048A58 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A60                         ; [00000006 BYTES: COLLAPSED FUNCTION _setgid. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A66 ?? ??                                   dw ?
.plt:08048A68 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A70                         ; [00000006 BYTES: COLLAPSED FUNCTION _puts. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A76 ?? ??                                   dw ?
.plt:08048A78 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A80                         ; [00000006 BYTES: COLLAPSED FUNCTION _getdtablesize. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A86 ?? ??                                   dw ?
.plt:08048A88 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048A90                         ; [00000006 BYTES: COLLAPSED FUNCTION ___gmon_start__. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048A96 ?? ??                                   dw ?
.plt:08048A98 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AA0                         ; [00000006 BYTES: COLLAPSED FUNCTION _exit. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048AA6 ?? ??                                   dw ?
.plt:08048AA8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AB0
.plt:08048AB0                         ; =============== S U B R O U T I N E =======================================
.plt:08048AB0
.plt:08048AB0                         ; Attributes: thunk
.plt:08048AB0
.plt:08048AB0                         ; int open(const char *file, int oflag, ...)
.plt:08048AB0                         _open           proc near               ; CODE XREF: sgnet_randfd+1Dp
.plt:08048AB0 FF 25 70 B2 04 08                       jmp     ds:off_804B270
.plt:08048AB0                         _open           endp
.plt:08048AB0
.plt:08048AB0                         ; ---------------------------------------------------------------------------
.plt:08048AB6 ?? ??                                   dw ?
.plt:08048AB8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AC0                         ; [00000006 BYTES: COLLAPSED FUNCTION _srand. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048AC6 ?? ??                                   dw ?
.plt:08048AC8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AD0                         ; [00000006 BYTES: COLLAPSED FUNCTION _strlen. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048AD6 ?? ??                                   dw ?
.plt:08048AD8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AE0                         ; [00000006 BYTES: COLLAPSED FUNCTION ___libc_start_main. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048AE6 ?? ??                                   dw ?
.plt:08048AE8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048AF0
.plt:08048AF0                         ; =============== S U B R O U T I N E =======================================
.plt:08048AF0
.plt:08048AF0                         ; Attributes: thunk
.plt:08048AF0
.plt:08048AF0                         ; ssize_t write(int fd, const void *buf, size_t n)
.plt:08048AF0                         _write          proc near               ; CODE XREF: child_main+32p
.plt:08048AF0                                                                 ; child_main+4Dp ...
.plt:08048AF0 FF 25 80 B2 04 08                       jmp     ds:off_804B280
.plt:08048AF0                         _write          endp
.plt:08048AF0
.plt:08048AF0                         ; ---------------------------------------------------------------------------
.plt:08048AF6 ?? ??                                   dw ?
.plt:08048AF8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B00                         ; [00000006 BYTES: COLLAPSED FUNCTION _vasprintf. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B06 ?? ??                                   dw ?
.plt:08048B08 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B10                         ; [00000006 BYTES: COLLAPSED FUNCTION _bind. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B16 ?? ??                                   dw ?
.plt:08048B18 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B20                         ; [00000006 BYTES: COLLAPSED FUNCTION _getifaddrs. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B26 ?? ??                                   dw ?
.plt:08048B28 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B30                         ; [00000006 BYTES: COLLAPSED FUNCTION _rand. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B36 ?? ??                                   dw ?
.plt:08048B38 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B40                         ; [00000006 BYTES: COLLAPSED FUNCTION _freeifaddrs. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B46 ?? ??                                   dw ?
.plt:08048B48 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B50
.plt:08048B50                         ; =============== S U B R O U T I N E =======================================
.plt:08048B50
.plt:08048B50                         ; Attributes: thunk
.plt:08048B50
.plt:08048B50                         ; __pid_t fork(void)
.plt:08048B50                         _fork           proc near               ; CODE XREF: sgnet_server+4Dp
.plt:08048B50 FF 25 98 B2 04 08                       jmp     ds:off_804B298
.plt:08048B50                         _fork           endp
.plt:08048B50
.plt:08048B50                         ; ---------------------------------------------------------------------------
.plt:08048B56 ?? ??                                   dw ?
.plt:08048B58 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B60                         ; [00000006 BYTES: COLLAPSED FUNCTION _errx. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B66 ?? ??                                   dw ?
.plt:08048B68 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B70                         ; [00000006 BYTES: COLLAPSED FUNCTION _listen. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B76 ?? ??                                   dw ?
.plt:08048B78 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B80                         ; [00000006 BYTES: COLLAPSED FUNCTION _setuid. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B86 ?? ??                                   dw ?
.plt:08048B88 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048B90                         ; [00000006 BYTES: COLLAPSED FUNCTION _socket. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048B96 ?? ??                                   dw ?
.plt:08048B98 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048BA0                         ; [00000006 BYTES: COLLAPSED FUNCTION _shutdown. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048BA6 ?? ??                                   dw ?
.plt:08048BA8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048BB0                         ; [00000006 BYTES: COLLAPSED FUNCTION _recv. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048BB6 ?? ??                                   dw ?
.plt:08048BB8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048BC0                         ; [00000006 BYTES: COLLAPSED FUNCTION _close. PRESS CTRL-NUMPAD+ TO EXPAND]
.plt:08048BC6 ?? ??                                   dw ?
.plt:08048BC8 ?? ?? ?? ?? ?? ?? ?? ??                 dd 2 dup(?)
.plt:08048BC8                         _plt            ends
.plt:08048BC8
.text:08048BD0                         ; ===========================================================================
.text:08048BD0
.text:08048BD0                         ; Segment type: Pure code
.text:08048BD0                         ; Segment permissions: Read/Execute
.text:08048BD0                         _text           segment para public 'CODE' use32
.text:08048BD0                                         assume cs:_text
.text:08048BD0                                         ;org 8048BD0h
.text:08048BD0                                         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.text:08048BD0
.text:08048BD0                         ; =============== S U B R O U T I N E =======================================
.text:08048BD0
.text:08048BD0                         ; Attributes: noreturn
.text:08048BD0
.text:08048BD0                                         public _start
.text:08048BD0                         _start          proc near
.text:08048BD0 31 ED                                   xor     ebp, ebp
.text:08048BD2 5E                                      pop     esi
.text:08048BD3 89 E1                                   mov     ecx, esp
.text:08048BD5 83 E4 F0                                and     esp, 0FFFFFFF0h
.text:08048BD8 50                                      push    eax
.text:08048BD9 54                                      push    esp             ; stack_end
.text:08048BDA 52                                      push    edx             ; rtld_fini
.text:08048BDB 68 20 9B 04 08                          push    offset __libc_csu_fini ; fini
.text:08048BE0 68 30 9B 04 08                          push    offset __libc_csu_init ; init
.text:08048BE5 51                                      push    ecx             ; ubp_av
.text:08048BE6 56                                      push    esi             ; argc
.text:08048BE7 68 C5 93 04 08                          push    offset main     ; main
.text:08048BEC E8 EF FE FF FF                          call    ___libc_start_main
.text:08048BF1 F4                                      hlt
.text:08048BF1                         _start          endp
.text:08048BF1
.text:08048BF1                         ; ---------------------------------------------------------------------------
.text:08048BF2 90 90 90 90 90 90 90 90+                align 10h
.text:08048C00
.text:08048C00                         ; =============== S U B R O U T I N E =======================================
.text:08048C00
.text:08048C00
.text:08048C00                         deregister_tm_clones proc near          ; CODE XREF: __do_global_dtors_aux+Fp
.text:08048C00
.text:08048C00                         var_1C          = dword ptr -1Ch
.text:08048C00
.text:08048C00 B8 C7 B2 04 08                          mov     eax, 804B2C7h
.text:08048C05 2D C4 B2 04 08                          sub     eax, 804B2C4h
.text:08048C0A 83 F8 06                                cmp     eax, 6
.text:08048C0D 77 02                                   ja      short loc_8048C11
.text:08048C0F
.text:08048C0F                         locret_8048C0F:                         ; CODE XREF: deregister_tm_clones+18j
.text:08048C0F F3 C3                                   rep retn
.text:08048C11                         ; ---------------------------------------------------------------------------
.text:08048C11
.text:08048C11                         loc_8048C11:                            ; CODE XREF: deregister_tm_clones+Dj
.text:08048C11 B8 00 00 00 00                          mov     eax, 0
.text:08048C16 85 C0                                   test    eax, eax
.text:08048C18 74 F5                                   jz      short locret_8048C0F
.text:08048C1A 55                                      push    ebp
.text:08048C1B 89 E5                                   mov     ebp, esp
.text:08048C1D 83 EC 18                                sub     esp, 18h
.text:08048C20 C7 04 24 C4 B2 04 08                    mov     [esp+1Ch+var_1C], 804B2C4h
.text:08048C27 FF D0                                   call    eax
.text:08048C29 C9                                      leave
.text:08048C2A C3                                      retn
.text:08048C2A                         deregister_tm_clones endp
.text:08048C2A
.text:08048C2A                         ; ---------------------------------------------------------------------------
.text:08048C2B 90 8D 74 26 00                          align 10h
.text:08048C30
.text:08048C30                         ; =============== S U B R O U T I N E =======================================
.text:08048C30
.text:08048C30
.text:08048C30                         register_tm_clones proc near            ; CODE XREF: frame_dummy+22j
.text:08048C30                                                                 ; frame_dummy:loc_8048CB7j
.text:08048C30
.text:08048C30                         var_1C          = dword ptr -1Ch
.text:08048C30                         var_18          = dword ptr -18h
.text:08048C30
.text:08048C30 B8 C4 B2 04 08                          mov     eax, 804B2C4h
.text:08048C35 2D C4 B2 04 08                          sub     eax, 804B2C4h
.text:08048C3A C1 F8 02                                sar     eax, 2
.text:08048C3D 89 C2                                   mov     edx, eax
.text:08048C3F C1 EA 1F                                shr     edx, 1Fh
.text:08048C42 01 D0                                   add     eax, edx
.text:08048C44 D1 F8                                   sar     eax, 1
.text:08048C46 75 02                                   jnz     short loc_8048C4A
.text:08048C48
.text:08048C48                         locret_8048C48:                         ; CODE XREF: register_tm_clones+21j
.text:08048C48 F3 C3                                   rep retn
.text:08048C4A                         ; ---------------------------------------------------------------------------
.text:08048C4A
.text:08048C4A                         loc_8048C4A:                            ; CODE XREF: register_tm_clones+16j
.text:08048C4A BA 00 00 00 00                          mov     edx, 0
.text:08048C4F 85 D2                                   test    edx, edx
.text:08048C51 74 F5                                   jz      short locret_8048C48
.text:08048C53 55                                      push    ebp
.text:08048C54 89 E5                                   mov     ebp, esp
.text:08048C56 83 EC 18                                sub     esp, 18h
.text:08048C59 89 44 24 04                             mov     [esp+1Ch+var_18], eax
.text:08048C5D C7 04 24 C4 B2 04 08                    mov     [esp+1Ch+var_1C], 804B2C4h
.text:08048C64 FF D2                                   call    edx
.text:08048C66 C9                                      leave
.text:08048C67 C3                                      retn
.text:08048C67                         register_tm_clones endp
.text:08048C67
.text:08048C67                         ; ---------------------------------------------------------------------------
.text:08048C68 90 8D B4 26 00 00 00 00                 align 10h
.text:08048C70
.text:08048C70                         ; =============== S U B R O U T I N E =======================================
.text:08048C70
.text:08048C70
.text:08048C70                         __do_global_dtors_aux proc near         ; DATA XREF: .fini_array:__do_global_dtors_aux_fini_array_entryo
.text:08048C70 80 3D 04 B3 04 08 00                    cmp     ds:completed_5730, 0
.text:08048C77 75 13                                   jnz     short locret_8048C8C
.text:08048C79 55                                      push    ebp
.text:08048C7A 89 E5                                   mov     ebp, esp
.text:08048C7C 83 EC 08                                sub     esp, 8
.text:08048C7F E8 7C FF FF FF                          call    deregister_tm_clones
.text:08048C84 C6 05 04 B3 04 08 01                    mov     ds:completed_5730, 1
.text:08048C8B C9                                      leave
.text:08048C8C
.text:08048C8C                         locret_8048C8C:                         ; CODE XREF: __do_global_dtors_aux+7j
.text:08048C8C F3 C3                                   rep retn
.text:08048C8C                         __do_global_dtors_aux endp
.text:08048C8C
.text:08048C8C                         ; ---------------------------------------------------------------------------
.text:08048C8E 66 90                                   align 10h
.text:08048C90
.text:08048C90                         ; =============== S U B R O U T I N E =======================================
.text:08048C90
.text:08048C90
.text:08048C90                         frame_dummy     proc near               ; CODE XREF: __libc_csu_init+44p
.text:08048C90                                                                 ; DATA XREF: .init_array:__frame_dummy_init_array_entryo
.text:08048C90
.text:08048C90                         var_1C          = dword ptr -1Ch
.text:08048C90
.text:08048C90 A1 14 B1 04 08                          mov     eax, ds:__JCR_LIST__
.text:08048C95 85 C0                                   test    eax, eax
.text:08048C97 74 1E                                   jz      short loc_8048CB7
.text:08048C99 B8 00 00 00 00                          mov     eax, 0
.text:08048C9E 85 C0                                   test    eax, eax
.text:08048CA0 74 15                                   jz      short loc_8048CB7
.text:08048CA2 55                                      push    ebp
.text:08048CA3 89 E5                                   mov     ebp, esp
.text:08048CA5 83 EC 18                                sub     esp, 18h
.text:08048CA8 C7 04 24 14 B1 04 08                    mov     [esp+1Ch+var_1C], offset __JCR_LIST__
.text:08048CAF FF D0                                   call    eax
.text:08048CB1 C9                                      leave
.text:08048CB2 E9 79 FF FF FF                          jmp     register_tm_clones
.text:08048CB7                         ; ---------------------------------------------------------------------------
.text:08048CB7
.text:08048CB7                         loc_8048CB7:                            ; CODE XREF: frame_dummy+7j
.text:08048CB7                                                                 ; frame_dummy+10j
.text:08048CB7 E9 74 FF FF FF                          jmp     register_tm_clones
.text:08048CB7                         frame_dummy     endp
.text:08048CB7
.text:08048CBC
.text:08048CBC                         ; =============== S U B R O U T I N E =======================================
.text:08048CBC
.text:08048CBC                         ; Attributes: bp-based frame
.text:08048CBC
.text:08048CBC                         ; int __cdecl child_main(int fd)
.text:08048CBC                                         public child_main
.text:08048CBC                         child_main      proc near               ; DATA XREF: main+40o
.text:08048CBC
.text:08048CBC                         s               = byte ptr -3F8h
.text:08048CBC                         buf             = dword ptr -10h
.text:08048CBC                         stream          = dword ptr -0Ch
.text:08048CBC                         fd              = dword ptr  8
.text:08048CBC
.text:08048CBC 55                                      push    ebp
.text:08048CBD 89 E5                                   mov     ebp, esp
.text:08048CBF 81 EC 78 04 00 00                       sub     esp, 478h
.text:08048CC5 C7 45 F0 00 00 00 00                    mov     [ebp+buf], 0
.text:08048CCC 8B 45 F0                                mov     eax, [ebp+buf]
.text:08048CCF 83 F8 02                                cmp     eax, 2
.text:08048CD2 0F 84 60 06 00 00                       jz      loc_8049338
.text:08048CD8 C7 44 24 08 33 00 00 00                 mov     dword ptr [esp+8], 33h ; n
.text:08048CE0 C7 44 24 04 BC 9B 04 08                 mov     dword ptr [esp+4], offset aWelcomeToTheSu ; "\nWelcome to the SuperGnome Server Stat"...
.text:08048CE8 8B 45 08                                mov     eax, [ebp+fd]
.text:08048CEB 89 04 24                                mov     [esp], eax      ; fd
.text:08048CEE E8 FD FD FF FF                          call    _write
.text:08048CF3 C7 44 24 08 2D 00 00 00                 mov     dword ptr [esp+8], 2Dh ; n
.text:08048CFB C7 44 24 04 F0 9B 04 08                 mov     dword ptr [esp+4], offset aPleaseEnterOne ; "Please enter one of the following optio"...
.text:08048D03 8B 45 08                                mov     eax, [ebp+fd]
.text:08048D06 89 04 24                                mov     [esp], eax      ; fd
.text:08048D09 E8 E2 FD FF FF                          call    _write
.text:08048D0E C7 44 24 08 1C 00 00 00                 mov     dword ptr [esp+8], 1Ch ; n
.text:08048D16 C7 44 24 04 1D 9C 04 08                 mov     dword ptr [esp+4], offset a1AnalyzeHardDi ; "1 - Analyze hard disk usage\n"
.text:08048D1E 8B 45 08                                mov     eax, [ebp+fd]
.text:08048D21 89 04 24                                mov     [esp], eax      ; fd
.text:08048D24 E8 C7 FD FF FF                          call    _write
.text:08048D29 C7 44 24 08 1A 00 00 00                 mov     dword ptr [esp+8], 1Ah ; n
.text:08048D31 C7 44 24 04 3A 9C 04 08                 mov     dword ptr [esp+4], offset a2ListOpenTcpSo ; "2 - List open TCP sockets\n"
.text:08048D39 8B 45 08                                mov     eax, [ebp+fd]
.text:08048D3C 89 04 24                                mov     [esp], eax      ; fd
.text:08048D3F E8 AC FD FF FF                          call    _write
.text:08048D44 C7 44 24 08 1B 00 00 00                 mov     dword ptr [esp+8], 1Bh ; n
.text:08048D4C C7 44 24 04 55 9C 04 08                 mov     dword ptr [esp+4], offset a3CheckLoggedIn ; "3 - Check logged in users\n"
.text:08048D54 8B 45 08                                mov     eax, [ebp+fd]
.text:08048D57 89 04 24                                mov     [esp], eax      ; fd
.text:08048D5A E8 91 FD FF FF                          call    _write
.text:08048D5F A1 00 B3 04 08                          mov     eax, ds:stdout@@GLIBC_2_0
.text:08048D64 89 04 24                                mov     [esp], eax      ; stream
.text:08048D67 E8 34 FC FF FF                          call    _fflush
.text:08048D6C C7 44 24 0C 00 00 00 00                 mov     dword ptr [esp+0Ch], 0 ; flags
.text:08048D74 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048D7C 8D 45 F0                                lea     eax, [ebp+buf]
.text:08048D7F 89 44 24 04                             mov     [esp+4], eax    ; buf
.text:08048D83 8B 45 08                                mov     eax, [ebp+fd]
.text:08048D86 89 04 24                                mov     [esp], eax      ; fd
.text:08048D89 E8 22 FE FF FF                          call    _recv
.text:08048D8E 8B 45 F0                                mov     eax, [ebp+buf]
.text:08048D91 83 F8 32                                cmp     eax, 32h
.text:08048D94 0F 84 99 00 00 00                       jz      loc_8048E33
.text:08048D9A 83 F8 32                                cmp     eax, 32h
.text:08048D9D 7F 0A                                   jg      short loc_8048DA9
.text:08048D9F 83 F8 31                                cmp     eax, 31h
.text:08048DA2 74 1C                                   jz      short loc_8048DC0
.text:08048DA4 E9 60 05 00 00                          jmp     loc_8049309
.text:08048DA9                         ; ---------------------------------------------------------------------------
.text:08048DA9
.text:08048DA9                         loc_8048DA9:                            ; CODE XREF: child_main+E1j
.text:08048DA9 83 F8 33                                cmp     eax, 33h        ; '3'
.text:08048DAC 0F 84 F4 00 00 00                       jz      loc_8048EA6
.text:08048DB2 83 F8 58                                cmp     eax, 58h        ; 'X'
.text:08048DB5 0F 84 5E 01 00 00                       jz      loc_8048F19
.text:08048DBB E9 49 05 00 00                          jmp     loc_8049309
.text:08048DC0                         ; ---------------------------------------------------------------------------
.text:08048DC0
.text:08048DC0                         loc_8048DC0:                            ; CODE XREF: child_main+E6j
.text:08048DC0 C7 44 24 04 70 9C 04 08                 mov     dword ptr [esp+4], offset modes ; "r"
.text:08048DC8 C7 04 24 72 9C 04 08                    mov     dword ptr [esp], offset command ; "/bin/df"
.text:08048DCF E8 3C FC FF FF                          call    _popen
.text:08048DD4 89 45 F4                                mov     [ebp+stream], eax
.text:08048DD7 83 7D F4 00                             cmp     [ebp+stream], 0
.text:08048DDB 75 2F                                   jnz     short loc_8048E0C
.text:08048DDD C7 04 24 7A 9C 04 08                    mov     dword ptr [esp], offset s ; "Failed to run command"
.text:08048DE4 E8 87 FC FF FF                          call    _puts
.text:08048DE9 C7 04 24 01 00 00 00                    mov     dword ptr [esp], 1 ; status
.text:08048DF0 E8 AB FC FF FF                          call    _exit
.text:08048DF5                         ; ---------------------------------------------------------------------------
.text:08048DF5
.text:08048DF5                         loc_8048DF5:                            ; CODE XREF: child_main+170j
.text:08048DF5 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048DFB 89 44 24 04                             mov     [esp+4], eax    ; s
.text:08048DFF 8B 45 08                                mov     eax, [ebp+fd]
.text:08048E02 89 04 24                                mov     [esp], eax      ; fd
.text:08048E05 E8 F5 0B 00 00                          call    sgnet_writes
.text:08048E0A EB 01                                   jmp     short loc_8048E0D
.text:08048E0C                         ; ---------------------------------------------------------------------------
.text:08048E0C
.text:08048E0C                         loc_8048E0C:                            ; CODE XREF: child_main+11Fj
.text:08048E0C 90                                      nop
.text:08048E0D
.text:08048E0D                         loc_8048E0D:                            ; CODE XREF: child_main+14Ej
.text:08048E0D 8B 45 F4                                mov     eax, [ebp+stream]
.text:08048E10 89 44 24 08                             mov     [esp+8], eax    ; stream
.text:08048E14 C7 44 24 04 E8 03 00 00                 mov     dword ptr [esp+4], 3E8h ; n
.text:08048E1C 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048E22 89 04 24                                mov     [esp], eax      ; s
.text:08048E25 E8 96 FB FF FF                          call    _fgets
.text:08048E2A 85 C0                                   test    eax, eax
.text:08048E2C 75 C7                                   jnz     short loc_8048DF5
.text:08048E2E E9 F2 04 00 00                          jmp     loc_8049325
.text:08048E33                         ; ---------------------------------------------------------------------------
.text:08048E33
.text:08048E33                         loc_8048E33:                            ; CODE XREF: child_main+D8j
.text:08048E33 C7 44 24 04 70 9C 04 08                 mov     dword ptr [esp+4], offset modes ; "r"
.text:08048E3B C7 04 24 90 9C 04 08                    mov     dword ptr [esp], offset aBinNetstatTan ; "/bin/netstat -tan"
.text:08048E42 E8 C9 FB FF FF                          call    _popen
.text:08048E47 89 45 F4                                mov     [ebp+stream], eax
.text:08048E4A 83 7D F4 00                             cmp     [ebp+stream], 0
.text:08048E4E 75 2F                                   jnz     short loc_8048E7F
.text:08048E50 C7 04 24 7A 9C 04 08                    mov     dword ptr [esp], offset s ; "Failed to run command"
.text:08048E57 E8 14 FC FF FF                          call    _puts
.text:08048E5C C7 04 24 01 00 00 00                    mov     dword ptr [esp], 1 ; status
.text:08048E63 E8 38 FC FF FF                          call    _exit
.text:08048E68                         ; ---------------------------------------------------------------------------
.text:08048E68
.text:08048E68                         loc_8048E68:                            ; CODE XREF: child_main+1E3j
.text:08048E68 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048E6E 89 44 24 04                             mov     [esp+4], eax    ; s
.text:08048E72 8B 45 08                                mov     eax, [ebp+fd]
.text:08048E75 89 04 24                                mov     [esp], eax      ; fd
.text:08048E78 E8 82 0B 00 00                          call    sgnet_writes
.text:08048E7D EB 01                                   jmp     short loc_8048E80
.text:08048E7F                         ; ---------------------------------------------------------------------------
.text:08048E7F
.text:08048E7F                         loc_8048E7F:                            ; CODE XREF: child_main+192j
.text:08048E7F 90                                      nop
.text:08048E80
.text:08048E80                         loc_8048E80:                            ; CODE XREF: child_main+1C1j
.text:08048E80 8B 45 F4                                mov     eax, [ebp+stream]
.text:08048E83 89 44 24 08                             mov     [esp+8], eax    ; stream
.text:08048E87 C7 44 24 04 E7 03 00 00                 mov     dword ptr [esp+4], 3E7h ; n
.text:08048E8F 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048E95 89 04 24                                mov     [esp], eax      ; s
.text:08048E98 E8 23 FB FF FF                          call    _fgets
.text:08048E9D 85 C0                                   test    eax, eax
.text:08048E9F 75 C7                                   jnz     short loc_8048E68
.text:08048EA1 E9 7F 04 00 00                          jmp     loc_8049325
.text:08048EA6                         ; ---------------------------------------------------------------------------
.text:08048EA6
.text:08048EA6                         loc_8048EA6:                            ; CODE XREF: child_main+F0j
.text:08048EA6 C7 44 24 04 70 9C 04 08                 mov     dword ptr [esp+4], offset modes ; "r"
.text:08048EAE C7 04 24 A2 9C 04 08                    mov     dword ptr [esp], offset aUsrBinWho ; "/usr/bin/who"
.text:08048EB5 E8 56 FB FF FF                          call    _popen
.text:08048EBA 89 45 F4                                mov     [ebp+stream], eax
.text:08048EBD 83 7D F4 00                             cmp     [ebp+stream], 0
.text:08048EC1 75 2F                                   jnz     short loc_8048EF2
.text:08048EC3 C7 04 24 7A 9C 04 08                    mov     dword ptr [esp], offset s ; "Failed to run command"
.text:08048ECA E8 A1 FB FF FF                          call    _puts
.text:08048ECF C7 04 24 01 00 00 00                    mov     dword ptr [esp], 1 ; status
.text:08048ED6 E8 C5 FB FF FF                          call    _exit
.text:08048EDB                         ; ---------------------------------------------------------------------------
.text:08048EDB
.text:08048EDB                         loc_8048EDB:                            ; CODE XREF: child_main+256j
.text:08048EDB 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048EE1 89 44 24 04                             mov     [esp+4], eax    ; s
.text:08048EE5 8B 45 08                                mov     eax, [ebp+fd]
.text:08048EE8 89 04 24                                mov     [esp], eax      ; fd
.text:08048EEB E8 0F 0B 00 00                          call    sgnet_writes
.text:08048EF0 EB 01                                   jmp     short loc_8048EF3
.text:08048EF2                         ; ---------------------------------------------------------------------------
.text:08048EF2
.text:08048EF2                         loc_8048EF2:                            ; CODE XREF: child_main+205j
.text:08048EF2 90                                      nop
.text:08048EF3
.text:08048EF3                         loc_8048EF3:                            ; CODE XREF: child_main+234j
.text:08048EF3 8B 45 F4                                mov     eax, [ebp+stream]
.text:08048EF6 89 44 24 08                             mov     [esp+8], eax    ; stream
.text:08048EFA C7 44 24 04 E7 03 00 00                 mov     dword ptr [esp+4], 3E7h ; n
.text:08048F02 8D 85 08 FC FF FF                       lea     eax, [ebp+s]
.text:08048F08 89 04 24                                mov     [esp], eax      ; s
.text:08048F0B E8 B0 FA FF FF                          call    _fgets
.text:08048F10 85 C0                                   test    eax, eax
.text:08048F12 75 C7                                   jnz     short loc_8048EDB
.text:08048F14 E9 0C 04 00 00                          jmp     loc_8049325
.text:08048F19                         ; ---------------------------------------------------------------------------
.text:08048F19
.text:08048F19                         loc_8048F19:                            ; CODE XREF: child_main+F9j
.text:08048F19 C7 44 24 08 04 00 00 00                 mov     dword ptr [esp+8], 4 ; n
.text:08048F21 C7 44 24 04 AF 9C 04 08                 mov     dword ptr [esp+4], offset asc_8049CAF ; "\n\nH"
.text:08048F29 8B 45 08                                mov     eax, [ebp+fd]
.text:08048F2C 89 04 24                                mov     [esp], eax      ; fd
.text:08048F2F E8 BC FB FF FF                          call    _write
.text:08048F34 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048F3B E8 10 FB FF FF                          call    _usleep
.text:08048F40 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048F48 C7 44 24 04 B3 9C 04 08                 mov     dword ptr [esp+4], offset aI ; "i"
.text:08048F50 8B 45 08                                mov     eax, [ebp+fd]
.text:08048F53 89 04 24                                mov     [esp], eax      ; fd
.text:08048F56 E8 95 FB FF FF                          call    _write
.text:08048F5B C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048F62 E8 E9 FA FF FF                          call    _usleep
.text:08048F67 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048F6F C7 44 24 04 B5 9C 04 08                 mov     dword ptr [esp+4], offset aD ; "d"
.text:08048F77 8B 45 08                                mov     eax, [ebp+fd]
.text:08048F7A 89 04 24                                mov     [esp], eax      ; fd
.text:08048F7D E8 6E FB FF FF                          call    _write
.text:08048F82 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048F89 E8 C2 FA FF FF                          call    _usleep
.text:08048F8E C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048F96 C7 44 24 04 B5 9C 04 08                 mov     dword ptr [esp+4], offset aD ; "d"
.text:08048F9E 8B 45 08                                mov     eax, [ebp+fd]
.text:08048FA1 89 04 24                                mov     [esp], eax      ; fd
.text:08048FA4 E8 47 FB FF FF                          call    _write
.text:08048FA9 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048FB0 E8 9B FA FF FF                          call    _usleep
.text:08048FB5 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048FBD C7 44 24 04 B7 9C 04 08                 mov     dword ptr [esp+4], offset aE ; "e"
.text:08048FC5 8B 45 08                                mov     eax, [ebp+fd]
.text:08048FC8 89 04 24                                mov     [esp], eax      ; fd
.text:08048FCB E8 20 FB FF FF                          call    _write
.text:08048FD0 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048FD7 E8 74 FA FF FF                          call    _usleep
.text:08048FDC C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08048FE4 C7 44 24 04 B9 9C 04 08                 mov     dword ptr [esp+4], offset aN ; "n"
.text:08048FEC 8B 45 08                                mov     eax, [ebp+fd]
.text:08048FEF 89 04 24                                mov     [esp], eax      ; fd
.text:08048FF2 E8 F9 FA FF FF                          call    _write
.text:08048FF7 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08048FFE E8 4D FA FF FF                          call    _usleep
.text:08049003 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:0804900B C7 44 24 04 BB 9C 04 08                 mov     dword ptr [esp+4], offset asc_8049CBB ; " "
.text:08049013 8B 45 08                                mov     eax, [ebp+fd]
.text:08049016 89 04 24                                mov     [esp], eax      ; fd
.text:08049019 E8 D2 FA FF FF                          call    _write
.text:0804901E C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049025 E8 26 FA FF FF                          call    _usleep
.text:0804902A C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049032 C7 44 24 04 BD 9C 04 08                 mov     dword ptr [esp+4], offset aC ; "c"
.text:0804903A 8B 45 08                                mov     eax, [ebp+fd]
.text:0804903D 89 04 24                                mov     [esp], eax      ; fd
.text:08049040 E8 AB FA FF FF                          call    _write
.text:08049045 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:0804904C E8 FF F9 FF FF                          call    _usleep
.text:08049051 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049059 C7 44 24 04 BF 9C 04 08                 mov     dword ptr [esp+4], offset aO ; "o"
.text:08049061 8B 45 08                                mov     eax, [ebp+fd]
.text:08049064 89 04 24                                mov     [esp], eax      ; fd
.text:08049067 E8 84 FA FF FF                          call    _write
.text:0804906C C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049073 E8 D8 F9 FF FF                          call    _usleep
.text:08049078 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049080 C7 44 24 04 C1 9C 04 08                 mov     dword ptr [esp+4], offset aM ; "m"
.text:08049088 8B 45 08                                mov     eax, [ebp+fd]
.text:0804908B 89 04 24                                mov     [esp], eax      ; fd
.text:0804908E E8 5D FA FF FF                          call    _write
.text:08049093 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:0804909A E8 B1 F9 FF FF                          call    _usleep
.text:0804909F C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:080490A7 C7 44 24 04 C1 9C 04 08                 mov     dword ptr [esp+4], offset aM ; "m"
.text:080490AF 8B 45 08                                mov     eax, [ebp+fd]
.text:080490B2 89 04 24                                mov     [esp], eax      ; fd
.text:080490B5 E8 36 FA FF FF                          call    _write
.text:080490BA C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080490C1 E8 8A F9 FF FF                          call    _usleep
.text:080490C6 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:080490CE C7 44 24 04 C3 9C 04 08                 mov     dword ptr [esp+4], offset aA ; "a"
.text:080490D6 8B 45 08                                mov     eax, [ebp+fd]
.text:080490D9 89 04 24                                mov     [esp], eax      ; fd
.text:080490DC E8 0F FA FF FF                          call    _write
.text:080490E1 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080490E8 E8 63 F9 FF FF                          call    _usleep
.text:080490ED C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:080490F5 C7 44 24 04 B9 9C 04 08                 mov     dword ptr [esp+4], offset aN ; "n"
.text:080490FD 8B 45 08                                mov     eax, [ebp+fd]
.text:08049100 89 04 24                                mov     [esp], eax      ; fd
.text:08049103 E8 E8 F9 FF FF                          call    _write
.text:08049108 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:0804910F E8 3C F9 FF FF                          call    _usleep
.text:08049114 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:0804911C C7 44 24 04 B5 9C 04 08                 mov     dword ptr [esp+4], offset aD ; "d"
.text:08049124 8B 45 08                                mov     eax, [ebp+fd]
.text:08049127 89 04 24                                mov     [esp], eax      ; fd
.text:0804912A E8 C1 F9 FF FF                          call    _write
.text:0804912F C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049136 E8 15 F9 FF FF                          call    _usleep
.text:0804913B C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049143 C7 44 24 04 BB 9C 04 08                 mov     dword ptr [esp+4], offset asc_8049CBB ; " "
.text:0804914B 8B 45 08                                mov     eax, [ebp+fd]
.text:0804914E 89 04 24                                mov     [esp], eax      ; fd
.text:08049151 E8 9A F9 FF FF                          call    _write
.text:08049156 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:0804915D E8 EE F8 FF FF                          call    _usleep
.text:08049162 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:0804916A C7 44 24 04 B5 9C 04 08                 mov     dword ptr [esp+4], offset aD ; "d"
.text:08049172 8B 45 08                                mov     eax, [ebp+fd]
.text:08049175 89 04 24                                mov     [esp], eax      ; fd
.text:08049178 E8 73 F9 FF FF                          call    _write
.text:0804917D C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049184 E8 C7 F8 FF FF                          call    _usleep
.text:08049189 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049191 C7 44 24 04 B7 9C 04 08                 mov     dword ptr [esp+4], offset aE ; "e"
.text:08049199 8B 45 08                                mov     eax, [ebp+fd]
.text:0804919C 89 04 24                                mov     [esp], eax      ; fd
.text:0804919F E8 4C F9 FF FF                          call    _write
.text:080491A4 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080491AB E8 A0 F8 FF FF                          call    _usleep
.text:080491B0 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:080491B8 C7 44 24 04 C5 9C 04 08                 mov     dword ptr [esp+4], offset aT ; "t"
.text:080491C0 8B 45 08                                mov     eax, [ebp+fd]
.text:080491C3 89 04 24                                mov     [esp], eax      ; fd
.text:080491C6 E8 25 F9 FF FF                          call    _write
.text:080491CB C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080491D2 E8 79 F8 FF FF                          call    _usleep
.text:080491D7 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:080491DF C7 44 24 04 B7 9C 04 08                 mov     dword ptr [esp+4], offset aE ; "e"
.text:080491E7 8B 45 08                                mov     eax, [ebp+fd]
.text:080491EA 89 04 24                                mov     [esp], eax      ; fd
.text:080491ED E8 FE F8 FF FF                          call    _write
.text:080491F2 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080491F9 E8 52 F8 FF FF                          call    _usleep
.text:080491FE C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049206 C7 44 24 04 BD 9C 04 08                 mov     dword ptr [esp+4], offset aC ; "c"
.text:0804920E 8B 45 08                                mov     eax, [ebp+fd]
.text:08049211 89 04 24                                mov     [esp], eax      ; fd
.text:08049214 E8 D7 F8 FF FF                          call    _write
.text:08049219 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049220 E8 2B F8 FF FF                          call    _usleep
.text:08049225 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:0804922D C7 44 24 04 C5 9C 04 08                 mov     dword ptr [esp+4], offset aT ; "t"
.text:08049235 8B 45 08                                mov     eax, [ebp+fd]
.text:08049238 89 04 24                                mov     [esp], eax      ; fd
.text:0804923B E8 B0 F8 FF FF                          call    _write
.text:08049240 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049247 E8 04 F8 FF FF                          call    _usleep
.text:0804924C C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:08049254 C7 44 24 04 B7 9C 04 08                 mov     dword ptr [esp+4], offset aE ; "e"
.text:0804925C 8B 45 08                                mov     eax, [ebp+fd]
.text:0804925F 89 04 24                                mov     [esp], eax      ; fd
.text:08049262 E8 89 F8 FF FF                          call    _write
.text:08049267 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:0804926E E8 DD F7 FF FF                          call    _usleep
.text:08049273 C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; n
.text:0804927B C7 44 24 04 B5 9C 04 08                 mov     dword ptr [esp+4], offset aD ; "d"
.text:08049283 8B 45 08                                mov     eax, [ebp+fd]
.text:08049286 89 04 24                                mov     [esp], eax      ; fd
.text:08049289 E8 62 F8 FF FF                          call    _write
.text:0804928E C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:08049295 E8 B6 F7 FF FF                          call    _usleep
.text:0804929A C7 44 24 08 04 00 00 00                 mov     dword ptr [esp+8], 4 ; n
.text:080492A2 C7 44 24 04 C7 9C 04 08                 mov     dword ptr [esp+4], offset asc_8049CC7 ; "!\n\n"
.text:080492AA 8B 45 08                                mov     eax, [ebp+fd]
.text:080492AD 89 04 24                                mov     [esp], eax      ; fd
.text:080492B0 E8 3B F8 FF FF                          call    _write
.text:080492B5 C7 04 24 60 EA 00 00                    mov     dword ptr [esp], 0EA60h ; useconds
.text:080492BC E8 8F F7 FF FF                          call    _usleep
.text:080492C1 C7 44 24 08 4B 00 00 00                 mov     dword ptr [esp+8], 4Bh ; n
.text:080492C9 C7 44 24 04 CC 9C 04 08                 mov     dword ptr [esp+4], offset aEnterAShortMes ; "Enter a short message to share with Gno"...
.text:080492D1 8B 45 08                                mov     eax, [ebp+fd]
.text:080492D4 89 04 24                                mov     [esp], eax      ; fd
.text:080492D7 E8 14 F8 FF FF                          call    _write
.text:080492DC A1 E0 B2 04 08                          mov     eax, ds:stdin@@GLIBC_2_0
.text:080492E1 89 04 24                                mov     [esp], eax      ; stream
.text:080492E4 E8 B7 F6 FF FF                          call    _fflush
.text:080492E9 8B 45 08                                mov     eax, [ebp+fd]
.text:080492EC 89 04 24                                mov     [esp], eax      ; fd
.text:080492EF E8 69 00 00 00                          call    sgstatd
.text:080492F4 C7 44 24 04 17 9D 04 08                 mov     dword ptr [esp+4], offset aRequestComplet ; "\nRequest Completed!\n\n"
.text:080492FC 8B 45 08                                mov     eax, [ebp+fd]
.text:080492FF 89 04 24                                mov     [esp], eax      ; fd
.text:08049302 E8 F8 06 00 00                          call    sgnet_writes
.text:08049307 EB 1C                                   jmp     short loc_8049325
.text:08049309                         ; ---------------------------------------------------------------------------
.text:08049309
.text:08049309                         loc_8049309:                            ; CODE XREF: child_main+E8j
.text:08049309                                                                 ; child_main+FFj
.text:08049309 C7 44 24 08 11 00 00 00                 mov     dword ptr [esp+8], 11h ; n
.text:08049311 C7 44 24 04 2D 9D 04 08                 mov     dword ptr [esp+4], offset aInvalidChoice ; "Invalid choice!\n"
.text:08049319 8B 45 08                                mov     eax, [ebp+fd]
.text:0804931C 89 04 24                                mov     [esp], eax      ; fd
.text:0804931F E8 CC F7 FF FF                          call    _write
.text:08049324 90                                      nop
.text:08049325
.text:08049325                         loc_8049325:                            ; CODE XREF: child_main+172j
.text:08049325                                                                 ; child_main+1E5j ...
.text:08049325 C7 44 24 04 01 00 00 00                 mov     dword ptr [esp+4], 1 ; how
.text:0804932D 8B 45 08                                mov     eax, [ebp+fd]
.text:08049330 89 04 24                                mov     [esp], eax      ; fd
.text:08049333 E8 68 F8 FF FF                          call    _shutdown
.text:08049338
.text:08049338                         loc_8049338:                            ; CODE XREF: child_main+16j
.text:08049338 B8 00 00 00 00                          mov     eax, 0
.text:0804933D C9                                      leave
.text:0804933E C3                                      retn
.text:0804933E                         child_main      endp
.text:0804933E
.text:0804933F
.text:0804933F                         ; =============== S U B R O U T I N E =======================================
.text:0804933F
.text:0804933F                         ; Attributes: noreturn bp-based frame
.text:0804933F
.text:0804933F                                         public sgnet_exit
.text:0804933F                         sgnet_exit      proc near               ; CODE XREF: sgstatd+5Bj
.text:0804933F 55                                      push    ebp
.text:08049340 89 E5                                   mov     ebp, esp
.text:08049342 83 EC 18                                sub     esp, 18h
.text:08049345 C7 04 24 3E 9D 04 08                    mov     dword ptr [esp], offset aCanaryNotRepai ; "Canary not repaired."
.text:0804934C E8 1F F7 FF FF                          call    _puts
.text:08049351 C7 04 24 00 00 00 00                    mov     dword ptr [esp], 0 ; status
.text:08049358 E8 43 F7 FF FF                          call    _exit
.text:08049358                         sgnet_exit      endp
.text:08049358
.text:0804935D
.text:0804935D                         ; =============== S U B R O U T I N E =======================================
.text:0804935D
.text:0804935D                         ; Attributes: bp-based frame
.text:0804935D
.text:0804935D                         ; int __cdecl sgstatd(int fd)
.text:0804935D                                         public sgstatd
.text:0804935D                         sgstatd         proc near               ; CODE XREF: child_main+633p
.text:0804935D
.text:0804935D                         var_6C          = dword ptr -6Ch
.text:0804935D                         var_4           = dword ptr -4
.text:0804935D                         fd              = dword ptr  8
.text:0804935D
.text:0804935D 55                                      push    ebp
.text:0804935E 89 E5                                   mov     ebp, esp
.text:08049360 81 EC 88 00 00 00                       sub     esp, 88h
.text:08049366 C7 45 FC E4 FF FF E4                    mov     [ebp+var_4], 0E4FFFFE4h
.text:0804936D C7 44 24 08 1E 00 00 00                 mov     dword ptr [esp+8], 1Eh ; n
.text:08049375 C7 44 24 04 53 9D 04 08                 mov     dword ptr [esp+4], offset aThisFunctionIs ; "\nThis function is protected!\n"
.text:0804937D 8B 45 08                                mov     eax, [ebp+fd]
.text:08049380 89 04 24                                mov     [esp], eax      ; fd
.text:08049383 E8 68 F7 FF FF                          call    _write
.text:08049388 A1 E0 B2 04 08                          mov     eax, ds:stdin@@GLIBC_2_0
.text:0804938D 89 04 24                                mov     [esp], eax      ; stream
.text:08049390 E8 0B F6 FF FF                          call    _fflush
.text:08049395 C7 44 24 08 C8 00 00 00                 mov     dword ptr [esp+8], 0C8h ; int
.text:0804939D 8D 45 94                                lea     eax, [ebp+var_6C]
.text:080493A0 89 44 24 04                             mov     [esp+4], eax    ; int
.text:080493A4 8B 45 08                                mov     eax, [ebp+fd]
.text:080493A7 89 04 24                                mov     [esp], eax      ; fd
.text:080493AA E8 5C 05 00 00                          call    sgnet_readn
.text:080493AF 8B 55 FC                                mov     edx, [ebp+var_4]
.text:080493B2 81 F2 E4 FF FF E4                       xor     edx, 0E4FFFFE4h
.text:080493B8 0F 85 81 FF FF FF                       jnz     sgnet_exit
.text:080493BE B8 00 00 00 00                          mov     eax, 0
.text:080493C3 C9                                      leave
.text:080493C4 C3                                      retn
.text:080493C4                         sgstatd         endp
.text:080493C4
.text:080493C5
.text:080493C5                         ; =============== S U B R O U T I N E =======================================
.text:080493C5
.text:080493C5                         ; Attributes: noreturn bp-based frame
.text:080493C5
.text:080493C5                         ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:080493C5                                         public main
.text:080493C5                         main            proc near               ; DATA XREF: _start+17o
.text:080493C5
.text:080493C5                         argc            = dword ptr  8
.text:080493C5                         argv            = dword ptr  0Ch
.text:080493C5                         envp            = dword ptr  10h
.text:080493C5
.text:080493C5 55                                      push    ebp
.text:080493C6 89 E5                                   mov     ebp, esp
.text:080493C8 83 E4 F0                                and     esp, 0FFFFFFF0h
.text:080493CB 83 EC 20                                sub     esp, 20h
.text:080493CE C7 04 24 71 9D 04 08                    mov     dword ptr [esp], offset aServerStarted_ ; "Server started..."
.text:080493D5 E8 96 F6 FF FF                          call    _puts
.text:080493DA 0F B7 05 B8 9B 04 08                    movzx   eax, ds:PORT
.text:080493E1 0F B7 C0                                movzx   eax, ax
.text:080493E4 C7 44 24 08 00 00 00 00                 mov     dword ptr [esp+8], 0 ; s2
.text:080493EC C7 44 24 04 06 00 00 00                 mov     dword ptr [esp+4], 6 ; protocol
.text:080493F4 89 04 24                                mov     [esp], eax      ; int
.text:080493F7 E8 24 00 00 00                          call    sgnet_listen
.text:080493FC 89 44 24 1C                             mov     [esp+1Ch], eax
.text:08049400 A1 C0 B2 04 08                          mov     eax, USER
.text:08049405 C7 44 24 08 BC 8C 04 08                 mov     dword ptr [esp+8], offset child_main ; int
.text:0804940D 89 44 24 04                             mov     [esp+4], eax    ; name
.text:08049411 8B 44 24 1C                             mov     eax, [esp+1Ch]
.text:08049415 89 04 24                                mov     [esp], eax      ; fd
.text:08049418 E8 A6 02 00 00                          call    sgnet_server
.text:08049418                         main            endp
.text:08049418
.text:08049418                         ; ---------------------------------------------------------------------------
.text:0804941D 90 90 90                                align 10h
.text:08049420
.text:08049420                         ; =============== S U B R O U T I N E =======================================
.text:08049420
.text:08049420                         ; Attributes: bp-based frame
.text:08049420
.text:08049420                         ; int __cdecl sgnet_listen(int, int protocol, char *s2)
.text:08049420                                         public sgnet_listen
.text:08049420                         sgnet_listen    proc near               ; CODE XREF: main+32p
.text:08049420
.text:08049420                         var_3C          = word ptr -3Ch
.text:08049420                         optval          = dword ptr -2Ch
.text:08049420                         ifap            = dword ptr -28h
.text:08049420                         addr            = sockaddr ptr -24h
.text:08049420                         var_14          = dword ptr -14h
.text:08049420                         var_10          = dword ptr -10h
.text:08049420                         fd              = dword ptr -0Ch
.text:08049420                         arg_0           = dword ptr  8
.text:08049420                         protocol        = dword ptr  0Ch
.text:08049420                         s2              = dword ptr  10h
.text:08049420
.text:08049420 55                                      push    ebp
.text:08049421 89 E5                                   mov     ebp, esp
.text:08049423 83 EC 68                                sub     esp, 68h
.text:08049426 8B 45 08                                mov     eax, [ebp+arg_0]
.text:08049429 66 89 45 C4                             mov     [ebp+var_3C], ax
.text:0804942D C7 45 F4 FF FF FF FF                    mov     [ebp+fd], 0FFFFFFFFh
.text:08049434 C7 44 24 04 01 00 00 00                 mov     dword ptr [esp+4], 1 ; handler
.text:0804943C C7 04 24 11 00 00 00                    mov     dword ptr [esp], 11h ; sig
.text:08049443 E8 98 F5 FF FF                          call    _signal
.text:08049448 83 F8 FF                                cmp     eax, 0FFFFFFFFh
.text:0804944B 75 14                                   jnz     short loc_8049461
.text:0804944D C7 44 24 04 88 9D 04 08                 mov     dword ptr [esp+4], offset format ; "Unable to set SIGCHLD handler"
.text:08049455 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:0804945C E8 FF F6 FF FF                          call    _errx
.text:08049461                         ; ---------------------------------------------------------------------------
.text:08049461
.text:08049461                         loc_8049461:                            ; CODE XREF: sgnet_listen+2Bj
.text:08049461 81 7D 0C FF 00 00 00                    cmp     [ebp+protocol], 0FFh
.text:08049468 75 21                                   jnz     short loc_804948B
.text:0804946A A1 84 9D 04 08                          mov     eax, ds:domain
.text:0804946F 8B 55 0C                                mov     edx, [ebp+protocol]
.text:08049472 89 54 24 08                             mov     [esp+8], edx    ; protocol
.text:08049476 C7 44 24 04 03 00 00 00                 mov     dword ptr [esp+4], 3 ; type
.text:0804947E 89 04 24                                mov     [esp], eax      ; domain
.text:08049481 E8 0A F7 FF FF                          call    _socket
.text:08049486 89 45 F4                                mov     [ebp+fd], eax
.text:08049489 EB 76                                   jmp     short loc_8049501
.text:0804948B                         ; ---------------------------------------------------------------------------
.text:0804948B
.text:0804948B                         loc_804948B:                            ; CODE XREF: sgnet_listen+48j
.text:0804948B 81 7D 0C 84 00 00 00                    cmp     [ebp+protocol], 84h
.text:08049492 75 21                                   jnz     short loc_80494B5
.text:08049494 A1 84 9D 04 08                          mov     eax, ds:domain
.text:08049499 8B 55 0C                                mov     edx, [ebp+protocol]
.text:0804949C 89 54 24 08                             mov     [esp+8], edx    ; protocol
.text:080494A0 C7 44 24 04 05 00 00 00                 mov     dword ptr [esp+4], 5 ; type
.text:080494A8 89 04 24                                mov     [esp], eax      ; domain
.text:080494AB E8 E0 F6 FF FF                          call    _socket
.text:080494B0 89 45 F4                                mov     [ebp+fd], eax
.text:080494B3 EB 4C                                   jmp     short loc_8049501
.text:080494B5                         ; ---------------------------------------------------------------------------
.text:080494B5
.text:080494B5                         loc_80494B5:                            ; CODE XREF: sgnet_listen+72j
.text:080494B5 83 7D 0C 11                             cmp     [ebp+protocol], 11h
.text:080494B9 75 21                                   jnz     short loc_80494DC
.text:080494BB A1 84 9D 04 08                          mov     eax, ds:domain
.text:080494C0 8B 55 0C                                mov     edx, [ebp+protocol]
.text:080494C3 89 54 24 08                             mov     [esp+8], edx    ; protocol
.text:080494C7 C7 44 24 04 02 00 00 00                 mov     dword ptr [esp+4], 2 ; type
.text:080494CF 89 04 24                                mov     [esp], eax      ; domain
.text:080494D2 E8 B9 F6 FF FF                          call    _socket
.text:080494D7 89 45 F4                                mov     [ebp+fd], eax
.text:080494DA EB 25                                   jmp     short loc_8049501
.text:080494DC                         ; ---------------------------------------------------------------------------
.text:080494DC
.text:080494DC                         loc_80494DC:                            ; CODE XREF: sgnet_listen+99j
.text:080494DC 83 7D 0C 06                             cmp     [ebp+protocol], 6
.text:080494E0 75 1F                                   jnz     short loc_8049501
.text:080494E2 A1 84 9D 04 08                          mov     eax, ds:domain
.text:080494E7 8B 55 0C                                mov     edx, [ebp+protocol]
.text:080494EA 89 54 24 08                             mov     [esp+8], edx    ; protocol
.text:080494EE C7 44 24 04 01 00 00 00                 mov     dword ptr [esp+4], 1 ; type
.text:080494F6 89 04 24                                mov     [esp], eax      ; domain
.text:080494F9 E8 92 F6 FF FF                          call    _socket
.text:080494FE 89 45 F4                                mov     [ebp+fd], eax
.text:08049501
.text:08049501                         loc_8049501:                            ; CODE XREF: sgnet_listen+69j
.text:08049501                                                                 ; sgnet_listen+93j ...
.text:08049501 83 7D F4 00                             cmp     [ebp+fd], 0
.text:08049505 79 14                                   jns     short loc_804951B
.text:08049507 C7 44 24 04 A6 9D 04 08                 mov     dword ptr [esp+4], offset aUnableToCreate ; "Unable to create socket"
.text:0804950F C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:08049516 E8 45 F6 FF FF                          call    _errx
.text:0804951B                         ; ---------------------------------------------------------------------------
.text:0804951B
.text:0804951B                         loc_804951B:                            ; CODE XREF: sgnet_listen+E5j
.text:0804951B C7 45 D4 01 00 00 00                    mov     [ebp+optval], 1
.text:08049522 C7 44 24 10 04 00 00 00                 mov     dword ptr [esp+10h], 4 ; optlen
.text:0804952A 8D 45 D4                                lea     eax, [ebp+optval]
.text:0804952D 89 44 24 0C                             mov     [esp+0Ch], eax  ; optval
.text:08049531 C7 44 24 08 02 00 00 00                 mov     dword ptr [esp+8], 2 ; optname
.text:08049539 C7 44 24 04 01 00 00 00                 mov     dword ptr [esp+4], 1 ; level
.text:08049541 8B 45 F4                                mov     eax, [ebp+fd]
.text:08049544 89 04 24                                mov     [esp], eax      ; fd
.text:08049547 E8 04 F4 FF FF                          call    _setsockopt
.text:0804954C 83 F8 FF                                cmp     eax, 0FFFFFFFFh
.text:0804954F 75 14                                   jnz     short loc_8049565
.text:08049551 C7 44 24 04 C0 9D 04 08                 mov     dword ptr [esp+4], offset aUnableToSetSoc ; "Unable to set socket reuse option"
.text:08049559 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:08049560 E8 FB F5 FF FF                          call    _errx
.text:08049565                         ; ---------------------------------------------------------------------------
.text:08049565
.text:08049565                         loc_8049565:                            ; CODE XREF: sgnet_listen+12Fj
.text:08049565 83 7D 10 00                             cmp     [ebp+s2], 0
.text:08049569 75 56                                   jnz     short loc_80495C1
.text:0804956B A1 84 9D 04 08                          mov     eax, ds:domain
.text:08049570 66 89 45 DC                             mov     [ebp+addr.sa_family], ax
.text:08049574 0F B7 45 C4                             movzx   eax, [ebp+var_3C]
.text:08049578 89 04 24                                mov     [esp], eax      ; hostshort
.text:0804957B E8 A0 F4 FF FF                          call    _htons
.text:08049580 66 89 45 DE                             mov     word ptr [ebp+addr.sa_data], ax
.text:08049584 C7 45 E0 00 00 00 00                    mov     dword ptr [ebp+addr.sa_data+2], 0
.text:0804958B 8D 45 DC                                lea     eax, [ebp+addr]
.text:0804958E C7 44 24 08 10 00 00 00                 mov     dword ptr [esp+8], 10h ; len
.text:08049596 89 44 24 04                             mov     [esp+4], eax    ; addr
.text:0804959A 8B 45 F4                                mov     eax, [ebp+fd]
.text:0804959D 89 04 24                                mov     [esp], eax      ; fd
.text:080495A0 E8 6B F5 FF FF                          call    _bind
.text:080495A5 85 C0                                   test    eax, eax
.text:080495A7 0F 89 D6 00 00 00                       jns     loc_8049683
.text:080495AD C7 44 24 04 E2 9D 04 08                 mov     dword ptr [esp+4], offset aUnableToBindSo ; "Unable to bind socket"
.text:080495B5 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:080495BC E8 9F F5 FF FF                          call    _errx
.text:080495C1                         ; ---------------------------------------------------------------------------
.text:080495C1
.text:080495C1                         loc_80495C1:                            ; CODE XREF: sgnet_listen+149j
.text:080495C1 C7 45 D4 FF FF FF FF                    mov     [ebp+optval], 0FFFFFFFFh
.text:080495C8 8D 45 D8                                lea     eax, [ebp+ifap]
.text:080495CB 89 04 24                                mov     [esp], eax      ; ifap
.text:080495CE E8 4D F5 FF FF                          call    _getifaddrs
.text:080495D3 85 C0                                   test    eax, eax
.text:080495D5 0F 85 82 00 00 00                       jnz     loc_804965D
.text:080495DB 8B 45 D8                                mov     eax, [ebp+ifap]
.text:080495DE 89 45 F0                                mov     [ebp+var_10], eax
.text:080495E1 EB 74                                   jmp     short loc_8049657
.text:080495E3                         ; ---------------------------------------------------------------------------
.text:080495E3
.text:080495E3                         loc_80495E3:                            ; CODE XREF: sgnet_listen+23Bj
.text:080495E3 8B 45 F0                                mov     eax, [ebp+var_10]
.text:080495E6 8B 40 0C                                mov     eax, [eax+0Ch]
.text:080495E9 0F B7 00                                movzx   eax, word ptr [eax]
.text:080495EC 0F B7 D0                                movzx   edx, ax
.text:080495EF A1 84 9D 04 08                          mov     eax, ds:domain
.text:080495F4 39 C2                                   cmp     edx, eax
.text:080495F6 75 57                                   jnz     short loc_804964F
.text:080495F8 8B 45 F0                                mov     eax, [ebp+var_10]
.text:080495FB 8B 40 04                                mov     eax, [eax+4]
.text:080495FE 8B 55 10                                mov     edx, [ebp+s2]
.text:08049601 89 54 24 04                             mov     [esp+4], edx    ; s2
.text:08049605 89 04 24                                mov     [esp], eax      ; s1
.text:08049608 E8 73 F3 FF FF                          call    _strcmp
.text:0804960D 85 C0                                   test    eax, eax
.text:0804960F 75 3E                                   jnz     short loc_804964F
.text:08049611 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049614 8B 40 0C                                mov     eax, [eax+0Ch]
.text:08049617 89 45 EC                                mov     [ebp+var_14], eax
.text:0804961A 0F B7 45 C4                             movzx   eax, [ebp+var_3C]
.text:0804961E 89 04 24                                mov     [esp], eax      ; hostshort
.text:08049621 E8 FA F3 FF FF                          call    _htons
.text:08049626 8B 55 EC                                mov     edx, [ebp+var_14]
.text:08049629 66 89 42 02                             mov     [edx+2], ax
.text:0804962D 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049630 8B 40 0C                                mov     eax, [eax+0Ch]
.text:08049633 C7 44 24 08 10 00 00 00                 mov     dword ptr [esp+8], 10h ; len
.text:0804963B 89 44 24 04                             mov     [esp+4], eax    ; addr
.text:0804963F 8B 45 F4                                mov     eax, [ebp+fd]
.text:08049642 89 04 24                                mov     [esp], eax      ; fd
.text:08049645 E8 C6 F4 FF FF                          call    _bind
.text:0804964A 89 45 D4                                mov     [ebp+optval], eax
.text:0804964D EB 0E                                   jmp     short loc_804965D
.text:0804964F                         ; ---------------------------------------------------------------------------
.text:0804964F
.text:0804964F                         loc_804964F:                            ; CODE XREF: sgnet_listen+1D6j
.text:0804964F                                                                 ; sgnet_listen+1EFj
.text:0804964F 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049652 8B 00                                   mov     eax, [eax]
.text:08049654 89 45 F0                                mov     [ebp+var_10], eax
.text:08049657
.text:08049657                         loc_8049657:                            ; CODE XREF: sgnet_listen+1C1j
.text:08049657 83 7D F0 00                             cmp     [ebp+var_10], 0
.text:0804965B 75 86                                   jnz     short loc_80495E3
.text:0804965D
.text:0804965D                         loc_804965D:                            ; CODE XREF: sgnet_listen+1B5j
.text:0804965D                                                                 ; sgnet_listen+22Dj
.text:0804965D 8B 45 D8                                mov     eax, [ebp+ifap]
.text:08049660 89 04 24                                mov     [esp], eax      ; ifa
.text:08049663 E8 D8 F4 FF FF                          call    _freeifaddrs
.text:08049668 8B 45 D4                                mov     eax, [ebp+optval]
.text:0804966B 85 C0                                   test    eax, eax
.text:0804966D 74 14                                   jz      short loc_8049683
.text:0804966F C7 44 24 04 E2 9D 04 08                 mov     dword ptr [esp+4], offset aUnableToBindSo ; "Unable to bind socket"
.text:08049677 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:0804967E E8 DD F4 FF FF                          call    _errx
.text:08049683                         ; ---------------------------------------------------------------------------
.text:08049683
.text:08049683                         loc_8049683:                            ; CODE XREF: sgnet_listen+187j
.text:08049683                                                                 ; sgnet_listen+24Dj
.text:08049683 83 7D 0C 11                             cmp     [ebp+protocol], 11h
.text:08049687 74 35                                   jz      short loc_80496BE
.text:08049689 81 7D 0C FF 00 00 00                    cmp     [ebp+protocol], 0FFh
.text:08049690 74 2C                                   jz      short loc_80496BE
.text:08049692 C7 44 24 04 10 00 00 00                 mov     dword ptr [esp+4], 10h ; n
.text:0804969A 8B 45 F4                                mov     eax, [ebp+fd]
.text:0804969D 89 04 24                                mov     [esp], eax      ; fd
.text:080496A0 E8 CB F4 FF FF                          call    _listen
.text:080496A5 83 F8 FF                                cmp     eax, 0FFFFFFFFh
.text:080496A8 75 14                                   jnz     short loc_80496BE
.text:080496AA C7 44 24 04 F8 9D 04 08                 mov     dword ptr [esp+4], offset aUnableToListen ; "Unable to listen on socket"
.text:080496B2 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:080496B9 E8 A2 F4 FF FF                          call    _errx
.text:080496BE                         ; ---------------------------------------------------------------------------
.text:080496BE
.text:080496BE                         loc_80496BE:                            ; CODE XREF: sgnet_listen+267j
.text:080496BE                                                                 ; sgnet_listen+270j ...
.text:080496BE 8B 45 F4                                mov     eax, [ebp+fd]
.text:080496C1 C9                                      leave
.text:080496C2 C3                                      retn
.text:080496C2                         sgnet_listen    endp
.text:080496C2
.text:080496C3
.text:080496C3                         ; =============== S U B R O U T I N E =======================================
.text:080496C3
.text:080496C3                         ; Attributes: noreturn bp-based frame
.text:080496C3
.text:080496C3                         ; int __cdecl sgnet_server(int fd, char *name, int)
.text:080496C3                                         public sgnet_server
.text:080496C3                         sgnet_server    proc near               ; CODE XREF: main+53p
.text:080496C3
.text:080496C3                         status          = dword ptr -14h
.text:080496C3                         var_10          = dword ptr -10h
.text:080496C3                         var_C           = dword ptr -0Ch
.text:080496C3                         fd              = dword ptr  8
.text:080496C3                         name            = dword ptr  0Ch
.text:080496C3                         arg_8           = dword ptr  10h
.text:080496C3
.text:080496C3 55                                      push    ebp
.text:080496C4 89 E5                                   mov     ebp, esp
.text:080496C6 83 EC 28                                sub     esp, 28h
.text:080496C9 C7 04 24 00 00 00 00                    mov     dword ptr [esp], 0 ; timer
.text:080496D0 E8 FB F2 FF FF                          call    _time
.text:080496D5 89 04 24                                mov     [esp], eax      ; seed
.text:080496D8 E8 E3 F3 FF FF                          call    _srand
.text:080496DD
.text:080496DD                         loc_80496DD:                            ; CODE XREF: sgnet_server+6Cj
.text:080496DD                                                                 ; sgnet_server:loc_804977Bj
.text:080496DD B8 00 00 00 00                          mov     eax, 0
.text:080496E2 C7 44 24 08 00 00 00 00                 mov     dword ptr [esp+8], 0 ; addr_len
.text:080496EA 89 44 24 04                             mov     [esp+4], eax    ; addr
.text:080496EE 8B 45 08                                mov     eax, [ebp+fd]
.text:080496F1 89 04 24                                mov     [esp], eax      ; fd
.text:080496F4 E8 47 F3 FF FF                          call    _accept
.text:080496F9 89 45 F4                                mov     [ebp+var_C], eax
.text:080496FC 83 7D F4 FF                             cmp     [ebp+var_C], 0FFFFFFFFh
.text:08049700 74 75                                   jz      short loc_8049777
.text:08049702 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049705 89 04 24                                mov     [esp], eax
.text:08049708 E8 3F 01 00 00                          call    sgnet_randfd
.text:0804970D 89 45 F4                                mov     [ebp+var_C], eax
.text:08049710 E8 3B F4 FF FF                          call    _fork
.text:08049715 89 45 F0                                mov     [ebp+var_10], eax
.text:08049718 83 7D F0 FF                             cmp     [ebp+var_10], 0FFFFFFFFh
.text:0804971C 74 5C                                   jz      short loc_804977A
.text:0804971E 83 7D F0 00                             cmp     [ebp+var_10], 0
.text:08049722 74 0D                                   jz      short loc_8049731
.text:08049724 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049727 89 04 24                                mov     [esp], eax      ; fd
.text:0804972A E8 91 F4 FF FF                          call    _close
.text:0804972F EB AC                                   jmp     short loc_80496DD
.text:08049731                         ; ---------------------------------------------------------------------------
.text:08049731
.text:08049731                         loc_8049731:                            ; CODE XREF: sgnet_server+5Fj
.text:08049731 8B 45 0C                                mov     eax, [ebp+name]
.text:08049734 89 04 24                                mov     [esp], eax      ; name
.text:08049737 E8 44 00 00 00                          call    sgnet_privdrop
.text:0804973C C7 04 24 10 00 00 00                    mov     dword ptr [esp], 10h ; seconds
.text:08049743 E8 B8 F2 FF FF                          call    _alarm
.text:08049748 8B 45 08                                mov     eax, [ebp+fd]
.text:0804974B 89 04 24                                mov     [esp], eax      ; fd
.text:0804974E E8 6D F4 FF FF                          call    _close
.text:08049753 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049756 89 04 24                                mov     [esp], eax
.text:08049759 8B 45 10                                mov     eax, [ebp+arg_8]
.text:0804975C FF D0                                   call    eax
.text:0804975E 89 45 EC                                mov     [ebp+status], eax
.text:08049761 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049764 89 04 24                                mov     [esp], eax      ; fd
.text:08049767 E8 54 F4 FF FF                          call    _close
.text:0804976C 8B 45 EC                                mov     eax, [ebp+status]
.text:0804976F 89 04 24                                mov     [esp], eax      ; status
.text:08049772 E8 29 F3 FF FF                          call    _exit
.text:08049777                         ; ---------------------------------------------------------------------------
.text:08049777
.text:08049777                         loc_8049777:                            ; CODE XREF: sgnet_server+3Dj
.text:08049777 90                                      nop
.text:08049778 EB 01                                   jmp     short loc_804977B
.text:0804977A                         ; ---------------------------------------------------------------------------
.text:0804977A
.text:0804977A                         loc_804977A:                            ; CODE XREF: sgnet_server+59j
.text:0804977A 90                                      nop
.text:0804977B
.text:0804977B                         loc_804977B:                            ; CODE XREF: sgnet_server+B5j
.text:0804977B E9 5D FF FF FF                          jmp     loc_80496DD
.text:0804977B                         sgnet_server    endp
.text:0804977B
.text:08049780
.text:08049780                         ; =============== S U B R O U T I N E =======================================
.text:08049780
.text:08049780                         ; Attributes: bp-based frame
.text:08049780
.text:08049780                         ; int __cdecl sgnet_privdrop(char *name)
.text:08049780                                         public sgnet_privdrop
.text:08049780                         sgnet_privdrop  proc near               ; CODE XREF: sgnet_server+74p
.text:08049780
.text:08049780                         var_C           = dword ptr -0Ch
.text:08049780                         name            = dword ptr  8
.text:08049780
.text:08049780 55                                      push    ebp
.text:08049781 89 E5                                   mov     ebp, esp
.text:08049783 83 EC 28                                sub     esp, 28h
.text:08049786 8B 45 08                                mov     eax, [ebp+name]
.text:08049789 89 04 24                                mov     [esp], eax      ; name
.text:0804978C E8 CF F1 FF FF                          call    _getpwnam
.text:08049791 89 45 F4                                mov     [ebp+var_C], eax
.text:08049794 83 7D F4 00                             cmp     [ebp+var_C], 0
.text:08049798 75 14                                   jnz     short loc_80497AE
.text:0804979A C7 44 24 04 13 9E 04 08                 mov     dword ptr [esp+4], offset aUnableToFindUs ; "Unable to find user"
.text:080497A2 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:080497A9 E8 B2 F3 FF FF                          call    _errx
.text:080497AE                         ; ---------------------------------------------------------------------------
.text:080497AE
.text:080497AE                         loc_80497AE:                            ; CODE XREF: sgnet_privdrop+18j
.text:080497AE C7 04 24 27 9E 04 08                    mov     dword ptr [esp], offset path ; "/var/run/sgstatd"
.text:080497B5 E8 36 F2 FF FF                          call    _chdir
.text:080497BA 85 C0                                   test    eax, eax
.text:080497BC 79 14                                   jns     short loc_80497D2
.text:080497BE C7 44 24 04 38 9E 04 08                 mov     dword ptr [esp+4], offset aUnableToChange ; "Unable to change directory to /var/run/"...
.text:080497C6 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:080497CD E8 8E F3 FF FF                          call    _errx
.text:080497D2                         ; ---------------------------------------------------------------------------
.text:080497D2
.text:080497D2                         loc_80497D2:                            ; CODE XREF: sgnet_privdrop+3Cj
.text:080497D2 C7 44 24 04 00 00 00 00                 mov     dword ptr [esp+4], 0 ; groups
.text:080497DA C7 04 24 00 00 00 00                    mov     dword ptr [esp], 0 ; n
.text:080497E1 E8 4A F2 FF FF                          call    _setgroups
.text:080497E6 85 C0                                   test    eax, eax
.text:080497E8 79 14                                   jns     short loc_80497FE
.text:080497EA C7 44 24 04 67 9E 04 08                 mov     dword ptr [esp+4], offset aUnableToRemove ; "Unable to remove extra groups"
.text:080497F2 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:080497F9 E8 62 F3 FF FF                          call    _errx
.text:080497FE                         ; ---------------------------------------------------------------------------
.text:080497FE
.text:080497FE                         loc_80497FE:                            ; CODE XREF: sgnet_privdrop+68j
.text:080497FE 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049801 8B 40 0C                                mov     eax, [eax+0Ch]
.text:08049804 89 04 24                                mov     [esp], eax      ; gid
.text:08049807 E8 54 F2 FF FF                          call    _setgid
.text:0804980C 85 C0                                   test    eax, eax
.text:0804980E 79 14                                   jns     short loc_8049824
.text:08049810 C7 44 24 04 85 9E 04 08                 mov     dword ptr [esp+4], offset aUnableToChan_0 ; "Unable to change GID"
.text:08049818 C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:0804981F E8 3C F3 FF FF                          call    _errx
.text:08049824                         ; ---------------------------------------------------------------------------
.text:08049824
.text:08049824                         loc_8049824:                            ; CODE XREF: sgnet_privdrop+8Ej
.text:08049824 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049827 8B 40 08                                mov     eax, [eax+8]
.text:0804982A 89 04 24                                mov     [esp], eax      ; uid
.text:0804982D E8 4E F3 FF FF                          call    _setuid
.text:08049832 85 C0                                   test    eax, eax
.text:08049834 79 14                                   jns     short locret_804984A
.text:08049836 C7 44 24 04 9A 9E 04 08                 mov     dword ptr [esp+4], offset aUnableToChan_1 ; "Unable to change UID"
.text:0804983E C7 04 24 FF FF FF FF                    mov     dword ptr [esp], 0FFFFFFFFh ; status
.text:08049845 E8 16 F3 FF FF                          call    _errx
.text:0804984A                         ; ---------------------------------------------------------------------------
.text:0804984A
.text:0804984A                         locret_804984A:                         ; CODE XREF: sgnet_privdrop+B4j
.text:0804984A C9                                      leave
.text:0804984B C3                                      retn
.text:0804984B                         sgnet_privdrop  endp
.text:0804984B
.text:0804984C
.text:0804984C                         ; =============== S U B R O U T I N E =======================================
.text:0804984C
.text:0804984C                         ; Attributes: bp-based frame
.text:0804984C
.text:0804984C                                         public sgnet_randfd
.text:0804984C                         sgnet_randfd    proc near               ; CODE XREF: sgnet_server+45p
.text:0804984C
.text:0804984C                         buf             = dword ptr -14h
.text:0804984C                         fd              = dword ptr -10h
.text:0804984C                         var_C           = dword ptr -0Ch
.text:0804984C                         arg_0           = dword ptr  8
.text:0804984C
.text:0804984C 55                                      push    ebp
.text:0804984D 89 E5                                   mov     ebp, esp
.text:0804984F 83 EC 28                                sub     esp, 28h
.text:08049852 E8 29 F2 FF FF                          call    _getdtablesize
.text:08049857 89 45 F4                                mov     [ebp+var_C], eax
.text:0804985A C7 44 24 04 00 00 00 00                 mov     dword ptr [esp+4], 0 ; oflag
.text:08049862 C7 04 24 AF 9E 04 08                    mov     dword ptr [esp], offset file ; "/dev/urandom"
.text:08049869 E8 42 F2 FF FF                          call    _open
.text:0804986E 89 45 F0                                mov     [ebp+fd], eax
.text:08049871 C7 45 EC 00 00 00 00                    mov     [ebp+buf], 0
.text:08049878 83 7D F0 00                             cmp     [ebp+fd], 0
.text:0804987C 79 4A                                   jns     short loc_80498C8
.text:0804987E EB 12                                   jmp     short loc_8049892
.text:08049880                         ; ---------------------------------------------------------------------------
.text:08049880
.text:08049880                         loc_8049880:                            ; CODE XREF: sgnet_randfd+4Cj
.text:08049880 E8 AB F2 FF FF                          call    _rand
.text:08049885 89 C2                                   mov     edx, eax
.text:08049887 C1 FA 1F                                sar     edx, 1Fh
.text:0804988A F7 7D F4                                idiv    [ebp+var_C]
.text:0804988D 89 D0                                   mov     eax, edx
.text:0804988F 89 45 EC                                mov     [ebp+buf], eax
.text:08049892
.text:08049892                         loc_8049892:                            ; CODE XREF: sgnet_randfd+32j
.text:08049892 8B 45 EC                                mov     eax, [ebp+buf]
.text:08049895 3B 45 08                                cmp     eax, [ebp+arg_0]
.text:08049898 7C E6                                   jl      short loc_8049880
.text:0804989A EB 40                                   jmp     short loc_80498DC
.text:0804989C                         ; ---------------------------------------------------------------------------
.text:0804989C
.text:0804989C                         loc_804989C:                            ; CODE XREF: sgnet_randfd+83j
.text:0804989C C7 44 24 08 02 00 00 00                 mov     dword ptr [esp+8], 2 ; nbytes
.text:080498A4 8D 45 EC                                lea     eax, [ebp+buf]
.text:080498A7 89 44 24 04                             mov     [esp+4], eax    ; buf
.text:080498AB 8B 45 F0                                mov     eax, [ebp+fd]
.text:080498AE 89 04 24                                mov     [esp], eax      ; fd
.text:080498B1 E8 DA F0 FF FF                          call    _read
.text:080498B6 8B 45 EC                                mov     eax, [ebp+buf]
.text:080498B9 89 C2                                   mov     edx, eax
.text:080498BB C1 FA 1F                                sar     edx, 1Fh
.text:080498BE F7 7D F4                                idiv    [ebp+var_C]
.text:080498C1 89 D0                                   mov     eax, edx
.text:080498C3 89 45 EC                                mov     [ebp+buf], eax
.text:080498C6 EB 01                                   jmp     short loc_80498C9
.text:080498C8                         ; ---------------------------------------------------------------------------
.text:080498C8
.text:080498C8                         loc_80498C8:                            ; CODE XREF: sgnet_randfd+30j
.text:080498C8 90                                      nop
.text:080498C9
.text:080498C9                         loc_80498C9:                            ; CODE XREF: sgnet_randfd+7Aj
.text:080498C9 8B 45 EC                                mov     eax, [ebp+buf]
.text:080498CC 3B 45 08                                cmp     eax, [ebp+arg_0]
.text:080498CF 7C CB                                   jl      short loc_804989C
.text:080498D1 8B 45 F0                                mov     eax, [ebp+fd]
.text:080498D4 89 04 24                                mov     [esp], eax      ; fd
.text:080498D7 E8 E4 F2 FF FF                          call    _close
.text:080498DC
.text:080498DC                         loc_80498DC:                            ; CODE XREF: sgnet_randfd+4Ej
.text:080498DC 8B 45 EC                                mov     eax, [ebp+buf]
.text:080498DF 89 44 24 04                             mov     [esp+4], eax    ; fd2
.text:080498E3 8B 45 08                                mov     eax, [ebp+arg_0]
.text:080498E6 89 04 24                                mov     [esp], eax      ; fd
.text:080498E9 E8 82 F0 FF FF                          call    _dup2
.text:080498EE 83 F8 FF                                cmp     eax, 0FFFFFFFFh
.text:080498F1 75 08                                   jnz     short loc_80498FB
.text:080498F3 8B 45 08                                mov     eax, [ebp+arg_0]
.text:080498F6 89 45 EC                                mov     [ebp+buf], eax
.text:080498F9 EB 0B                                   jmp     short loc_8049906
.text:080498FB                         ; ---------------------------------------------------------------------------
.text:080498FB
.text:080498FB                         loc_80498FB:                            ; CODE XREF: sgnet_randfd+A5j
.text:080498FB 8B 45 08                                mov     eax, [ebp+arg_0]
.text:080498FE 89 04 24                                mov     [esp], eax      ; fd
.text:08049901 E8 BA F2 FF FF                          call    _close
.text:08049906
.text:08049906                         loc_8049906:                            ; CODE XREF: sgnet_randfd+ADj
.text:08049906 8B 45 EC                                mov     eax, [ebp+buf]
.text:08049909 C9                                      leave
.text:0804990A C3                                      retn
.text:0804990A                         sgnet_randfd    endp
.text:0804990A
.text:0804990B
.text:0804990B                         ; =============== S U B R O U T I N E =======================================
.text:0804990B
.text:0804990B                         ; Attributes: bp-based frame
.text:0804990B
.text:0804990B                         ; int __cdecl sgnet_readn(int fd, int, int)
.text:0804990B                                         public sgnet_readn
.text:0804990B                         sgnet_readn     proc near               ; CODE XREF: sgstatd+4Dp
.text:0804990B
.text:0804990B                         var_14          = dword ptr -14h
.text:0804990B                         var_10          = dword ptr -10h
.text:0804990B                         var_C           = dword ptr -0Ch
.text:0804990B                         fd              = dword ptr  8
.text:0804990B                         arg_4           = dword ptr  0Ch
.text:0804990B                         arg_8           = dword ptr  10h
.text:0804990B
.text:0804990B 55                                      push    ebp
.text:0804990C 89 E5                                   mov     ebp, esp
.text:0804990E 83 EC 28                                sub     esp, 28h
.text:08049911 C7 45 F0 00 00 00 00                    mov     [ebp+var_10], 0
.text:08049918 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:0804991F 8B 45 0C                                mov     eax, [ebp+arg_4]
.text:08049922 89 45 EC                                mov     [ebp+var_14], eax
.text:08049925 83 7D 08 00                             cmp     [ebp+fd], 0
.text:08049929 78 52                                   js      short loc_804997D
.text:0804992B 83 7D EC 00                             cmp     [ebp+var_14], 0
.text:0804992F 74 4C                                   jz      short loc_804997D
.text:08049931 83 7D 10 00                             cmp     [ebp+arg_8], 0
.text:08049935 74 46                                   jz      short loc_804997D
.text:08049937 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:0804993E EB 32                                   jmp     short loc_8049972
.text:08049940                         ; ---------------------------------------------------------------------------
.text:08049940
.text:08049940                         loc_8049940:                            ; CODE XREF: sgnet_readn+6Dj
.text:08049940 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049943 8B 55 10                                mov     edx, [ebp+arg_8]
.text:08049946 29 C2                                   sub     edx, eax
.text:08049948 8B 45 F4                                mov     eax, [ebp+var_C]
.text:0804994B 8B 4D EC                                mov     ecx, [ebp+var_14]
.text:0804994E 01 C8                                   add     eax, ecx
.text:08049950 89 54 24 08                             mov     [esp+8], edx    ; nbytes
.text:08049954 89 44 24 04                             mov     [esp+4], eax    ; buf
.text:08049958 8B 45 08                                mov     eax, [ebp+fd]
.text:0804995B 89 04 24                                mov     [esp], eax      ; fd
.text:0804995E E8 2D F0 FF FF                          call    _read
.text:08049963 89 45 F0                                mov     [ebp+var_10], eax
.text:08049966 83 7D F0 00                             cmp     [ebp+var_10], 0
.text:0804996A 7E 10                                   jle     short loc_804997C
.text:0804996C 8B 45 F0                                mov     eax, [ebp+var_10]
.text:0804996F 01 45 F4                                add     [ebp+var_C], eax
.text:08049972
.text:08049972                         loc_8049972:                            ; CODE XREF: sgnet_readn+33j
.text:08049972 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049975 3B 45 10                                cmp     eax, [ebp+arg_8]
.text:08049978 72 C6                                   jb      short loc_8049940
.text:0804997A EB 01                                   jmp     short loc_804997D
.text:0804997C                         ; ---------------------------------------------------------------------------
.text:0804997C
.text:0804997C                         loc_804997C:                            ; CODE XREF: sgnet_readn+5Fj
.text:0804997C 90                                      nop
.text:0804997D
.text:0804997D                         loc_804997D:                            ; CODE XREF: sgnet_readn+1Ej
.text:0804997D                                                                 ; sgnet_readn+24j ...
.text:0804997D 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049980 C9                                      leave
.text:08049981 C3                                      retn
.text:08049981                         sgnet_readn     endp
.text:08049981
.text:08049982
.text:08049982                         ; =============== S U B R O U T I N E =======================================
.text:08049982
.text:08049982                         ; Attributes: bp-based frame
.text:08049982
.text:08049982                         ; int __cdecl sgnet_readsn(int fd, int, int)
.text:08049982                                         public sgnet_readsn
.text:08049982                         sgnet_readsn    proc near
.text:08049982
.text:08049982                         buf             = byte ptr -0Dh
.text:08049982                         var_C           = dword ptr -0Ch
.text:08049982                         fd              = dword ptr  8
.text:08049982                         arg_4           = dword ptr  0Ch
.text:08049982                         arg_8           = dword ptr  10h
.text:08049982
.text:08049982 55                                      push    ebp
.text:08049983 89 E5                                   mov     ebp, esp
.text:08049985 83 EC 28                                sub     esp, 28h
.text:08049988 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:0804998F 83 7D 08 00                             cmp     [ebp+fd], 0
.text:08049993 78 65                                   js      short loc_80499FA
.text:08049995 83 7D 0C 00                             cmp     [ebp+arg_4], 0
.text:08049999 74 5F                                   jz      short loc_80499FA
.text:0804999B 83 7D 10 00                             cmp     [ebp+arg_8], 0
.text:0804999F 74 59                                   jz      short loc_80499FA
.text:080499A1 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:080499A8 EB 45                                   jmp     short loc_80499EF
.text:080499AA                         ; ---------------------------------------------------------------------------
.text:080499AA
.text:080499AA                         loc_80499AA:                            ; CODE XREF: sgnet_readsn+73j
.text:080499AA C7 44 24 08 01 00 00 00                 mov     dword ptr [esp+8], 1 ; nbytes
.text:080499B2 8D 45 F3                                lea     eax, [ebp+buf]
.text:080499B5 89 44 24 04                             mov     [esp+4], eax    ; buf
.text:080499B9 8B 45 08                                mov     eax, [ebp+fd]
.text:080499BC 89 04 24                                mov     [esp], eax      ; fd
.text:080499BF E8 CC EF FF FF                          call    _read
.text:080499C4 85 C0                                   test    eax, eax
.text:080499C6 7E 31                                   jle     short loc_80499F9
.text:080499C8 0F B6 45 F3                             movzx   eax, [ebp+buf]
.text:080499CC 3C 0A                                   cmp     al, 0Ah
.text:080499CE 75 0D                                   jnz     short loc_80499DD
.text:080499D0 8B 45 F4                                mov     eax, [ebp+var_C]
.text:080499D3 8B 55 0C                                mov     edx, [ebp+arg_4]
.text:080499D6 01 D0                                   add     eax, edx
.text:080499D8 C6 00 00                                mov     byte ptr [eax], 0
.text:080499DB EB 1D                                   jmp     short loc_80499FA
.text:080499DD                         ; ---------------------------------------------------------------------------
.text:080499DD
.text:080499DD                         loc_80499DD:                            ; CODE XREF: sgnet_readsn+4Cj
.text:080499DD 8B 45 F4                                mov     eax, [ebp+var_C]
.text:080499E0 8B 55 0C                                mov     edx, [ebp+arg_4]
.text:080499E3 01 C2                                   add     edx, eax
.text:080499E5 0F B6 45 F3                             movzx   eax, [ebp+buf]
.text:080499E9 88 02                                   mov     [edx], al
.text:080499EB 83 45 F4 01                             add     [ebp+var_C], 1
.text:080499EF
.text:080499EF                         loc_80499EF:                            ; CODE XREF: sgnet_readsn+26j
.text:080499EF 8B 45 F4                                mov     eax, [ebp+var_C]
.text:080499F2 3B 45 10                                cmp     eax, [ebp+arg_8]
.text:080499F5 72 B3                                   jb      short loc_80499AA
.text:080499F7 EB 01                                   jmp     short loc_80499FA
.text:080499F9                         ; ---------------------------------------------------------------------------
.text:080499F9
.text:080499F9                         loc_80499F9:                            ; CODE XREF: sgnet_readsn+44j
.text:080499F9 90                                      nop
.text:080499FA
.text:080499FA                         loc_80499FA:                            ; CODE XREF: sgnet_readsn+11j
.text:080499FA                                                                 ; sgnet_readsn+17j ...
.text:080499FA 8B 45 F4                                mov     eax, [ebp+var_C]
.text:080499FD C9                                      leave
.text:080499FE C3                                      retn
.text:080499FE                         sgnet_readsn    endp
.text:080499FE
.text:080499FF
.text:080499FF                         ; =============== S U B R O U T I N E =======================================
.text:080499FF
.text:080499FF                         ; Attributes: bp-based frame
.text:080499FF
.text:080499FF                         ; int __cdecl sgnet_writes(int fd, char *s)
.text:080499FF                                         public sgnet_writes
.text:080499FF                         sgnet_writes    proc near               ; CODE XREF: child_main+149p
.text:080499FF                                                                 ; child_main+1BCp ...
.text:080499FF
.text:080499FF                         fd              = dword ptr  8
.text:080499FF                         s               = dword ptr  0Ch
.text:080499FF
.text:080499FF 55                                      push    ebp
.text:08049A00 89 E5                                   mov     ebp, esp
.text:08049A02 83 EC 18                                sub     esp, 18h
.text:08049A05 8B 45 0C                                mov     eax, [ebp+s]
.text:08049A08 89 04 24                                mov     [esp], eax      ; s
.text:08049A0B E8 C0 F0 FF FF                          call    _strlen
.text:08049A10 89 44 24 08                             mov     [esp+8], eax    ; int
.text:08049A14 8B 45 0C                                mov     eax, [ebp+s]
.text:08049A17 89 44 24 04                             mov     [esp+4], eax    ; int
.text:08049A1B 8B 45 08                                mov     eax, [ebp+fd]
.text:08049A1E 89 04 24                                mov     [esp], eax      ; fd
.text:08049A21 E8 02 00 00 00                          call    sgnet_writen
.text:08049A26 C9                                      leave
.text:08049A27 C3                                      retn
.text:08049A27                         sgnet_writes    endp
.text:08049A27
.text:08049A28
.text:08049A28                         ; =============== S U B R O U T I N E =======================================
.text:08049A28
.text:08049A28                         ; Attributes: bp-based frame
.text:08049A28
.text:08049A28                         ; int __cdecl sgnet_writen(int fd, int, int)
.text:08049A28                                         public sgnet_writen
.text:08049A28                         sgnet_writen    proc near               ; CODE XREF: sgnet_writes+22p
.text:08049A28                                                                 ; sgnet_writef+58p
.text:08049A28
.text:08049A28                         var_14          = dword ptr -14h
.text:08049A28                         var_10          = dword ptr -10h
.text:08049A28                         var_C           = dword ptr -0Ch
.text:08049A28                         fd              = dword ptr  8
.text:08049A28                         arg_4           = dword ptr  0Ch
.text:08049A28                         arg_8           = dword ptr  10h
.text:08049A28
.text:08049A28 55                                      push    ebp
.text:08049A29 89 E5                                   mov     ebp, esp
.text:08049A2B 83 EC 28                                sub     esp, 28h
.text:08049A2E C7 45 F0 00 00 00 00                    mov     [ebp+var_10], 0
.text:08049A35 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:08049A3C 8B 45 0C                                mov     eax, [ebp+arg_4]
.text:08049A3F 89 45 EC                                mov     [ebp+var_14], eax
.text:08049A42 83 7D 08 00                             cmp     [ebp+fd], 0
.text:08049A46 78 54                                   js      short loc_8049A9C
.text:08049A48 83 7D EC 00                             cmp     [ebp+var_14], 0
.text:08049A4C 74 4E                                   jz      short loc_8049A9C
.text:08049A4E 83 7D 10 00                             cmp     [ebp+arg_8], 0
.text:08049A52 74 48                                   jz      short loc_8049A9C
.text:08049A54 C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:08049A5B EB 37                                   jmp     short loc_8049A94
.text:08049A5D                         ; ---------------------------------------------------------------------------
.text:08049A5D
.text:08049A5D                         loc_8049A5D:                            ; CODE XREF: sgnet_writen+72j
.text:08049A5D 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049A60 8B 55 10                                mov     edx, [ebp+arg_8]
.text:08049A63 29 C2                                   sub     edx, eax
.text:08049A65 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049A68 8B 4D EC                                mov     ecx, [ebp+var_14]
.text:08049A6B 01 C8                                   add     eax, ecx
.text:08049A6D 89 54 24 08                             mov     [esp+8], edx    ; n
.text:08049A71 89 44 24 04                             mov     [esp+4], eax    ; buf
.text:08049A75 8B 45 08                                mov     eax, [ebp+fd]
.text:08049A78 89 04 24                                mov     [esp], eax      ; fd
.text:08049A7B E8 70 F0 FF FF                          call    _write
.text:08049A80 89 45 F0                                mov     [ebp+var_10], eax
.text:08049A83 83 7D F0 00                             cmp     [ebp+var_10], 0
.text:08049A87 7F 05                                   jg      short loc_8049A8E
.text:08049A89 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049A8C EB 11                                   jmp     short locret_8049A9F
.text:08049A8E                         ; ---------------------------------------------------------------------------
.text:08049A8E
.text:08049A8E                         loc_8049A8E:                            ; CODE XREF: sgnet_writen+5Fj
.text:08049A8E 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049A91 01 45 F4                                add     [ebp+var_C], eax
.text:08049A94
.text:08049A94                         loc_8049A94:                            ; CODE XREF: sgnet_writen+33j
.text:08049A94 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049A97 3B 45 10                                cmp     eax, [ebp+arg_8]
.text:08049A9A 72 C1                                   jb      short loc_8049A5D
.text:08049A9C
.text:08049A9C                         loc_8049A9C:                            ; CODE XREF: sgnet_writen+1Ej
.text:08049A9C                                                                 ; sgnet_writen+24j ...
.text:08049A9C 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049A9F
.text:08049A9F                         locret_8049A9F:                         ; CODE XREF: sgnet_writen+64j
.text:08049A9F C9                                      leave
.text:08049AA0 C3                                      retn
.text:08049AA0                         sgnet_writen    endp
.text:08049AA0
.text:08049AA1
.text:08049AA1                         ; =============== S U B R O U T I N E =======================================
.text:08049AA1
.text:08049AA1                         ; Attributes: bp-based frame
.text:08049AA1
.text:08049AA1                         ; int __cdecl sgnet_writef(int fd, char *, char)
.text:08049AA1                                         public sgnet_writef
.text:08049AA1                         sgnet_writef    proc near
.text:08049AA1
.text:08049AA1                         s               = dword ptr -14h
.text:08049AA1                         var_10          = dword ptr -10h
.text:08049AA1                         var_C           = dword ptr -0Ch
.text:08049AA1                         fd              = dword ptr  8
.text:08049AA1                         arg_4           = dword ptr  0Ch
.text:08049AA1                         arg_8           = byte ptr  10h
.text:08049AA1
.text:08049AA1 55                                      push    ebp
.text:08049AA2 89 E5                                   mov     ebp, esp
.text:08049AA4 83 EC 28                                sub     esp, 28h
.text:08049AA7 C7 45 EC 00 00 00 00                    mov     [ebp+s], 0
.text:08049AAE C7 45 F4 00 00 00 00                    mov     [ebp+var_C], 0
.text:08049AB5 8D 45 10                                lea     eax, [ebp+arg_8]
.text:08049AB8 89 45 F0                                mov     [ebp+var_10], eax
.text:08049ABB 8B 45 F0                                mov     eax, [ebp+var_10]
.text:08049ABE 89 44 24 08                             mov     [esp+8], eax    ; va_list
.text:08049AC2 8B 45 0C                                mov     eax, [ebp+arg_4]
.text:08049AC5 89 44 24 04                             mov     [esp+4], eax    ; char *
.text:08049AC9 8D 45 EC                                lea     eax, [ebp+s]
.text:08049ACC 89 04 24                                mov     [esp], eax      ; char **
.text:08049ACF E8 2C F0 FF FF                          call    _vasprintf
.text:08049AD4 89 45 F4                                mov     [ebp+var_C], eax
.text:08049AD7 83 7D F4 00                             cmp     [ebp+var_C], 0
.text:08049ADB 78 26                                   js      short loc_8049B03
.text:08049ADD 8B 45 EC                                mov     eax, [ebp+s]
.text:08049AE0 89 04 24                                mov     [esp], eax      ; s
.text:08049AE3 E8 E8 EF FF FF                          call    _strlen
.text:08049AE8 8B 55 EC                                mov     edx, [ebp+s]
.text:08049AEB 89 44 24 08                             mov     [esp+8], eax    ; int
.text:08049AEF 89 54 24 04                             mov     [esp+4], edx    ; int
.text:08049AF3 8B 45 08                                mov     eax, [ebp+fd]
.text:08049AF6 89 04 24                                mov     [esp], eax      ; fd
.text:08049AF9 E8 2A FF FF FF                          call    sgnet_writen
.text:08049AFE 89 45 F4                                mov     [ebp+var_C], eax
.text:08049B01 EB 01                                   jmp     short loc_8049B04
.text:08049B03                         ; ---------------------------------------------------------------------------
.text:08049B03
.text:08049B03                         loc_8049B03:                            ; CODE XREF: sgnet_writef+3Aj
.text:08049B03 90                                      nop
.text:08049B04
.text:08049B04                         loc_8049B04:                            ; CODE XREF: sgnet_writef+60j
.text:08049B04 8B 45 EC                                mov     eax, [ebp+s]
.text:08049B07 89 04 24                                mov     [esp], eax      ; ptr
.text:08049B0A E8 A1 EE FF FF                          call    _free
.text:08049B0F 8B 45 F4                                mov     eax, [ebp+var_C]
.text:08049B12 C9                                      leave
.text:08049B13 C3                                      retn
.text:08049B13                         sgnet_writef    endp
.text:08049B13
.text:08049B13                         ; ---------------------------------------------------------------------------
.text:08049B14 90 90 90 90 90 90 90 90+                align 10h
.text:08049B20
.text:08049B20                         ; =============== S U B R O U T I N E =======================================
.text:08049B20
.text:08049B20                         ; Attributes: bp-based frame
.text:08049B20
.text:08049B20                         ; void _libc_csu_fini(void)
.text:08049B20                                         public __libc_csu_fini
.text:08049B20                         __libc_csu_fini proc near               ; DATA XREF: _start+Bo
.text:08049B20 55                                      push    ebp
.text:08049B21 89 E5                                   mov     ebp, esp
.text:08049B23 5D                                      pop     ebp
.text:08049B24 C3                                      retn
.text:08049B24                         __libc_csu_fini endp
.text:08049B24
.text:08049B24                         ; ---------------------------------------------------------------------------
.text:08049B25 8D 74 26 00 8D BC 27 00+                align 10h
.text:08049B30
.text:08049B30                         ; =============== S U B R O U T I N E =======================================
.text:08049B30
.text:08049B30                         ; Attributes: bp-based frame
.text:08049B30
.text:08049B30                         ; void _libc_csu_init(void)
.text:08049B30                                         public __libc_csu_init
.text:08049B30                         __libc_csu_init proc near               ; DATA XREF: _start+10o
.text:08049B30
.text:08049B30                         arg_0           = dword ptr  8
.text:08049B30                         arg_4           = dword ptr  0Ch
.text:08049B30                         arg_8           = dword ptr  10h
.text:08049B30
.text:08049B30 55                                      push    ebp
.text:08049B31 89 E5                                   mov     ebp, esp
.text:08049B33 57                                      push    edi
.text:08049B34 56                                      push    esi
.text:08049B35 53                                      push    ebx
.text:08049B36 E8 4F 00 00 00                          call    __i686_get_pc_thunk_bx
.text:08049B3B 81 C3 D1 16 00 00                       add     ebx, 16D1h
.text:08049B41 83 EC 1C                                sub     esp, 1Ch
.text:08049B44 E8 CF ED FF FF                          call    _init_proc
.text:08049B49 8D BB 04 FF FF FF                       lea     edi, (__do_global_dtors_aux_fini_array_entry - 804B20Ch)[ebx]
.text:08049B4F 8D 83 00 FF FF FF                       lea     eax, (__frame_dummy_init_array_entry - 804B20Ch)[ebx]
.text:08049B55 29 C7                                   sub     edi, eax
.text:08049B57 C1 FF 02                                sar     edi, 2
.text:08049B5A 85 FF                                   test    edi, edi
.text:08049B5C 74 24                                   jz      short loc_8049B82
.text:08049B5E 31 F6                                   xor     esi, esi
.text:08049B60
.text:08049B60                         loc_8049B60:                            ; CODE XREF: __libc_csu_init+50j
.text:08049B60 8B 45 10                                mov     eax, [ebp+arg_8]
.text:08049B63 89 44 24 08                             mov     [esp+8], eax
.text:08049B67 8B 45 0C                                mov     eax, [ebp+arg_4]
.text:08049B6A 89 44 24 04                             mov     [esp+4], eax
.text:08049B6E 8B 45 08                                mov     eax, [ebp+arg_0]
.text:08049B71 89 04 24                                mov     [esp], eax
.text:08049B74 FF 94 B3 00 FF FF FF                    call    ds:(__frame_dummy_init_array_entry - 804B20Ch)[ebx+esi*4]
.text:08049B7B 83 C6 01                                add     esi, 1
.text:08049B7E 39 FE                                   cmp     esi, edi
.text:08049B80 72 DE                                   jb      short loc_8049B60
.text:08049B82
.text:08049B82                         loc_8049B82:                            ; CODE XREF: __libc_csu_init+2Cj
.text:08049B82 83 C4 1C                                add     esp, 1Ch
.text:08049B85 5B                                      pop     ebx
.text:08049B86 5E                                      pop     esi
.text:08049B87 5F                                      pop     edi
.text:08049B88 5D                                      pop     ebp
.text:08049B89 C3                                      retn
.text:08049B89                         __libc_csu_init endp
.text:08049B89
.text:08049B8A
.text:08049B8A                         ; =============== S U B R O U T I N E =======================================
.text:08049B8A
.text:08049B8A
.text:08049B8A                                         public __i686_get_pc_thunk_bx
.text:08049B8A                         __i686_get_pc_thunk_bx proc near        ; CODE XREF: __libc_csu_init+6p
.text:08049B8A 8B 1C 24                                mov     ebx, [esp+0]
.text:08049B8D C3                                      retn
.text:08049B8D                         __i686_get_pc_thunk_bx endp
.text:08049B8D
.text:08049B8D                         ; ---------------------------------------------------------------------------
.text:08049B8E 90 90                                   align 10h
.text:08049B8E                         _text           ends
.text:08049B8E
.fini:08049B90                         ; ===========================================================================
.fini:08049B90
.fini:08049B90                         ; Segment type: Pure code
.fini:08049B90                         ; Segment permissions: Read/Execute
.fini:08049B90                         _fini           segment dword public 'CODE' use32
.fini:08049B90                                         assume cs:_fini
.fini:08049B90                                         ;org 8049B90h
.fini:08049B90                                         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.fini:08049B90
.fini:08049B90                         ; =============== S U B R O U T I N E =======================================
.fini:08049B90
.fini:08049B90                         ; Attributes: bp-based frame
.fini:08049B90
.fini:08049B90                                         public _term_proc
.fini:08049B90                         _term_proc      proc near
.fini:08049B90 55                                      push    ebp             ; _fini
.fini:08049B91 89 E5                                   mov     ebp, esp
.fini:08049B93 53                                      push    ebx
.fini:08049B94 83 EC 04                                sub     esp, 4
.fini:08049B97 E8 00 00 00 00                          call    $+5
.fini:08049B9C 5B                                      pop     ebx
.fini:08049B9D 81 C3 70 16 00 00                       add     ebx, 1670h
.fini:08049BA3 59                                      pop     ecx
.fini:08049BA4 5B                                      pop     ebx
.fini:08049BA5 C9                                      leave
.fini:08049BA6 C3                                      retn
.fini:08049BA6                         _term_proc      endp
.fini:08049BA6
.fini:08049BA6                         _fini           ends
.fini:08049BA6
.rodata:08049BA8                         ; ===========================================================================
.rodata:08049BA8
.rodata:08049BA8                         ; Segment type: Pure data
.rodata:08049BA8                         ; Segment permissions: Read
.rodata:08049BA8                         _rodata         segment dword public 'CONST' use32
.rodata:08049BA8                                         assume cs:_rodata
.rodata:08049BA8                                         ;org 8049BA8h
.rodata:08049BA8                                         public _fp_hw
.rodata:08049BA8 03                      _fp_hw          db    3
.rodata:08049BA9 00                                      db    0
.rodata:08049BAA 00                                      db    0
.rodata:08049BAB 00                                      db    0
.rodata:08049BAC                                         public _IO_stdin_used
.rodata:08049BAC 01                      _IO_stdin_used  db    1
.rodata:08049BAD 00                                      db    0
.rodata:08049BAE 02                                      db    2
.rodata:08049BAF 00                                      db    0
.rodata:08049BB0 6E 6F 62 6F 64 79 00    aNobody         db 'nobody',0           ; DATA XREF: .data:USERo
.rodata:08049BB7 00                                      align 4
.rodata:08049BB8                                         public PORT
.rodata:08049BB8 92 10                   PORT            dw 1092h                ; DATA XREF: main+15r
.rodata:08049BBA 00 00                                   align 4
.rodata:08049BBC 0A 57 65 6C 63 6F 6D 65+aWelcomeToTheSu db 0Ah                  ; DATA XREF: child_main+24o
.rodata:08049BBC 20 74 6F 20 74 68 65 20+                db 'Welcome to the SuperGnome Server Status Center!',0Ah,0
.rodata:08049BEE 00 00                                   align 10h
.rodata:08049BF0 50 6C 65 61 73 65 20 65+aPleaseEnterOne db 'Please enter one of the following options:',0Ah
.rodata:08049BF0 6E 74 65 72 20 6F 6E 65+                                        ; DATA XREF: child_main+3Fo
.rodata:08049BF0 20 6F 66 20 74 68 65 20+                db 0Ah,0
.rodata:08049C1D 31 20 2D 20 41 6E 61 6C+a1AnalyzeHardDi db '1 - Analyze hard disk usage',0Ah,0
.rodata:08049C1D 79 7A 65 20 68 61 72 64+                                        ; DATA XREF: child_main+5Ao
.rodata:08049C3A 32 20 2D 20 4C 69 73 74+a2ListOpenTcpSo db '2 - List open TCP sockets',0Ah,0
.rodata:08049C3A 20 6F 70 65 6E 20 54 43+                                        ; DATA XREF: child_main+75o
.rodata:08049C55 33 20 2D 20 43 68 65 63+a3CheckLoggedIn db '3 - Check logged in users',0Ah,0
.rodata:08049C55 6B 20 6C 6F 67 67 65 64+                                        ; DATA XREF: child_main+90o
.rodata:08049C70                         ; char modes[]
.rodata:08049C70 72 00                   modes           db 'r',0                ; DATA XREF: child_main:loc_8048DC0o
.rodata:08049C70                                                                 ; child_main:loc_8048E33o ...
.rodata:08049C72                         ; char command[]
.rodata:08049C72 2F 62 69 6E 2F 64 66 00 command         db '/bin/df',0          ; DATA XREF: child_main+10Co
.rodata:08049C7A                         ; char s[]
.rodata:08049C7A 46 61 69 6C 65 64 20 74+s               db 'Failed to run command',0
.rodata:08049C7A 6F 20 72 75 6E 20 63 6F+                                        ; DATA XREF: child_main+121o
.rodata:08049C7A 6D 6D 61 6E 64 00                                               ; child_main+194o ...
.rodata:08049C90                         ; char aBinNetstatTan[]
.rodata:08049C90 2F 62 69 6E 2F 6E 65 74+aBinNetstatTan  db '/bin/netstat -tan',0
.rodata:08049C90 73 74 61 74 20 2D 74 61+                                        ; DATA XREF: child_main+17Fo
.rodata:08049CA2                         ; char aUsrBinWho[]
.rodata:08049CA2 2F 75 73 72 2F 62 69 6E+aUsrBinWho      db '/usr/bin/who',0     ; DATA XREF: child_main+1F2o
.rodata:08049CAF 0A 0A 48 00             asc_8049CAF     db 0Ah                  ; DATA XREF: child_main+265o
.rodata:08049CAF                                         db 0Ah
.rodata:08049CAF                                         db 'H',0
.rodata:08049CB3 69 00                   aI              db 'i',0                ; DATA XREF: child_main+28Co
.rodata:08049CB5 64 00                   aD              db 'd',0                ; DATA XREF: child_main+2B3o
.rodata:08049CB5                                                                 ; child_main+2DAo ...
.rodata:08049CB7 65 00                   aE              db 'e',0                ; DATA XREF: child_main+301o
.rodata:08049CB7                                                                 ; child_main+4D5o ...
.rodata:08049CB9 6E 00                   aN              db 'n',0                ; DATA XREF: child_main+328o
.rodata:08049CB9                                                                 ; child_main+439o
.rodata:08049CBB 20 00                   asc_8049CBB     db ' ',0                ; DATA XREF: child_main+34Fo
.rodata:08049CBB                                                                 ; child_main+487o
.rodata:08049CBD 63 00                   aC              db 'c',0                ; DATA XREF: child_main+376o
.rodata:08049CBD                                                                 ; child_main+54Ao
.rodata:08049CBF 6F 00                   aO              db 'o',0                ; DATA XREF: child_main+39Do
.rodata:08049CC1 6D 00                   aM              db 'm',0                ; DATA XREF: child_main+3C4o
.rodata:08049CC1                                                                 ; child_main+3EBo
.rodata:08049CC3 61 00                   aA              db 'a',0                ; DATA XREF: child_main+412o
.rodata:08049CC5 74 00                   aT              db 't',0                ; DATA XREF: child_main+4FCo
.rodata:08049CC5                                                                 ; child_main+571o
.rodata:08049CC7 21 0A 0A 00             asc_8049CC7     db '!',0Ah              ; DATA XREF: child_main+5E6o
.rodata:08049CC7                                         db 0Ah,0
.rodata:08049CCB 00                                      align 4
.rodata:08049CCC 45 6E 74 65 72 20 61 20+aEnterAShortMes db 'Enter a short message to share with GnomeNet (please allow 10 sec'
.rodata:08049CCC 73 68 6F 72 74 20 6D 65+                                        ; DATA XREF: child_main+60Do
.rodata:08049CCC 73 73 61 67 65 20 74 6F+                db 'onds) => ',0
.rodata:08049D17                         ; char aRequestComplet[]
.rodata:08049D17 0A 52 65 71 75 65 73 74+aRequestComplet db 0Ah                  ; DATA XREF: child_main+638o
.rodata:08049D17 20 43 6F 6D 70 6C 65 74+                db 'Request Completed!',0Ah
.rodata:08049D17 65 64 21 0A 0A 00                       db 0Ah,0
.rodata:08049D2D 49 6E 76 61 6C 69 64 20+aInvalidChoice  db 'Invalid choice!',0Ah,0
.rodata:08049D2D 63 68 6F 69 63 65 21 0A+                                        ; DATA XREF: child_main+655o
.rodata:08049D3E                         ; char aCanaryNotRepai[]
.rodata:08049D3E 43 61 6E 61 72 79 20 6E+aCanaryNotRepai db 'Canary not repaired.',0
.rodata:08049D3E 6F 74 20 72 65 70 61 69+                                        ; DATA XREF: sgnet_exit+6o
.rodata:08049D53 0A 54 68 69 73 20 66 75+aThisFunctionIs db 0Ah                  ; DATA XREF: sgstatd+18o
.rodata:08049D53 6E 63 74 69 6F 6E 20 69+                db 'This function is protected!',0Ah,0
.rodata:08049D71                         ; char aServerStarted_[]
.rodata:08049D71 53 65 72 76 65 72 20 73+aServerStarted_ db 'Server started...',0
.rodata:08049D71 74 61 72 74 65 64 2E 2E+                                        ; DATA XREF: main+9o
.rodata:08049D83 00                                      align 4
.rodata:08049D84                         ; int domain
.rodata:08049D84 02 00 00 00             domain          dd 2                    ; DATA XREF: sgnet_listen+4Ar
.rodata:08049D84                                                                 ; sgnet_listen+74r ...
.rodata:08049D88                         ; char format[]
.rodata:08049D88 55 6E 61 62 6C 65 20 74+format          db 'Unable to set SIGCHLD handler',0
.rodata:08049D88 6F 20 73 65 74 20 53 49+                                        ; DATA XREF: sgnet_listen+2Do
.rodata:08049DA6                         ; char aUnableToCreate[]
.rodata:08049DA6 55 6E 61 62 6C 65 20 74+aUnableToCreate db 'Unable to create socket',0
.rodata:08049DA6 6F 20 63 72 65 61 74 65+                                        ; DATA XREF: sgnet_listen+E7o
.rodata:08049DBE 00 00                                   align 10h
.rodata:08049DC0                         ; char aUnableToSetSoc[]
.rodata:08049DC0 55 6E 61 62 6C 65 20 74+aUnableToSetSoc db 'Unable to set socket reuse option',0
.rodata:08049DC0 6F 20 73 65 74 20 73 6F+                                        ; DATA XREF: sgnet_listen+131o
.rodata:08049DE2                         ; char aUnableToBindSo[]
.rodata:08049DE2 55 6E 61 62 6C 65 20 74+aUnableToBindSo db 'Unable to bind socket',0
.rodata:08049DE2 6F 20 62 69 6E 64 20 73+                                        ; DATA XREF: sgnet_listen+18Do
.rodata:08049DE2 6F 63 6B 65 74 00                                               ; sgnet_listen+24Fo
.rodata:08049DF8                         ; char aUnableToListen[]
.rodata:08049DF8 55 6E 61 62 6C 65 20 74+aUnableToListen db 'Unable to listen on socket',0
.rodata:08049DF8 6F 20 6C 69 73 74 65 6E+                                        ; DATA XREF: sgnet_listen+28Ao
.rodata:08049E13                         ; char aUnableToFindUs[]
.rodata:08049E13 55 6E 61 62 6C 65 20 74+aUnableToFindUs db 'Unable to find user',0
.rodata:08049E13 6F 20 66 69 6E 64 20 75+                                        ; DATA XREF: sgnet_privdrop+1Ao
.rodata:08049E27                         ; char path[]
.rodata:08049E27 2F 76 61 72 2F 72 75 6E+path            db '/var/run/sgstatd',0 ; DATA XREF: sgnet_privdrop:loc_80497AEo
.rodata:08049E38                         ; char aUnableToChange[]
.rodata:08049E38 55 6E 61 62 6C 65 20 74+aUnableToChange db 'Unable to change directory to /var/run/sgstatd',0
.rodata:08049E38 6F 20 63 68 61 6E 67 65+                                        ; DATA XREF: sgnet_privdrop+3Eo
.rodata:08049E67                         ; char aUnableToRemove[]
.rodata:08049E67 55 6E 61 62 6C 65 20 74+aUnableToRemove db 'Unable to remove extra groups',0
.rodata:08049E67 6F 20 72 65 6D 6F 76 65+                                        ; DATA XREF: sgnet_privdrop+6Ao
.rodata:08049E85                         ; char aUnableToChan_0[]
.rodata:08049E85 55 6E 61 62 6C 65 20 74+aUnableToChan_0 db 'Unable to change GID',0
.rodata:08049E85 6F 20 63 68 61 6E 67 65+                                        ; DATA XREF: sgnet_privdrop+90o
.rodata:08049E9A                         ; char aUnableToChan_1[]
.rodata:08049E9A 55 6E 61 62 6C 65 20 74+aUnableToChan_1 db 'Unable to change UID',0
.rodata:08049E9A 6F 20 63 68 61 6E 67 65+                                        ; DATA XREF: sgnet_privdrop+B6o
.rodata:08049EAF                         ; char file[]
.rodata:08049EAF 2F 64 65 76 2F 75 72 61+file            db '/dev/urandom',0     ; DATA XREF: sgnet_randfd+16o
.rodata:08049EAF 6E 64 6F 6D 00          _rodata         ends
.rodata:08049EAF
.eh_frame_hdr:08049EBC                         ; ===========================================================================
.eh_frame_hdr:08049EBC
.eh_frame_hdr:08049EBC                         ; Segment type: Pure data
.eh_frame_hdr:08049EBC                         ; Segment permissions: Read
.eh_frame_hdr:08049EBC                         _eh_frame_hdr   segment dword public 'CONST' use32
.eh_frame_hdr:08049EBC                                         assume cs:_eh_frame_hdr
.eh_frame_hdr:08049EBC                                         ;org 8049EBCh
.eh_frame_hdr:08049EBC 01                                      db    1
.eh_frame_hdr:08049EBD 1B                                      db  1Bh
.eh_frame_hdr:08049EBE 03                                      db    3
.eh_frame_hdr:08049EBF 3B                                      db  3Bh ; ;
.eh_frame_hdr:08049EC0 78                                      db  78h ; x
.eh_frame_hdr:08049EC1 00                                      db    0
.eh_frame_hdr:08049EC2 00                                      db    0
.eh_frame_hdr:08049EC3 00                                      db    0
.eh_frame_hdr:08049EC4 0E                                      db  0Eh                 ; Nombre de structures à suivre probablement...
.eh_frame_hdr:08049EC5 00                                      db    0
.eh_frame_hdr:08049EC6 00                                      db    0
.eh_frame_hdr:08049EC7 00                                      db    0
.eh_frame_hdr:08049EC8 84                                      db  84h ; ä             ; 132
.eh_frame_hdr:08049EC9 EA                                      db 0EAh ; Û             ; 234
.eh_frame_hdr:08049ECA FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049ECB FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049ECC 94                                      db  94h ; ö             ; 148
.eh_frame_hdr:08049ECD 00                                      db    0
.eh_frame_hdr:08049ECE 00                                      db    0
.eh_frame_hdr:08049ECF 00                                      db    0
.eh_frame_hdr:08049ED0 00                                      db    0
.eh_frame_hdr:08049ED1 EE                                      db 0EEh ; ¯             ; 238
.eh_frame_hdr:08049ED2 FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049ED3 FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049ED4 B8                                      db 0B8h ; ©             ; 184
.eh_frame_hdr:08049ED5 00                                      db    0
.eh_frame_hdr:08049ED6 00                                      db    0
.eh_frame_hdr:08049ED7 00                                      db    0
.eh_frame_hdr:08049ED8 83                                      db  83h ; â             ; 131
.eh_frame_hdr:08049ED9 F4                                      db 0F4h ; ¶             ; 244
.eh_frame_hdr:08049EDA FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049EDB FF                                      db 0FFh                 ; 255
.eh_frame_hdr:08049EDC D8                                      db 0D8h ; Ï             ; 216
.eh_frame_hdr:08049EDD 00                                      db    0
.eh_frame_hdr:08049EDE 00                                      db    0
.eh_frame_hdr:08049EDF 00                                      db    0
.eh_frame_hdr:08049EE0 A1                                      db 0A1h ; í
.eh_frame_hdr:08049EE1 F4                                      db 0F4h ; ¶
.eh_frame_hdr:08049EE2 FF                                      db 0FFh
.eh_frame_hdr:08049EE3 FF                                      db 0FFh
.eh_frame_hdr:08049EE4 F4                                      db 0F4h ; ¶
.eh_frame_hdr:08049EE5 00                                      db    0
.eh_frame_hdr:08049EE6 00                                      db    0
.eh_frame_hdr:08049EE7 00                                      db    0
.eh_frame_hdr:08049EE8 09                                      db    9
.eh_frame_hdr:08049EE9 F5                                      db 0F5h ; §
.eh_frame_hdr:08049EEA FF                                      db 0FFh
.eh_frame_hdr:08049EEB FF                                      db 0FFh
.eh_frame_hdr:08049EEC 14                                      db  14h
.eh_frame_hdr:08049EED 01                                      db    1
.eh_frame_hdr:08049EEE 00                                      db    0
.eh_frame_hdr:08049EEF 00                                      db    0
.eh_frame_hdr:08049EF0 64                                      db  64h ; d
.eh_frame_hdr:08049EF1 F5                                      db 0F5h ; §
.eh_frame_hdr:08049EF2 FF                                      db 0FFh
.eh_frame_hdr:08049EF3 FF                                      db 0FFh
.eh_frame_hdr:08049EF4 30                                      db  30h ; 0
.eh_frame_hdr:08049EF5 01                                      db    1
.eh_frame_hdr:08049EF6 00                                      db    0
.eh_frame_hdr:08049EF7 00                                      db    0
.eh_frame_hdr:08049EF8 07                                      db    7
.eh_frame_hdr:08049EF9 F8                                      db 0F8h ; °
.eh_frame_hdr:08049EFA FF                                      db 0FFh
.eh_frame_hdr:08049EFB FF                                      db 0FFh
.eh_frame_hdr:08049EFC 50                                      db  50h ; P
.eh_frame_hdr:08049EFD 01                                      db    1
.eh_frame_hdr:08049EFE 00                                      db    0
.eh_frame_hdr:08049EFF 00                                      db    0
.eh_frame_hdr:08049F00 C4                                      db 0C4h ; -
.eh_frame_hdr:08049F01 F8                                      db 0F8h ; °
.eh_frame_hdr:08049F02 FF                                      db 0FFh
.eh_frame_hdr:08049F03 FF                                      db 0FFh
.eh_frame_hdr:08049F04 6C                                      db  6Ch ; l
.eh_frame_hdr:08049F05 01                                      db    1
.eh_frame_hdr:08049F06 00                                      db    0
.eh_frame_hdr:08049F07 00                                      db    0
.eh_frame_hdr:08049F08 90                                      db  90h ; É
.eh_frame_hdr:08049F09 F9                                      db 0F9h ; ¨
.eh_frame_hdr:08049F0A FF                                      db 0FFh
.eh_frame_hdr:08049F0B FF                                      db 0FFh
.eh_frame_hdr:08049F0C 8C                                      db  8Ch ; î
.eh_frame_hdr:08049F0D 01                                      db    1
.eh_frame_hdr:08049F0E 00                                      db    0
.eh_frame_hdr:08049F0F 00                                      db    0
.eh_frame_hdr:08049F10 4F                                      db  4Fh ; O
.eh_frame_hdr:08049F11 FA                                      db 0FAh ; ·
.eh_frame_hdr:08049F12 FF                                      db 0FFh
.eh_frame_hdr:08049F13 FF                                      db 0FFh
.eh_frame_hdr:08049F14 AC                                      db 0ACh ; ¼
.eh_frame_hdr:08049F15 01                                      db    1
.eh_frame_hdr:08049F16 00                                      db    0
.eh_frame_hdr:08049F17 00                                      db    0
.eh_frame_hdr:08049F18 C6                                      db 0C6h ; ã
.eh_frame_hdr:08049F19 FA                                      db 0FAh ; ·
.eh_frame_hdr:08049F1A FF                                      db 0FFh
.eh_frame_hdr:08049F1B FF                                      db 0FFh
.eh_frame_hdr:08049F1C CC                                      db 0CCh ; ¦
.eh_frame_hdr:08049F1D 01                                      db    1
.eh_frame_hdr:08049F1E 00                                      db    0
.eh_frame_hdr:08049F1F 00                                      db    0
.eh_frame_hdr:08049F20 43                                      db  43h ; C
.eh_frame_hdr:08049F21 FB                                      db 0FBh ; ¹
.eh_frame_hdr:08049F22 FF                                      db 0FFh
.eh_frame_hdr:08049F23 FF                                      db 0FFh
.eh_frame_hdr:08049F24 EC                                      db 0ECh ; ý
.eh_frame_hdr:08049F25 01                                      db    1
.eh_frame_hdr:08049F26 00                                      db    0
.eh_frame_hdr:08049F27 00                                      db    0
.eh_frame_hdr:08049F28 6C                                      db  6Ch ; l
.eh_frame_hdr:08049F29 FB                                      db 0FBh ; ¹
.eh_frame_hdr:08049F2A FF                                      db 0FFh
.eh_frame_hdr:08049F2B FF                                      db 0FFh
.eh_frame_hdr:08049F2C 0C                                      db  0Ch
.eh_frame_hdr:08049F2D 02                                      db    2
.eh_frame_hdr:08049F2E 00                                      db    0
.eh_frame_hdr:08049F2F 00                                      db    0
.eh_frame_hdr:08049F30 E5                                      db 0E5h ; Õ
.eh_frame_hdr:08049F31 FB                                      db 0FBh ; ¹
.eh_frame_hdr:08049F32 FF                                      db 0FFh
.eh_frame_hdr:08049F33 FF                                      db 0FFh
.eh_frame_hdr:08049F34 2C                                      db  2Ch ; ,
.eh_frame_hdr:08049F35 02                                      db    2
.eh_frame_hdr:08049F36 00                                      db    0
.eh_frame_hdr:08049F37 00                                      db    0
.eh_frame_hdr:08049F37                         _eh_frame_hdr   ends
.eh_frame_hdr:08049F37
.eh_frame:08049F38                         ; ===========================================================================
.eh_frame:08049F38
.eh_frame:08049F38                         ; Segment type: Pure data
.eh_frame:08049F38                         ; Segment permissions: Read
.eh_frame:08049F38                         _eh_frame       segment dword public 'CONST' use32
.eh_frame:08049F38                                         assume cs:_eh_frame
.eh_frame:08049F38                                         ;org 8049F38h
.eh_frame:08049F38 14                                      db  14h
.eh_frame:08049F39 00                                      db    0
.eh_frame:08049F3A 00                                      db    0
.eh_frame:08049F3B 00                                      db    0
.eh_frame:08049F3C 00                                      db    0
.eh_frame:08049F3D 00                                      db    0
.eh_frame:08049F3E 00                                      db    0
.eh_frame:08049F3F 00                                      db    0
.eh_frame:08049F40 01                                      db    1
.eh_frame:08049F41 7A                                      db  7Ah ; z
.eh_frame:08049F42 52                                      db  52h ; R
.eh_frame:08049F43 00                                      db    0
.eh_frame:08049F44 01                                      db    1
.eh_frame:08049F45 7C                                      db  7Ch ; |
.eh_frame:08049F46 08                                      db    8
.eh_frame:08049F47 01                                      db    1
.eh_frame:08049F48 1B                                      db  1Bh
.eh_frame:08049F49 0C                                      db  0Ch
.eh_frame:08049F4A 04                                      db    4
.eh_frame:08049F4B 04                                      db    4
.eh_frame:08049F4C 88                                      db  88h ; ê
.eh_frame:08049F4D 01                                      db    1
.eh_frame:08049F4E 00                                      db    0
.eh_frame:08049F4F 00                                      db    0
.eh_frame:08049F50 20                                      db  20h
.eh_frame:08049F51 00                                      db    0
.eh_frame:08049F52 00                                      db    0
.eh_frame:08049F53 00                                      db    0
.eh_frame:08049F54 1C                                      db  1Ch
.eh_frame:08049F55 00                                      db    0
.eh_frame:08049F56 00                                      db    0
.eh_frame:08049F57 00                                      db    0
.eh_frame:08049F58 E8                                      db 0E8h ; Þ
.eh_frame:08049F59 E9                                      db 0E9h ; Ú
.eh_frame:08049F5A FF                                      db 0FFh
.eh_frame:08049F5B FF                                      db 0FFh
.eh_frame:08049F5C 90                                      db  90h ; É
.eh_frame:08049F5D 02                                      db    2
.eh_frame:08049F5E 00                                      db    0
.eh_frame:08049F5F 00                                      db    0
.eh_frame:08049F60 00                                      db    0
.eh_frame:08049F61 0E                                      db  0Eh
.eh_frame:08049F62 08                                      db    8
.eh_frame:08049F63 46                                      db  46h ; F
.eh_frame:08049F64 0E                                      db  0Eh
.eh_frame:08049F65 0C                                      db  0Ch
.eh_frame:08049F66 4A                                      db  4Ah ; J
.eh_frame:08049F67 0F                                      db  0Fh
.eh_frame:08049F68 0B                                      db  0Bh
.eh_frame:08049F69 74                                      db  74h ; t
.eh_frame:08049F6A 04                                      db    4
.eh_frame:08049F6B 78                                      db  78h ; x
.eh_frame:08049F6C 00                                      db    0
.eh_frame:08049F6D 3F                                      db  3Fh ; ?
.eh_frame:08049F6E 1A                                      db  1Ah
.eh_frame:08049F6F 3B                                      db  3Bh ; ;
.eh_frame:08049F70 2A                                      db  2Ah ; *
.eh_frame:08049F71 32                                      db  32h ; 2
.eh_frame:08049F72 24                                      db  24h ; $
.eh_frame:08049F73 22                                      db  22h ; "
.eh_frame:08049F74 1C                                      db  1Ch
.eh_frame:08049F75 00                                      db    0
.eh_frame:08049F76 00                                      db    0
.eh_frame:08049F77 00                                      db    0
.eh_frame:08049F78 40                                      db  40h ; @
.eh_frame:08049F79 00                                      db    0
.eh_frame:08049F7A 00                                      db    0
.eh_frame:08049F7B 00                                      db    0
.eh_frame:08049F7C 40                                      db  40h ; @
.eh_frame:08049F7D ED                                      db 0EDh ; Ý
.eh_frame:08049F7E FF                                      db 0FFh
.eh_frame:08049F7F FF                                      db 0FFh
.eh_frame:08049F80 83                                      db  83h ; â
.eh_frame:08049F81 06                                      db    6
.eh_frame:08049F82 00                                      db    0
.eh_frame:08049F83 00                                      db    0
.eh_frame:08049F84 00                                      db    0
.eh_frame:08049F85 41                                      db  41h ; A
.eh_frame:08049F86 0E                                      db  0Eh
.eh_frame:08049F87 08                                      db    8
.eh_frame:08049F88 85                                      db  85h ; à
.eh_frame:08049F89 02                                      db    2
.eh_frame:08049F8A 42                                      db  42h ; B
.eh_frame:08049F8B 0D                                      db  0Dh
.eh_frame:08049F8C 05                                      db    5
.eh_frame:08049F8D 03                                      db    3
.eh_frame:08049F8E 7F                                      db  7Fh ; 
.eh_frame:08049F8F 06                                      db    6
.eh_frame:08049F90 C5                                      db 0C5h ; +
.eh_frame:08049F91 0C                                      db  0Ch
.eh_frame:08049F92 04                                      db    4
.eh_frame:08049F93 04                                      db    4
.eh_frame:08049F94 18                                      db  18h
.eh_frame:08049F95 00                                      db    0
.eh_frame:08049F96 00                                      db    0
.eh_frame:08049F97 00                                      db    0
.eh_frame:08049F98 60                                      db  60h ; `
.eh_frame:08049F99 00                                      db    0
.eh_frame:08049F9A 00                                      db    0
.eh_frame:08049F9B 00                                      db    0
.eh_frame:08049F9C A3                                      db 0A3h ; ú
.eh_frame:08049F9D F3                                      db 0F3h ; ¾
.eh_frame:08049F9E FF                                      db 0FFh
.eh_frame:08049F9F FF                                      db 0FFh
.eh_frame:08049FA0 1E                                      db  1Eh
.eh_frame:08049FA1 00                                      db    0
.eh_frame:08049FA2 00                                      db    0
.eh_frame:08049FA3 00                                      db    0
.eh_frame:08049FA4 00                                      db    0
.eh_frame:08049FA5 41                                      db  41h ; A
.eh_frame:08049FA6 0E                                      db  0Eh
.eh_frame:08049FA7 08                                      db    8
.eh_frame:08049FA8 85                                      db  85h ; à
.eh_frame:08049FA9 02                                      db    2
.eh_frame:08049FAA 42                                      db  42h ; B
.eh_frame:08049FAB 0D                                      db  0Dh
.eh_frame:08049FAC 05                                      db    5
.eh_frame:08049FAD 00                                      db    0
.eh_frame:08049FAE 00                                      db    0
.eh_frame:08049FAF 00                                      db    0
.eh_frame:08049FB0 1C                                      db  1Ch
.eh_frame:08049FB1 00                                      db    0
.eh_frame:08049FB2 00                                      db    0
.eh_frame:08049FB3 00                                      db    0
.eh_frame:08049FB4 7C                                      db  7Ch ; |
.eh_frame:08049FB5 00                                      db    0
.eh_frame:08049FB6 00                                      db    0
.eh_frame:08049FB7 00                                      db    0
.eh_frame:08049FB8 A5                                      db 0A5h ; Ñ
.eh_frame:08049FB9 F3                                      db 0F3h ; ¾
.eh_frame:08049FBA FF                                      db 0FFh
.eh_frame:08049FBB FF                                      db 0FFh
.eh_frame:08049FBC 68                                      db  68h ; h
.eh_frame:08049FBD 00                                      db    0
.eh_frame:08049FBE 00                                      db    0
.eh_frame:08049FBF 00                                      db    0
.eh_frame:08049FC0 00                                      db    0
.eh_frame:08049FC1 41                                      db  41h ; A
.eh_frame:08049FC2 0E                                      db  0Eh
.eh_frame:08049FC3 08                                      db    8
.eh_frame:08049FC4 85                                      db  85h ; à
.eh_frame:08049FC5 02                                      db    2
.eh_frame:08049FC6 42                                      db  42h ; B
.eh_frame:08049FC7 0D                                      db  0Dh
.eh_frame:08049FC8 05                                      db    5
.eh_frame:08049FC9 02                                      db    2
.eh_frame:08049FCA 64                                      db  64h ; d
.eh_frame:08049FCB C5                                      db 0C5h ; +
.eh_frame:08049FCC 0C                                      db  0Ch
.eh_frame:08049FCD 04                                      db    4
.eh_frame:08049FCE 04                                      db    4
.eh_frame:08049FCF 00                                      db    0
.eh_frame:08049FD0 18                                      db  18h
.eh_frame:08049FD1 00                                      db    0
.eh_frame:08049FD2 00                                      db    0
.eh_frame:08049FD3 00                                      db    0
.eh_frame:08049FD4 9C                                      db  9Ch ; £
.eh_frame:08049FD5 00                                      db    0
.eh_frame:08049FD6 00                                      db    0
.eh_frame:08049FD7 00                                      db    0
.eh_frame:08049FD8 ED                                      db 0EDh ; Ý
.eh_frame:08049FD9 F3                                      db 0F3h ; ¾
.eh_frame:08049FDA FF                                      db 0FFh
.eh_frame:08049FDB FF                                      db 0FFh
.eh_frame:08049FDC 58                                      db  58h ; X
.eh_frame:08049FDD 00                                      db    0
.eh_frame:08049FDE 00                                      db    0
.eh_frame:08049FDF 00                                      db    0
.eh_frame:08049FE0 00                                      db    0
.eh_frame:08049FE1 41                                      db  41h ; A
.eh_frame:08049FE2 0E                                      db  0Eh
.eh_frame:08049FE3 08                                      db    8
.eh_frame:08049FE4 85                                      db  85h ; à
.eh_frame:08049FE5 02                                      db    2
.eh_frame:08049FE6 42                                      db  42h ; B
.eh_frame:08049FE7 0D                                      db  0Dh
.eh_frame:08049FE8 05                                      db    5
.eh_frame:08049FE9 00                                      db    0
.eh_frame:08049FEA 00                                      db    0
.eh_frame:08049FEB 00                                      db    0
.eh_frame:08049FEC 1C                                      db  1Ch
.eh_frame:08049FED 00                                      db    0
.eh_frame:08049FEE 00                                      db    0
.eh_frame:08049FEF 00                                      db    0
.eh_frame:08049FF0 B8                                      db 0B8h ; ©
.eh_frame:08049FF1 00                                      db    0
.eh_frame:08049FF2 00                                      db    0
.eh_frame:08049FF3 00                                      db    0
.eh_frame:08049FF4 2C                                      db  2Ch ; ,
.eh_frame:08049FF5 F4                                      db 0F4h ; ¶
.eh_frame:08049FF6 FF                                      db 0FFh
.eh_frame:08049FF7 FF                                      db 0FFh
.eh_frame:08049FF8 A3                                      db 0A3h ; ú
.eh_frame:08049FF9 02                                      db    2
.eh_frame:08049FFA 00                                      db    0
.eh_frame:08049FFB 00                                      db    0
.eh_frame:08049FFC 00                                      db    0
.eh_frame:08049FFD 41                                      db  41h ; A
.eh_frame:08049FFE 0E                                      db  0Eh
.eh_frame:08049FFF 08                                      db    8
.eh_frame:0804A000 85                                      db  85h ; à
.eh_frame:0804A001 02                                      db    2
.eh_frame:0804A002 42                                      db  42h ; B
.eh_frame:0804A003 0D                                      db  0Dh
.eh_frame:0804A004 05                                      db    5
.eh_frame:0804A005 03                                      db    3
.eh_frame:0804A006 9F                                      db  9Fh ; ƒ
.eh_frame:0804A007 02                                      db    2
.eh_frame:0804A008 C5                                      db 0C5h ; +
.eh_frame:0804A009 0C                                      db  0Ch
.eh_frame:0804A00A 04                                      db    4
.eh_frame:0804A00B 04                                      db    4
.eh_frame:0804A00C 18                                      db  18h
.eh_frame:0804A00D 00                                      db    0
.eh_frame:0804A00E 00                                      db    0
.eh_frame:0804A00F 00                                      db    0
.eh_frame:0804A010 D8                                      db 0D8h ; Ï
.eh_frame:0804A011 00                                      db    0
.eh_frame:0804A012 00                                      db    0
.eh_frame:0804A013 00                                      db    0
.eh_frame:0804A014 AF                                      db 0AFh ; »
.eh_frame:0804A015 F6                                      db 0F6h ; ÷
.eh_frame:0804A016 FF                                      db 0FFh
.eh_frame:0804A017 FF                                      db 0FFh
.eh_frame:0804A018 BD                                      db 0BDh ; ¢
.eh_frame:0804A019 00                                      db    0
.eh_frame:0804A01A 00                                      db    0
.eh_frame:0804A01B 00                                      db    0
.eh_frame:0804A01C 00                                      db    0
.eh_frame:0804A01D 41                                      db  41h ; A
.eh_frame:0804A01E 0E                                      db  0Eh
.eh_frame:0804A01F 08                                      db    8
.eh_frame:0804A020 85                                      db  85h ; à
.eh_frame:0804A021 02                                      db    2
.eh_frame:0804A022 42                                      db  42h ; B
.eh_frame:0804A023 0D                                      db  0Dh
.eh_frame:0804A024 05                                      db    5
.eh_frame:0804A025 00                                      db    0
.eh_frame:0804A026 00                                      db    0
.eh_frame:0804A027 00                                      db    0
.eh_frame:0804A028 1C                                      db  1Ch
.eh_frame:0804A029 00                                      db    0
.eh_frame:0804A02A 00                                      db    0
.eh_frame:0804A02B 00                                      db    0
.eh_frame:0804A02C F4                                      db 0F4h ; ¶
.eh_frame:0804A02D 00                                      db    0
.eh_frame:0804A02E 00                                      db    0
.eh_frame:0804A02F 00                                      db    0
.eh_frame:0804A030 50                                      db  50h ; P
.eh_frame:0804A031 F7                                      db 0F7h ; ¸
.eh_frame:0804A032 FF                                      db 0FFh
.eh_frame:0804A033 FF                                      db 0FFh
.eh_frame:0804A034 CC                                      db 0CCh ; ¦
.eh_frame:0804A035 00                                      db    0
.eh_frame:0804A036 00                                      db    0
.eh_frame:0804A037 00                                      db    0
.eh_frame:0804A038 00                                      db    0
.eh_frame:0804A039 41                                      db  41h ; A
.eh_frame:0804A03A 0E                                      db  0Eh
.eh_frame:0804A03B 08                                      db    8
.eh_frame:0804A03C 85                                      db  85h ; à
.eh_frame:0804A03D 02                                      db    2
.eh_frame:0804A03E 42                                      db  42h ; B
.eh_frame:0804A03F 0D                                      db  0Dh
.eh_frame:0804A040 05                                      db    5
.eh_frame:0804A041 02                                      db    2
.eh_frame:0804A042 C8                                      db 0C8h ; +
.eh_frame:0804A043 C5                                      db 0C5h ; +
.eh_frame:0804A044 0C                                      db  0Ch
.eh_frame:0804A045 04                                      db    4
.eh_frame:0804A046 04                                      db    4
.eh_frame:0804A047 00                                      db    0
.eh_frame:0804A048 1C                                      db  1Ch
.eh_frame:0804A049 00                                      db    0
.eh_frame:0804A04A 00                                      db    0
.eh_frame:0804A04B 00                                      db    0
.eh_frame:0804A04C 14                                      db  14h
.eh_frame:0804A04D 01                                      db    1
.eh_frame:0804A04E 00                                      db    0
.eh_frame:0804A04F 00                                      db    0
.eh_frame:0804A050 FC                                      db 0FCh ; ³
.eh_frame:0804A051 F7                                      db 0F7h ; ¸
.eh_frame:0804A052 FF                                      db 0FFh
.eh_frame:0804A053 FF                                      db 0FFh
.eh_frame:0804A054 BF                                      db 0BFh ; +
.eh_frame:0804A055 00                                      db    0
.eh_frame:0804A056 00                                      db    0
.eh_frame:0804A057 00                                      db    0
.eh_frame:0804A058 00                                      db    0
.eh_frame:0804A059 41                                      db  41h ; A
.eh_frame:0804A05A 0E                                      db  0Eh
.eh_frame:0804A05B 08                                      db    8
.eh_frame:0804A05C 85                                      db  85h ; à
.eh_frame:0804A05D 02                                      db    2
.eh_frame:0804A05E 42                                      db  42h ; B
.eh_frame:0804A05F 0D                                      db  0Dh
.eh_frame:0804A060 05                                      db    5
.eh_frame:0804A061 02                                      db    2
.eh_frame:0804A062 BB                                      db 0BBh ; +
.eh_frame:0804A063 C5                                      db 0C5h ; +
.eh_frame:0804A064 0C                                      db  0Ch
.eh_frame:0804A065 04                                      db    4
.eh_frame:0804A066 04                                      db    4
.eh_frame:0804A067 00                                      db    0
.eh_frame:0804A068 1C                                      db  1Ch
.eh_frame:0804A069 00                                      db    0
.eh_frame:0804A06A 00                                      db    0
.eh_frame:0804A06B 00                                      db    0
.eh_frame:0804A06C 34                                      db  34h ; 4
.eh_frame:0804A06D 01                                      db    1
.eh_frame:0804A06E 00                                      db    0
.eh_frame:0804A06F 00                                      db    0
.eh_frame:0804A070 9B                                      db  9Bh ; ø
.eh_frame:0804A071 F8                                      db 0F8h ; °
.eh_frame:0804A072 FF                                      db 0FFh
.eh_frame:0804A073 FF                                      db 0FFh
.eh_frame:0804A074 77                                      db  77h ; w
.eh_frame:0804A075 00                                      db    0
.eh_frame:0804A076 00                                      db    0
.eh_frame:0804A077 00                                      db    0
.eh_frame:0804A078 00                                      db    0
.eh_frame:0804A079 41                                      db  41h ; A
.eh_frame:0804A07A 0E                                      db  0Eh
.eh_frame:0804A07B 08                                      db    8
.eh_frame:0804A07C 85                                      db  85h ; à
.eh_frame:0804A07D 02                                      db    2
.eh_frame:0804A07E 42                                      db  42h ; B
.eh_frame:0804A07F 0D                                      db  0Dh
.eh_frame:0804A080 05                                      db    5
.eh_frame:0804A081 02                                      db    2
.eh_frame:0804A082 73                                      db  73h ; s
.eh_frame:0804A083 C5                                      db 0C5h ; +
.eh_frame:0804A084 0C                                      db  0Ch
.eh_frame:0804A085 04                                      db    4
.eh_frame:0804A086 04                                      db    4
.eh_frame:0804A087 00                                      db    0
.eh_frame:0804A088 1C                                      db  1Ch
.eh_frame:0804A089 00                                      db    0
.eh_frame:0804A08A 00                                      db    0
.eh_frame:0804A08B 00                                      db    0
.eh_frame:0804A08C 54                                      db  54h ; T
.eh_frame:0804A08D 01                                      db    1
.eh_frame:0804A08E 00                                      db    0
.eh_frame:0804A08F 00                                      db    0
.eh_frame:0804A090 F2                                      db 0F2h ; =
.eh_frame:0804A091 F8                                      db 0F8h ; °
.eh_frame:0804A092 FF                                      db 0FFh
.eh_frame:0804A093 FF                                      db 0FFh
.eh_frame:0804A094 7D                                      db  7Dh ; }
.eh_frame:0804A095 00                                      db    0
.eh_frame:0804A096 00                                      db    0
.eh_frame:0804A097 00                                      db    0
.eh_frame:0804A098 00                                      db    0
.eh_frame:0804A099 41                                      db  41h ; A
.eh_frame:0804A09A 0E                                      db  0Eh
.eh_frame:0804A09B 08                                      db    8
.eh_frame:0804A09C 85                                      db  85h ; à
.eh_frame:0804A09D 02                                      db    2
.eh_frame:0804A09E 42                                      db  42h ; B
.eh_frame:0804A09F 0D                                      db  0Dh
.eh_frame:0804A0A0 05                                      db    5
.eh_frame:0804A0A1 02                                      db    2
.eh_frame:0804A0A2 79                                      db  79h ; y
.eh_frame:0804A0A3 C5                                      db 0C5h ; +
.eh_frame:0804A0A4 0C                                      db  0Ch
.eh_frame:0804A0A5 04                                      db    4
.eh_frame:0804A0A6 04                                      db    4
.eh_frame:0804A0A7 00                                      db    0
.eh_frame:0804A0A8 1C                                      db  1Ch
.eh_frame:0804A0A9 00                                      db    0
.eh_frame:0804A0AA 00                                      db    0
.eh_frame:0804A0AB 00                                      db    0
.eh_frame:0804A0AC 74                                      db  74h ; t
.eh_frame:0804A0AD 01                                      db    1
.eh_frame:0804A0AE 00                                      db    0
.eh_frame:0804A0AF 00                                      db    0
.eh_frame:0804A0B0 4F                                      db  4Fh ; O
.eh_frame:0804A0B1 F9                                      db 0F9h ; ¨
.eh_frame:0804A0B2 FF                                      db 0FFh
.eh_frame:0804A0B3 FF                                      db 0FFh
.eh_frame:0804A0B4 29                                      db  29h ; )
.eh_frame:0804A0B5 00                                      db    0
.eh_frame:0804A0B6 00                                      db    0
.eh_frame:0804A0B7 00                                      db    0
.eh_frame:0804A0B8 00                                      db    0
.eh_frame:0804A0B9 41                                      db  41h ; A
.eh_frame:0804A0BA 0E                                      db  0Eh
.eh_frame:0804A0BB 08                                      db    8
.eh_frame:0804A0BC 85                                      db  85h ; à
.eh_frame:0804A0BD 02                                      db    2
.eh_frame:0804A0BE 42                                      db  42h ; B
.eh_frame:0804A0BF 0D                                      db  0Dh
.eh_frame:0804A0C0 05                                      db    5
.eh_frame:0804A0C1 65                                      db  65h ; e
.eh_frame:0804A0C2 C5                                      db 0C5h ; +
.eh_frame:0804A0C3 0C                                      db  0Ch
.eh_frame:0804A0C4 04                                      db    4
.eh_frame:0804A0C5 04                                      db    4
.eh_frame:0804A0C6 00                                      db    0
.eh_frame:0804A0C7 00                                      db    0
.eh_frame:0804A0C8 1C                                      db  1Ch
.eh_frame:0804A0C9 00                                      db    0
.eh_frame:0804A0CA 00                                      db    0
.eh_frame:0804A0CB 00                                      db    0
.eh_frame:0804A0CC 94                                      db  94h ; ö
.eh_frame:0804A0CD 01                                      db    1
.eh_frame:0804A0CE 00                                      db    0
.eh_frame:0804A0CF 00                                      db    0
.eh_frame:0804A0D0 58                                      db  58h ; X
.eh_frame:0804A0D1 F9                                      db 0F9h ; ¨
.eh_frame:0804A0D2 FF                                      db 0FFh
.eh_frame:0804A0D3 FF                                      db 0FFh
.eh_frame:0804A0D4 79                                      db  79h ; y
.eh_frame:0804A0D5 00                                      db    0
.eh_frame:0804A0D6 00                                      db    0
.eh_frame:0804A0D7 00                                      db    0
.eh_frame:0804A0D8 00                                      db    0
.eh_frame:0804A0D9 41                                      db  41h ; A
.eh_frame:0804A0DA 0E                                      db  0Eh
.eh_frame:0804A0DB 08                                      db    8
.eh_frame:0804A0DC 85                                      db  85h ; à
.eh_frame:0804A0DD 02                                      db    2
.eh_frame:0804A0DE 42                                      db  42h ; B
.eh_frame:0804A0DF 0D                                      db  0Dh
.eh_frame:0804A0E0 05                                      db    5
.eh_frame:0804A0E1 02                                      db    2
.eh_frame:0804A0E2 75                                      db  75h ; u
.eh_frame:0804A0E3 C5                                      db 0C5h ; +
.eh_frame:0804A0E4 0C                                      db  0Ch
.eh_frame:0804A0E5 04                                      db    4
.eh_frame:0804A0E6 04                                      db    4
.eh_frame:0804A0E7 00                                      db    0
.eh_frame:0804A0E8 1C                                      db  1Ch
.eh_frame:0804A0E9 00                                      db    0
.eh_frame:0804A0EA 00                                      db    0
.eh_frame:0804A0EB 00                                      db    0
.eh_frame:0804A0EC B4                                      db 0B4h ; ¦
.eh_frame:0804A0ED 01                                      db    1
.eh_frame:0804A0EE 00                                      db    0
.eh_frame:0804A0EF 00                                      db    0
.eh_frame:0804A0F0 B1                                      db 0B1h ; ¦
.eh_frame:0804A0F1 F9                                      db 0F9h ; ¨
.eh_frame:0804A0F2 FF                                      db 0FFh
.eh_frame:0804A0F3 FF                                      db 0FFh
.eh_frame:0804A0F4 73                                      db  73h ; s
.eh_frame:0804A0F5 00                                      db    0
.eh_frame:0804A0F6 00                                      db    0
.eh_frame:0804A0F7 00                                      db    0
.eh_frame:0804A0F8 00                                      db    0
.eh_frame:0804A0F9 41                                      db  41h ; A
.eh_frame:0804A0FA 0E                                      db  0Eh
.eh_frame:0804A0FB 08                                      db    8
.eh_frame:0804A0FC 85                                      db  85h ; à
.eh_frame:0804A0FD 02                                      db    2
.eh_frame:0804A0FE 42                                      db  42h ; B
.eh_frame:0804A0FF 0D                                      db  0Dh
.eh_frame:0804A100 05                                      db    5
.eh_frame:0804A101 02                                      db    2
.eh_frame:0804A102 6F                                      db  6Fh ; o
.eh_frame:0804A103 C5                                      db 0C5h ; +
.eh_frame:0804A104 0C                                      db  0Ch
.eh_frame:0804A105 04                                      db    4
.eh_frame:0804A106 04                                      db    4
.eh_frame:0804A107 00                                      db    0
.eh_frame:0804A108 00                      __FRAME_END__   db    0
.eh_frame:0804A109 00                                      db    0
.eh_frame:0804A10A 00                                      db    0
.eh_frame:0804A10B 00                                      db    0
.eh_frame:0804A10B                         _eh_frame       ends
.eh_frame:0804A10B
.init_array:0804B10C                         ; ===========================================================================
.init_array:0804B10C
.init_array:0804B10C                         ; Segment type: Pure data
.init_array:0804B10C                         ; Segment permissions: Read/Write
.init_array:0804B10C                         _init_array     segment dword public 'DATA' use32
.init_array:0804B10C                                         assume cs:_init_array
.init_array:0804B10C                                         ;org 804B10Ch
.init_array:0804B10C 90 8C 04 08             __frame_dummy_init_array_entry dd offset frame_dummy
.init_array:0804B10C                                                                 ; DATA XREF: __libc_csu_init+1Fo
.init_array:0804B10C                                                                 ; __libc_csu_init+44r
.init_array:0804B10C                         _init_array     ends                    ; Alternative name is '__init_array_start'
.init_array:0804B10C
.fini_array:0804B110                         ; ===========================================================================
.fini_array:0804B110
.fini_array:0804B110                         ; Segment type: Pure data
.fini_array:0804B110                         ; Segment permissions: Read/Write
.fini_array:0804B110                         _fini_array     segment dword public 'DATA' use32
.fini_array:0804B110                                         assume cs:_fini_array
.fini_array:0804B110                                         ;org 804B110h
.fini_array:0804B110 70 8C 04 08             __do_global_dtors_aux_fini_array_entry dd offset __do_global_dtors_aux
.fini_array:0804B110                                                                 ; DATA XREF: __libc_csu_init+19o
.fini_array:0804B110                         _fini_array     ends                    ; Alternative name is '__init_array_end'
.fini_array:0804B110
.jcr:0804B114                         ; ===========================================================================
.jcr:0804B114
.jcr:0804B114                         ; Segment type: Pure data
.jcr:0804B114                         ; Segment permissions: Read/Write
.jcr:0804B114                         _jcr            segment dword public 'DATA' use32
.jcr:0804B114                                         assume cs:_jcr
.jcr:0804B114                                         ;org 804B114h
.jcr:0804B114 00 00 00 00             __JCR_LIST__    dd 0                    ; DATA XREF: frame_dummyr
.jcr:0804B114                                                                 ; frame_dummy+18o
.jcr:0804B114                         _jcr            ends
.jcr:0804B114
.got:0804B208                         ; ===========================================================================
.got:0804B208
.got:0804B208                         ; Segment type: Pure data
.got:0804B208                         ; Segment permissions: Read/Write
.got:0804B208                         _got            segment dword public 'DATA' use32
.got:0804B208                                         assume cs:_got
.got:0804B208                                         ;org 804B208h
.got:0804B208 44 B4 04 08             __gmon_start___ptr dd offset __gmon_start__
.got:0804B208                                                                 ; DATA XREF: _init_proc+13r
.got:0804B208                         _got            ends
.got:0804B208
.got.plt:0804B20C                         ; ===========================================================================
.got.plt:0804B20C
.got.plt:0804B20C                         ; Segment type: Pure data
.got.plt:0804B20C                         ; Segment permissions: Read/Write
.got.plt:0804B20C                         _got_plt        segment dword public 'DATA' use32
.got.plt:0804B20C                                         assume cs:_got_plt
.got.plt:0804B20C                                         ;org 804B20Ch
.got.plt:0804B20C ??                      _GLOBAL_OFFSET_TABLE_ db    ? ;
.got.plt:0804B20D ??                                      db    ? ;
.got.plt:0804B20E ??                                      db    ? ;
.got.plt:0804B20F ??                                      db    ? ;
.got.plt:0804B210 ??                                      db    ? ;
.got.plt:0804B211 ??                                      db    ? ;
.got.plt:0804B212 ??                                      db    ? ;
.got.plt:0804B213 ??                                      db    ? ;
.got.plt:0804B214 ??                                      db    ? ;
.got.plt:0804B215 ??                                      db    ? ;
.got.plt:0804B216 ??                                      db    ? ;
.got.plt:0804B217 ??                                      db    ? ;
.got.plt:0804B218 A4 B3 04 08             off_804B218     dd offset setsockopt    ; DATA XREF: _setsockoptr
.got.plt:0804B21C A8 B3 04 08             off_804B21C     dd offset getpwnam      ; DATA XREF: _getpwnamr
.got.plt:0804B220 AC B3 04 08             off_804B220     dd offset dup2          ; DATA XREF: _dup2r
.got.plt:0804B224 B0 B3 04 08             off_804B224     dd offset strcmp        ; DATA XREF: _strcmpr
.got.plt:0804B228 B4 B3 04 08             off_804B228     dd offset read          ; DATA XREF: _readr
.got.plt:0804B22C B8 B3 04 08             off_804B22C     dd offset fflush        ; DATA XREF: _fflushr
.got.plt:0804B230 BC B3 04 08             off_804B230     dd offset free          ; DATA XREF: _freer
.got.plt:0804B234 C0 B3 04 08             off_804B234     dd offset fgets         ; DATA XREF: _fgetsr
.got.plt:0804B238 C4 B3 04 08             off_804B238     dd offset time          ; DATA XREF: _timer
.got.plt:0804B23C C8 B3 04 08             off_804B23C     dd offset signal        ; DATA XREF: _signalr
.got.plt:0804B240 CC B3 04 08             off_804B240     dd offset chdir         ; DATA XREF: _chdirr
.got.plt:0804B244 D0 B3 04 08             off_804B244     dd offset alarm         ; DATA XREF: _alarmr
.got.plt:0804B248 D4 B3 04 08             off_804B248     dd offset popen         ; DATA XREF: _popenr
.got.plt:0804B24C D8 B3 04 08             off_804B24C     dd offset htons         ; DATA XREF: _htonsr
.got.plt:0804B250 DC B3 04 08             off_804B250     dd offset setgroups     ; DATA XREF: _setgroupsr
.got.plt:0804B254 E0 B3 04 08             off_804B254     dd offset accept        ; DATA XREF: _acceptr
.got.plt:0804B258 E4 B3 04 08             off_804B258     dd offset usleep        ; DATA XREF: _usleepr
.got.plt:0804B25C E8 B3 04 08             off_804B25C     dd offset setgid        ; DATA XREF: _setgidr
.got.plt:0804B260 EC B3 04 08             off_804B260     dd offset puts          ; DATA XREF: _putsr
.got.plt:0804B264 F0 B3 04 08             off_804B264     dd offset getdtablesize ; DATA XREF: _getdtablesizer
.got.plt:0804B268 44 B4 04 08             off_804B268     dd offset __gmon_start__
.got.plt:0804B268                                                                 ; DATA XREF: ___gmon_start__r
.got.plt:0804B26C F4 B3 04 08             off_804B26C     dd offset exit          ; DATA XREF: _exitr
.got.plt:0804B270 F8 B3 04 08             off_804B270     dd offset open          ; DATA XREF: _openr
.got.plt:0804B274 FC B3 04 08             off_804B274     dd offset srand         ; DATA XREF: _srandr
.got.plt:0804B278 00 B4 04 08             off_804B278     dd offset strlen        ; DATA XREF: _strlenr
.got.plt:0804B27C 04 B4 04 08             off_804B27C     dd offset __libc_start_main
.got.plt:0804B27C                                                                 ; DATA XREF: ___libc_start_mainr
.got.plt:0804B280 08 B4 04 08             off_804B280     dd offset write         ; DATA XREF: _writer
.got.plt:0804B284 0C B4 04 08             off_804B284     dd offset vasprintf     ; DATA XREF: _vasprintfr
.got.plt:0804B288 10 B4 04 08             off_804B288     dd offset bind          ; DATA XREF: _bindr
.got.plt:0804B28C 14 B4 04 08             off_804B28C     dd offset getifaddrs    ; DATA XREF: _getifaddrsr
.got.plt:0804B290 18 B4 04 08             off_804B290     dd offset rand          ; DATA XREF: _randr
.got.plt:0804B294 1C B4 04 08             off_804B294     dd offset freeifaddrs   ; DATA XREF: _freeifaddrsr
.got.plt:0804B298 20 B4 04 08             off_804B298     dd offset fork          ; DATA XREF: _forkr
.got.plt:0804B29C 24 B4 04 08             off_804B29C     dd offset errx          ; DATA XREF: _errxr
.got.plt:0804B2A0 28 B4 04 08             off_804B2A0     dd offset listen        ; DATA XREF: _listenr
.got.plt:0804B2A4 2C B4 04 08             off_804B2A4     dd offset setuid        ; DATA XREF: _setuidr
.got.plt:0804B2A8 30 B4 04 08             off_804B2A8     dd offset socket        ; DATA XREF: _socketr
.got.plt:0804B2AC 34 B4 04 08             off_804B2AC     dd offset shutdown      ; DATA XREF: _shutdownr
.got.plt:0804B2B0 38 B4 04 08             off_804B2B0     dd offset recv          ; DATA XREF: _recvr
.got.plt:0804B2B4 3C B4 04 08             off_804B2B4     dd offset close         ; DATA XREF: _closer
.got.plt:0804B2B4                         _got_plt        ends
.got.plt:0804B2B4
.data:0804B2B8                         ; ===========================================================================
.data:0804B2B8
.data:0804B2B8                         ; Segment type: Pure data
.data:0804B2B8                         ; Segment permissions: Read/Write
.data:0804B2B8                         _data           segment dword public 'DATA' use32
.data:0804B2B8                                         assume cs:_data
.data:0804B2B8                                         ;org 804B2B8h
.data:0804B2B8                                         public __data_start ; weak
.data:0804B2B8 00                      __data_start    db    0                 ; Alternative name is '__data_start'
.data:0804B2B8                                                                 ; data_start
.data:0804B2B9 00                                      db    0
.data:0804B2BA 00                                      db    0
.data:0804B2BB 00                                      db    0
.data:0804B2BC                                         public __dso_handle
.data:0804B2BC 00                      __dso_handle    db    0
.data:0804B2BD 00                                      db    0
.data:0804B2BE 00                                      db    0
.data:0804B2BF 00                                      db    0
.data:0804B2C0                                         public USER
.data:0804B2C0                         ; char *USER
.data:0804B2C0 B0 9B 04 08             USER            dd offset aNobody       ; DATA XREF: main+3Br
.data:0804B2C0                         _data           ends                    ; "nobody"
.data:0804B2C0
.bss:0804B2E0                         ; ===========================================================================
.bss:0804B2E0
.bss:0804B2E0                         ; Segment type: Uninitialized
.bss:0804B2E0                         ; Segment permissions: Read/Write
.bss:0804B2E0                         ; Segment alignment '32byte' can not be represented in assembly
.bss:0804B2E0                         _bss            segment para public 'BSS' use32
.bss:0804B2E0                                         assume cs:_bss
.bss:0804B2E0                                         ;org 804B2E0h
.bss:0804B2E0                                         assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
.bss:0804B2E0                                         public stdin@@GLIBC_2_0
.bss:0804B2E0                         ; FILE *stdin
.bss:0804B2E0 ?? ?? ?? ??             stdin@@GLIBC_2_0 dd ?                   ; DATA XREF: child_main+620r
.bss:0804B2E0                                                                 ; sgstatd+2Br
.bss:0804B2E0                                                                 ; Alternative name is 'stdin'
.bss:0804B2E0                                                                 ; Copy of shared data
.bss:0804B2E4 ?? ?? ?? ?? ?? ?? ?? ??+                align 20h
.bss:0804B300                                         public stdout@@GLIBC_2_0
.bss:0804B300                         ; FILE *stdout
.bss:0804B300 ?? ?? ?? ??             stdout@@GLIBC_2_0 dd ?                  ; DATA XREF: child_main+A3r
.bss:0804B300                                                                 ; Alternative name is 'stdout'
.bss:0804B300                                                                 ; Copy of shared data
.bss:0804B304 ??                      completed_5730  db ?                    ; DATA XREF: __do_global_dtors_auxr
.bss:0804B304                                                                 ; __do_global_dtors_aux+14w
.bss:0804B305 ?? ?? ??                                align 4
.bss:0804B305                         _bss            ends
.bss:0804B305
extern:0804B308                         ; ===========================================================================
extern:0804B308
extern:0804B308                         ; Segment type: Externs
extern:0804B308                         ; extern
extern:0804B308 00 00 00 00                             extrn setsockopt@@GLIBC_2_0:near
extern:0804B30C 00 00 00 00                             extrn getpwnam@@GLIBC_2_0:near
extern:0804B310 00 00 00 00                             extrn dup2@@GLIBC_2_0:near
extern:0804B314 00 00 00 00                             extrn strcmp@@GLIBC_2_0:near
extern:0804B318 00 00 00 00                             extrn read@@GLIBC_2_0:near
extern:0804B31C 00 00 00 00                             extrn fflush@@GLIBC_2_0:near
extern:0804B320 00 00 00 00                             extrn free@@GLIBC_2_0:near
extern:0804B324 00 00 00 00                             extrn fgets@@GLIBC_2_0:near
extern:0804B328 00 00 00 00                             extrn time@@GLIBC_2_0:near
extern:0804B32C 00 00 00 00                             extrn signal@@GLIBC_2_0:near
extern:0804B330 00 00 00 00                             extrn chdir@@GLIBC_2_0:near
extern:0804B334 00 00 00 00                             extrn alarm@@GLIBC_2_0:near
extern:0804B338 00 00 00 00                             extrn popen@@GLIBC_2_1:near
extern:0804B33C 00 00 00 00                             extrn htons@@GLIBC_2_0:near
extern:0804B340 00 00 00 00                             extrn setgroups@@GLIBC_2_0:near
extern:0804B344 00 00 00 00                             extrn accept@@GLIBC_2_0:near
extern:0804B348 00 00 00 00                             extrn usleep@@GLIBC_2_0:near
extern:0804B34C 00 00 00 00                             extrn setgid@@GLIBC_2_0:near
extern:0804B350 00 00 00 00                             extrn puts@@GLIBC_2_0:near
extern:0804B354 00 00 00 00                             extrn getdtablesize@@GLIBC_2_0:near
extern:0804B358 00 00 00 00                             extrn exit@@GLIBC_2_0:near
extern:0804B35C 00 00 00 00                             extrn open@@GLIBC_2_0:near
extern:0804B360 00 00 00 00                             extrn srand@@GLIBC_2_0:near
extern:0804B364 00 00 00 00                             extrn strlen@@GLIBC_2_0:near
extern:0804B368 00 00 00 00                             extrn __libc_start_main@@GLIBC_2_0:near
extern:0804B36C 00 00 00 00                             extrn write@@GLIBC_2_0:near
extern:0804B370 00 00 00 00                             extrn vasprintf@@GLIBC_2_0:near
extern:0804B374 00 00 00 00                             extrn bind@@GLIBC_2_0:near
extern:0804B378 00 00 00 00                             extrn getifaddrs@@GLIBC_2_3:near
extern:0804B37C 00 00 00 00                             extrn rand@@GLIBC_2_0:near
extern:0804B380 00 00 00 00                             extrn freeifaddrs@@GLIBC_2_3:near
extern:0804B384 00 00 00 00                             extrn fork@@GLIBC_2_0:near
extern:0804B388 00 00 00 00                             extrn errx@@GLIBC_2_0:near
extern:0804B38C 00 00 00 00                             extrn listen@@GLIBC_2_0:near
extern:0804B390 00 00 00 00                             extrn setuid@@GLIBC_2_0:near
extern:0804B394 00 00 00 00                             extrn socket@@GLIBC_2_0:near
extern:0804B398 00 00 00 00                             extrn shutdown@@GLIBC_2_0:near
extern:0804B39C 00 00 00 00                             extrn recv@@GLIBC_2_0:near
extern:0804B3A0 00 00 00 00                             extrn close@@GLIBC_2_0:near
extern:0804B3A4                         ; int setsockopt(int fd, int level, int optname, const void *optval, socklen_t optlen)
extern:0804B3A4 00 00 00 00                             extrn setsockopt:near   ; CODE XREF: _setsockoptj
extern:0804B3A4                                                                 ; DATA XREF: .got.plt:off_804B218o
extern:0804B3A8                         ; struct passwd *getpwnam(const char *name)
extern:0804B3A8 00 00 00 00                             extrn getpwnam:near     ; CODE XREF: _getpwnamj
extern:0804B3A8                                                                 ; DATA XREF: .got.plt:off_804B21Co
extern:0804B3AC                         ; int dup2(int fd, int fd2)
extern:0804B3AC 00 00 00 00                             extrn dup2:near         ; CODE XREF: _dup2j
extern:0804B3AC                                                                 ; DATA XREF: .got.plt:off_804B220o
extern:0804B3B0                         ; int strcmp(const char *s1, const char *s2)
extern:0804B3B0 00 00 00 00                             extrn strcmp:near       ; CODE XREF: _strcmpj
extern:0804B3B0                                                                 ; DATA XREF: .got.plt:off_804B224o
extern:0804B3B4                         ; ssize_t read(int fd, void *buf, size_t nbytes)
extern:0804B3B4 00 00 00 00                             extrn read:near         ; CODE XREF: _readj
extern:0804B3B4                                                                 ; DATA XREF: .got.plt:off_804B228o
extern:0804B3B8                         ; int fflush(FILE *stream)
extern:0804B3B8 00 00 00 00                             extrn fflush:near       ; CODE XREF: _fflushj
extern:0804B3B8                                                                 ; DATA XREF: .got.plt:off_804B22Co
extern:0804B3BC                         ; void free(void *ptr)
extern:0804B3BC 00 00 00 00                             extrn free:near         ; CODE XREF: _freej
extern:0804B3BC                                                                 ; DATA XREF: .got.plt:off_804B230o
extern:0804B3C0                         ; char *fgets(char *s, int n, FILE *stream)
extern:0804B3C0 00 00 00 00                             extrn fgets:near        ; CODE XREF: _fgetsj
extern:0804B3C0                                                                 ; DATA XREF: .got.plt:off_804B234o
extern:0804B3C4                         ; time_t time(time_t *timer)
extern:0804B3C4 00 00 00 00                             extrn time:near         ; CODE XREF: _timej
extern:0804B3C4                                                                 ; DATA XREF: .got.plt:off_804B238o
extern:0804B3C8                         ; __sighandler_t signal(int sig, __sighandler_t handler)
extern:0804B3C8 00 00 00 00                             extrn signal:near       ; CODE XREF: _signalj
extern:0804B3C8                                                                 ; DATA XREF: .got.plt:off_804B23Co
extern:0804B3CC                         ; int chdir(const char *path)
extern:0804B3CC 00 00 00 00                             extrn chdir:near        ; CODE XREF: _chdirj
extern:0804B3CC                                                                 ; DATA XREF: .got.plt:off_804B240o
extern:0804B3D0                         ; unsigned int alarm(unsigned int seconds)
extern:0804B3D0 00 00 00 00                             extrn alarm:near        ; CODE XREF: _alarmj
extern:0804B3D0                                                                 ; DATA XREF: .got.plt:off_804B244o
extern:0804B3D4                         ; FILE *popen(const char *command, const char *modes)
extern:0804B3D4 00 00 00 00                             extrn popen:near        ; CODE XREF: _popenj
extern:0804B3D4                                                                 ; DATA XREF: .got.plt:off_804B248o
extern:0804B3D8                         ; uint16_t htons(uint16_t hostshort)
extern:0804B3D8 00 00 00 00                             extrn htons:near        ; CODE XREF: _htonsj
extern:0804B3D8                                                                 ; DATA XREF: .got.plt:off_804B24Co
extern:0804B3DC                         ; int setgroups(size_t n, const __gid_t *groups)
extern:0804B3DC 00 00 00 00                             extrn setgroups:near    ; CODE XREF: _setgroupsj
extern:0804B3DC                                                                 ; DATA XREF: .got.plt:off_804B250o
extern:0804B3E0                         ; int accept(int fd, struct sockaddr *addr, socklen_t *addr_len)
extern:0804B3E0 00 00 00 00                             extrn accept:near       ; CODE XREF: _acceptj
extern:0804B3E0                                                                 ; DATA XREF: .got.plt:off_804B254o
extern:0804B3E4                         ; int usleep(__useconds_t useconds)
extern:0804B3E4 00 00 00 00                             extrn usleep:near       ; CODE XREF: _usleepj
extern:0804B3E4                                                                 ; DATA XREF: .got.plt:off_804B258o
extern:0804B3E8                         ; int setgid(__gid_t gid)
extern:0804B3E8 00 00 00 00                             extrn setgid:near       ; CODE XREF: _setgidj
extern:0804B3E8                                                                 ; DATA XREF: .got.plt:off_804B25Co
extern:0804B3EC                         ; int puts(const char *s)
extern:0804B3EC 00 00 00 00                             extrn puts:near         ; CODE XREF: _putsj
extern:0804B3EC                                                                 ; DATA XREF: .got.plt:off_804B260o
extern:0804B3F0                         ; int getdtablesize(void)
extern:0804B3F0 00 00 00 00                             extrn getdtablesize:near
extern:0804B3F0                                                                 ; CODE XREF: _getdtablesizej
extern:0804B3F0                                                                 ; DATA XREF: .got.plt:off_804B264o
extern:0804B3F4                         ; void exit(int status)
extern:0804B3F4 00 00 00 00                             extrn exit:near         ; CODE XREF: _exitj
extern:0804B3F4                                                                 ; DATA XREF: .got.plt:off_804B26Co
extern:0804B3F8                         ; int open(const char *file, int oflag, ...)
extern:0804B3F8 00 00 00 00                             extrn open:near         ; CODE XREF: _openj
extern:0804B3F8                                                                 ; DATA XREF: .got.plt:off_804B270o
extern:0804B3FC                         ; void srand(unsigned int seed)
extern:0804B3FC 00 00 00 00                             extrn srand:near        ; CODE XREF: _srandj
extern:0804B3FC                                                                 ; DATA XREF: .got.plt:off_804B274o
extern:0804B400                         ; size_t strlen(const char *s)
extern:0804B400 00 00 00 00                             extrn strlen:near       ; CODE XREF: _strlenj
extern:0804B400                                                                 ; DATA XREF: .got.plt:off_804B278o
extern:0804B404                         ; int __cdecl _libc_start_main(int (__cdecl *main)(int, char **, char **), int argc, char **ubp_av, void (*init)(void), void (*fini)(void), void (*rtld_fini)(void), void *stack_end)
extern:0804B404 00 00 00 00                             extrn __libc_start_main:near
extern:0804B404                                                                 ; CODE XREF: ___libc_start_mainj
extern:0804B404                                                                 ; DATA XREF: .got.plt:off_804B27Co
extern:0804B408                         ; ssize_t write(int fd, const void *buf, size_t n)
extern:0804B408 00 00 00 00                             extrn write:near        ; CODE XREF: _writej
extern:0804B408                                                                 ; DATA XREF: .got.plt:off_804B280o
extern:0804B40C                         ; int vasprintf(char **, const char *, va_list)
extern:0804B40C 00 00 00 00                             extrn vasprintf:near    ; CODE XREF: _vasprintfj
extern:0804B40C                                                                 ; DATA XREF: .got.plt:off_804B284o
extern:0804B410                         ; int bind(int fd, const struct sockaddr *addr, socklen_t len)
extern:0804B410 00 00 00 00                             extrn bind:near         ; CODE XREF: _bindj
extern:0804B410                                                                 ; DATA XREF: .got.plt:off_804B288o
extern:0804B414                         ; int getifaddrs(struct ifaddrs **ifap)
extern:0804B414 00 00 00 00                             extrn getifaddrs:near   ; CODE XREF: _getifaddrsj
extern:0804B414                                                                 ; DATA XREF: .got.plt:off_804B28Co
extern:0804B418                         ; int rand(void)
extern:0804B418 00 00 00 00                             extrn rand:near         ; CODE XREF: _randj
extern:0804B418                                                                 ; DATA XREF: .got.plt:off_804B290o
extern:0804B41C                         ; void freeifaddrs(struct ifaddrs *ifa)
extern:0804B41C 00 00 00 00                             extrn freeifaddrs:near  ; CODE XREF: _freeifaddrsj
extern:0804B41C                                                                 ; DATA XREF: .got.plt:off_804B294o
extern:0804B420                         ; __pid_t fork(void)
extern:0804B420 00 00 00 00                             extrn fork:near         ; CODE XREF: _forkj
extern:0804B420                                                                 ; DATA XREF: .got.plt:off_804B298o
extern:0804B424                         ; void errx(int status, const char *format, ...)
extern:0804B424 00 00 00 00                             extrn errx:near         ; CODE XREF: _errxj
extern:0804B424                                                                 ; DATA XREF: .got.plt:off_804B29Co
extern:0804B428                         ; int listen(int fd, int n)
extern:0804B428 00 00 00 00                             extrn listen:near       ; CODE XREF: _listenj
extern:0804B428                                                                 ; DATA XREF: .got.plt:off_804B2A0o
extern:0804B42C                         ; int setuid(__uid_t uid)
extern:0804B42C 00 00 00 00                             extrn setuid:near       ; CODE XREF: _setuidj
extern:0804B42C                                                                 ; DATA XREF: .got.plt:off_804B2A4o
extern:0804B430                         ; int socket(int domain, int type, int protocol)
extern:0804B430 00 00 00 00                             extrn socket:near       ; CODE XREF: _socketj
extern:0804B430                                                                 ; DATA XREF: .got.plt:off_804B2A8o
extern:0804B434                         ; int shutdown(int fd, int how)
extern:0804B434 00 00 00 00                             extrn shutdown:near     ; CODE XREF: _shutdownj
extern:0804B434                                                                 ; DATA XREF: .got.plt:off_804B2ACo
extern:0804B438                         ; ssize_t recv(int fd, void *buf, size_t n, int flags)
extern:0804B438 00 00 00 00                             extrn recv:near         ; CODE XREF: _recvj
extern:0804B438                                                                 ; DATA XREF: .got.plt:off_804B2B0o
extern:0804B43C                         ; int close(int fd)
extern:0804B43C 00 00 00 00                             extrn close:near        ; CODE XREF: _closej
extern:0804B43C                                                                 ; DATA XREF: .got.plt:off_804B2B4o
extern:0804B440 00                                      extrn _ITM_deregisterTMCloneTable ; weak
extern:0804B444 00 00 00 00                             extrn __gmon_start__:near ; weak
extern:0804B444                                                                 ; CODE XREF: ___gmon_start__j
extern:0804B444                                                                 ; DATA XREF: .got:__gmon_start___ptro ...
extern:0804B448 00                                      extrn _Jv_RegisterClasses ; weak
extern:0804B44C 00                                      extrn _ITM_registerTMCloneTable ; weak
extern:0804B44C
abs:0804B5A0                         ; ===========================================================================
abs:0804B5A0
abs:0804B5A0                         ; Segment type: Absolute symbols
abs:0804B5A0                         ; abs
abs:0804B5A0                                         public _edata
abs:0804B5A0                         _edata          = 804B2C4h
abs:0804B5A4                                         public _end
abs:0804B5A4                         _end            = 804B308h
abs:0804B5A8                                         public __bss_start
abs:0804B5A8                         __bss_start     = 804B2C4h
abs:0804B5A8
abs:0804B5A8
abs:0804B5A8                                         end _start