Function at 0x44ca52
Capabilities:
Check for time delay via gettickcount
Create directory
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Get socket status
Read .ini file
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e360
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x55f4
call fcn.00465440
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x559c], ecx
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
mov ecx, 0x4afa18
call fcn.00423a32
test eax, eax
jne 0x44caa0
xor eax, eax
jmp 0x44e3c0
mov ecx, dword [ebp + 8]
add ecx, 4
mov dword [ebp - 0x3164], ecx
mov dl, byte [0x4b0450]
mov byte [ebp - 0x101c], dl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x101b]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3374], 0
mov byte [ebp - 0x101c], 1
mov dword [ebp - 0x3374], 0xf
push 8
lea eax, [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x101b]
push ecx
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
test eax, eax
jne 0x44cb11
xor eax, eax
jmp 0x44e3c0
push 4
lea ecx, [ebp - 0x1014]
push ecx
lea edx, [ebp - 0x3370]
push edx
call fcn.004659b0
add esp, 0xc
mov eax, dword [ebp - 0x3370]
mov dword [ebp - 0x3374], eax
push 8
lea ecx, [ebp - 0x3374]
push ecx
lea edx, [ebp - 0x100c]
push edx
mov eax, dword [ebp - 0x3164]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
test eax, eax
jne 0x44cb64
xor eax, eax
jmp 0x44e3c0
push 4
lea edx, [ebp - 0x100c]
push edx
lea eax, [ebp - 0x112c]
push eax
call fcn.004659b0
add esp, 0xc
push 4
lea ecx, [ebp - 0xffc]
push ecx
lea edx, [ebp - 0x336c]
push edx
call fcn.004659b0
add esp, 0xc
push 4
lea eax, [ebp - 0xff8]
push eax
lea ecx, [ebp - 0x3160]
push ecx
call fcn.004659b0
add esp, 0xc
lea edx, [ebp - 0xfe8]
push edx
push 0x4a96dc
lea eax, [ebp - 0x3368]
push eax
call fcn.004650e4
add esp, 0xc
push 0x4a96e0
lea ecx, [ebp - 0x3368]
push ecx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x1128], eax
cmp dword [ebp - 0x1128], 0
je 0x44cc07
push str.Host:
call fcn.00465470
add esp, 4
mov edx, dword [ebp - 0x1128]
add edx, eax
mov dword [ebp - 0x1128], edx
jmp 0x44cc0e
xor eax, eax
jmp 0x44e3c0
mov dword [ebp - 0x3390], 0x6db
push 0x4a96f0
mov eax, dword [ebp - 0x1128]
push eax
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x339c], eax
cmp dword [ebp - 0x339c], 0
je 0x44cc68
mov ecx, dword [ebp - 0x339c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x339c]
add edx, 1
mov dword [ebp - 0x339c], edx
mov eax, dword [ebp - 0x339c]
push eax
call fcn.004659a3
add esp, 4
mov dword [ebp - 0x3390], eax
mov cl, byte [0x4b0454]
mov byte [ebp - 0x315c], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x315b]
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x3390]
push edx
mov eax, dword [ebp - 0x1128]
push eax
push str.Host:_s_Port:_d
lea ecx, [ebp - 0x315c]
push ecx
call fcn.004650e4
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x551c], esp
lea edx, [ebp - 0x315c]
push edx
call fcn.00481032
mov dword [ebp - 0x55a0], eax
mov eax, dword [ebp - 0x55a0]
mov dword [ebp - 0x55a4], eax
mov dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x5520], esp
push 0x4a9704
call fcn.00481032
mov dword [ebp - 0x55a8], eax
mov ecx, dword [ebp - 0x55a8]
mov dword [ebp - 0x55ac], ecx
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x5524], esp
push 0x4b0458
call fcn.00481032
mov dword [ebp - 0x55b0], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 8]
push edx
mov ecx, 0x4afa18
call fcn.00426c3e
push 1
push 0
push 0
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov dword [ebp - 0x3168], eax
lea ecx, [ebp - 0x2150]
call fcn.0043b3c0
mov dword [ebp - 4], 2
lea eax, [ebp - 0x2150]
push eax
push 1
mov ecx, 0x4b0490
call fcn.00454eba
lea ecx, [ebp - 0x2150]
push ecx
mov edx, dword [ebp - 0x3390]
push edx
mov eax, dword [ebp - 0x1128]
push eax
mov ecx, dword [ebp - 0x3168]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.004362e4
test eax, eax
jne 0x44cdc6
mov edx, dword [ebp - 0x3168]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x5528], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2150]
call fcn.0043b450
mov eax, dword [ebp - 0x5528]
jmp 0x44e3c0
mov eax, dword [ebp - 0x3370]
add eax, 0x10
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
test eax, eax
jne 0x44ce21
mov eax, dword [ebp - 0x3168]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x552c], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2150]
call fcn.0043b450
mov eax, dword [ebp - 0x552c]
jmp 0x44e3c0
mov dword [ebp - 0x2154], 0
mov dword [ebp - 0x3398], 0xffffffff
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x2158], 0
mov dword [ebp - 0x3394], 0
mov dword [ebp - 0x14], 0x10
mov dword [ebp - 0x337c], 0
xor ecx, ecx
mov cl, byte [0x4b03e0]
and ecx, 1
test ecx, ecx
jne 0x44ce96
mov dl, byte [0x4b03e0]
or dl, 1
mov byte [0x4b03e0], dl
mov ecx, 0x4b03c0
call fcn.0042b580
push 0x44e426
call fcn.00466de5
add esp, 4
mov ecx, 0x4b03c0
call fcn.0040a260
push 0x4af5f0
push 0
push 0x4a9708
push 0x4a9714
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x3378], eax
mov eax, dword [ebp - 0x3378]
add eax, 1
mov dword [ebp - 0x3378], eax
mov cl, byte [0x4b045c]
mov byte [ebp - 0x2130], cl
mov ecx, 0x400
xor eax, eax
lea edi, [ebp - 0x212f]
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x3378]
push edx
push 0x4a9718
lea eax, [ebp - 0x2130]
push eax
call fcn.004650e4
add esp, 0xc
push 0x4af5f0
lea ecx, [ebp - 0x2130]
push ecx
push str.FileIndex
push 0x4a9728
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov ecx, 0x4b03c0
call fcn.0042b650
cmp dword [0x4d3554], 0
je 0x44cf93
push 0x4af4e8
push str._smms
lea edx, [ebp - 0x1124]
push edx
call fcn.004650e4
add esp, 0xc
push 0
lea eax, [ebp - 0x1124]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [ebp - 0x3378]
push ecx
push 0x4af4e8
push str._smmsmms__d.wmv
lea edx, [ebp - 0x1124]
push edx
call fcn.004650e4
add esp, 0x10
push 0x4a9748
lea eax, [ebp - 0x1124]
push eax
call fcn.004669ba
add esp, 8
mov dword [ebp - 0x337c], eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x3cb4], 1
mov dword [ebp - 0x3cb0], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3cb8], eax
mov dword [ebp - 0x33a0], 0
mov dword [ebp - 0x33a4], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx], 2
jne 0x44d483
mov edx, dword [ebp - 0x559c]
cmp dword [edx + 0x10], 0
je 0x44d483
mov dword [ebp - 0x38ac], 0
mov dword [ebp - 0x3cc0], 0
jmp 0x44d00c
mov eax, dword [ebp - 0x3cc0]
add eax, 1
mov dword [ebp - 0x3cc0], eax
mov ecx, dword [ebp - 0x3cc0]
cmp ecx, dword [ebp - 0x38ac]
jae 0x44d033
mov edx, dword [ebp - 0x3cc0]
mov eax, dword [ebp + edx*4 - 0x38a8]
cmp eax, dword [ebp - 0x3168]
jne 0x44d031
jmp 0x44d033
jmp 0x44cffd
mov ecx, dword [ebp - 0x3cc0]
cmp ecx, dword [ebp - 0x38ac]
jne 0x44d06c
cmp dword [ebp - 0x38ac], 0x40
jae 0x44d06c
mov edx, dword [ebp - 0x3cc0]
mov eax, dword [ebp - 0x3168]
mov dword [ebp + edx*4 - 0x38a8], eax
mov ecx, dword [ebp - 0x38ac]
add ecx, 1
mov dword [ebp - 0x38ac], ecx
xor edx, edx
test edx, edx
jne 0x44cff1
mov dword [ebp - 0x3cc4], 0
jmp 0x44d091
mov eax, dword [ebp - 0x3cc4]
add eax, 1
mov dword [ebp - 0x3cc4], eax
mov ecx, dword [ebp - 0x3cc4]
cmp ecx, dword [ebp - 0x38ac]
jae 0x44d0ba
mov edx, dword [ebp - 0x3cc4]
mov eax, dword [ebp - 0x3164]
mov ecx, dword [ebp + edx*4 - 0x38a8]
cmp ecx, dword [eax]
jne 0x44d0b8
jmp 0x44d0ba
jmp 0x44d082
mov edx, dword [ebp - 0x3cc4]
cmp edx, dword [ebp - 0x38ac]
jne 0x44d0f5
cmp dword [ebp - 0x38ac], 0x40
jae 0x44d0f5
mov eax, dword [ebp - 0x3cc4]
mov ecx, dword [ebp - 0x3164]
mov edx, dword [ecx]
mov dword [ebp + eax*4 - 0x38a8], edx
mov eax, dword [ebp - 0x38ac]
add eax, 1
mov dword [ebp - 0x38ac], eax
xor ecx, ecx
test ecx, ecx
jne 0x44d076
lea edx, [ebp - 0x3cb4]
push edx
push 0
push 0
lea eax, [ebp - 0x38ac]
push eax
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x3cbc], eax
cmp dword [ebp - 0x3cbc], 0
jne 0x44d16d
cmp dword [0x4a7d14], 0
jg 0x44d136
jmp 0x44cfcb
mov esi, dword [0x4a7d14]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x3cb8]
cmp eax, esi
jbe 0x44d16d
mov dword [ebp - 0x5530], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5530]
push ecx
call fcn.00468332
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3cb8], eax
cmp dword [ebp - 0x3cbc], 0
jge 0x44d19d
mov dword [ebp - 0x5534], 0xffffffff
push 0x49d188
lea edx, [ebp - 0x5534]
push edx
call fcn.00468332
lea eax, [ebp - 0x38ac]
push eax
mov ecx, dword [ebp - 0x3168]
push ecx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44d2f6
mov dword [ebp - 0x3374], 0x10
push 8
lea edx, [ebp - 0x3374]
push edx
lea eax, [ebp - 0x101c]
push eax
mov ecx, dword [ebp - 0x3168]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55b4], eax
cmp dword [ebp - 0x55b4], 0
jne 0x44d20e
mov dword [ebp - 0x5538], 0xffffffff
push 0x49d188
lea edx, [ebp - 0x5538]
push edx
call fcn.00468332
push 4
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x3370]
push ecx
call fcn.004659b0
add esp, 0xc
mov edx, dword [ebp - 0x3370]
mov dword [ebp - 0x3374], edx
push 8
lea eax, [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x100c]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55b8], eax
cmp dword [ebp - 0x55b8], 0
jne 0x44d27e
mov dword [ebp - 0x553c], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x553c]
push eax
call fcn.00468332
mov ecx, dword [ebp - 0x3370]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3164]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55bc], eax
cmp dword [ebp - 0x55bc], 0
jne 0x44d2cd
mov dword [ebp - 0x5540], 0xffffffff
push 0x49d188
lea edx, [ebp - 0x5540]
push edx
call fcn.00468332
push 2
push 0x4a974c
lea eax, [ebp - 0x1004]
push eax
call fcn.00465830
add esp, 0xc
test eax, eax
jne 0x44d2f1
mov dword [ebp - 0x33a4], 1
jmp 0x44cfcb
lea ecx, [ebp - 0x38ac]
push ecx
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44d47e
mov dword [ebp - 0x3374], 0x10
push 8
lea ecx, [ebp - 0x3374]
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3164]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55c0], eax
cmp dword [ebp - 0x55c0], 0
jne 0x44d36b
mov dword [ebp - 0x5544], 0
push 0x49d188
lea edx, [ebp - 0x5544]
push edx
call fcn.00468332
push 4
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x3370]
push ecx
call fcn.004659b0
add esp, 0xc
mov edx, dword [ebp - 0x3370]
mov dword [ebp - 0x3374], edx
push 8
lea eax, [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x100c]
push ecx
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55c4], eax
cmp dword [ebp - 0x55c4], 0
jne 0x44d3dd
mov dword [ebp - 0x5548], 0
push 0x49d188
lea ecx, [ebp - 0x5548]
push ecx
call fcn.00468332
push 4
lea edx, [ebp - 0xff8]
push edx
lea eax, [ebp - 0x3160]
push eax
call fcn.004659b0
add esp, 0xc
lea ecx, [ebp - 0xfe0]
push ecx
push 0x4a9750
lea edx, [ebp - 0x3368]
push edx
call fcn.004650e4
add esp, 0xc
push 2
push 0x4a9754
lea eax, [ebp - 0x3368]
push eax
call fcn.004681f0
add esp, 0xc
test eax, eax
jne 0x44d42c
jmp 0x44d483
mov ecx, dword [ebp - 0x3370]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3168]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55c8], eax
cmp dword [ebp - 0x55c8], 0
jne 0x44d479
mov dword [ebp - 0x554c], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x554c]
push ecx
call fcn.00468332
jmp 0x44cfcb
jmp 0x44cfcb
mov dl, byte [0x4b0460]
mov byte [ebp - 0x3cac], dl
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x3cab]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x4b0464]
mov byte [ebp - 0x37a8], al
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x37a7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x3366]
push ecx
lea edx, [ebp - 0x3cac]
push edx
call fcn.00465350
add esp, 8
push 0x4a9758
lea eax, [ebp - 0x3cac]
push eax
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x33a8], eax
cmp dword [ebp - 0x33a8], 0
jne 0x44d512
mov dword [ebp - 0x5550], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5550]
push ecx
call fcn.00468332
mov edx, dword [ebp - 0x33a8]
mov byte [edx], 0
mov eax, dword [ebp - 0x33a8]
add eax, 1
push eax
lea ecx, [ebp - 0x37a8]
push ecx
call fcn.00465350
add esp, 8
push 0x4a975c
lea edx, [ebp - 0x37a8]
push edx
call fcn.004652d0
add esp, 8
mov dword [ebp - 0x33a8], eax
cmp dword [ebp - 0x33a8], 0
jne 0x44d572
mov dword [ebp - 0x5554], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x5554]
push eax
call fcn.00468332
mov ecx, dword [ebp - 0x33a8]
mov byte [ecx], 0
mov edx, dword [ebp - 0x33a8]
add edx, 1
push edx
call fcn.004659a3
add esp, 4
mov dword [ebp - 0x18], eax
push 0x4a9760
lea eax, [ebp - 0x37a8]
push eax
call fcn.0046b9a0
add esp, 8
test eax, eax
jne 0x44d755
mov dword [ebp - 0x33a0], 1
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x3398], eax
mov word [ebp - 0x338c], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x338a], ax
mov dword [ebp - 0x3388], 0
push 0x10
lea ecx, [ebp - 0x338c]
push ecx
mov edx, dword [ebp - 0x3398]
push edx
call dword [sym.imp.WS2_32.dll_bind]
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x338c]
push ecx
mov edx, dword [ebp - 0x3398]
push edx
call dword [sym.imp.WS2_32.dll_getsockname]
mov ax, word [ebp - 0x338a]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
mov dword [ebp - 0x2154], eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x338c]
push edx
mov eax, dword [ebp - 0x3168]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [ebp - 0x3388]
mov dword [ebp - 0x3394], ecx
lea edx, [ebp - 0x3cac]
push edx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2158], eax
mov eax, dword [ebp - 0x3394]
mov dword [ebp - 0x3ccc], eax
mov ecx, dword [ebp - 0x2154]
push ecx
lea edx, [ebp - 0x37a8]
push edx
mov eax, dword [ebp - 0x3ccc]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push 0x4a9764
lea ecx, [ebp - 0x3368]
push ecx
call fcn.004650e4
add esp, 0x14
lea edx, [ebp - 0x3368]
push edx
lea ecx, [ebp - 0x3cc8]
call fcn.0044e470
mov dword [ebp - 0x55cc], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3cc8]
call fcn.0040cd30
mov dword [ebp - 0x55d0], eax
lea eax, [ebp - 0x3368]
push eax
call fcn.00465470
add esp, 4
shl eax, 1
push eax
mov ecx, dword [ebp - 0x55d0]
push ecx
lea edx, [ebp - 0xfe0]
push edx
call fcn.004659b0
add esp, 0xc
mov eax, dword [ebp - 0x3370]
add eax, 0x10
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55d4], eax
cmp dword [ebp - 0x55d4], 0
jne 0x44d746
mov dword [ebp - 0x5558], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x5558]
push eax
call fcn.00468332
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3cc8]
call fcn.0040cc90
push 0x4a9770
lea ecx, [ebp - 0x37a8]
push ecx
call fcn.0046b9a0
add esp, 8
test eax, eax
jne 0x44da67
cmp dword [ebp - 0x33a4], 0
je 0x44d920
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x3398], eax
mov word [ebp - 0x338c], 2
push 0
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x338a], ax
mov dword [ebp - 0x3388], 0
push 0x10
lea edx, [ebp - 0x338c]
push edx
mov eax, dword [ebp - 0x3398]
push eax
call dword [sym.imp.WS2_32.dll_bind]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x338c]
push edx
mov eax, dword [ebp - 0x3398]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov cx, word [ebp - 0x338a]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
mov dword [ebp - 0x2154], eax
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 0x338c]
push eax
mov ecx, dword [ebp - 0x3168]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [ebp - 0x3388]
mov dword [ebp - 0x3394], edx
lea eax, [ebp - 0x3cac]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2158], eax
mov ecx, dword [ebp - 0x3394]
mov dword [ebp - 0x3cd4], ecx
mov edx, dword [ebp - 0x2154]
push edx
push 0x4a9774
mov eax, dword [ebp - 0x3cd4]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push 0x4a9778
lea ecx, [ebp - 0x3368]
push ecx
call fcn.004650e4
add esp, 0x14
lea edx, [ebp - 0x3368]
push edx
lea ecx, [ebp - 0x3cd0]
call fcn.0044e470
mov dword [ebp - 0x55d8], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3cd0]
call fcn.0040cd30
mov dword [ebp - 0x55dc], eax
lea eax, [ebp - 0x3368]
push eax
call fcn.00465470
add esp, 4
shl eax, 1
push eax
mov ecx, dword [ebp - 0x55dc]
push ecx
lea edx, [ebp - 0xfe0]
push edx
call fcn.004659b0
add esp, 0xc
mov eax, dword [ebp - 0x3370]
add eax, 0x10
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55e0], eax
cmp dword [ebp - 0x55e0], 0
jne 0x44d90c
mov dword [ebp - 0x555c], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x555c]
push eax
call fcn.00468332
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3cd0]
call fcn.0040cc90
jmp 0x44da67
mov dword [ebp - 0x3398], 0xffffffff
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x338c]
push edx
mov eax, dword [ebp - 0x3168]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
mov cx, word [ebp - 0x338a]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
and eax, 0xffff
mov dword [ebp - 0x2154], eax
mov edx, dword [ebp - 0x3388]
mov dword [ebp - 0x3394], edx
lea eax, [ebp - 0x3cac]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x2158], eax
mov ecx, dword [ebp - 0x3394]
mov dword [ebp - 0x3cdc], ecx
mov edx, dword [ebp - 0x2154]
push edx
lea eax, [ebp - 0x37a8]
push eax
mov ecx, dword [ebp - 0x3cdc]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str._s_s_d
lea edx, [ebp - 0x3368]
push edx
call fcn.004650e4
add esp, 0x14
lea eax, [ebp - 0x3368]
push eax
lea ecx, [ebp - 0x3cd8]
call fcn.0044e470
mov dword [ebp - 0x55e4], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x3cd8]
call fcn.0040cd30
mov dword [ebp - 0x55e8], eax
lea ecx, [ebp - 0x3368]
push ecx
call fcn.00465470
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp - 0x55e8]
push edx
lea eax, [ebp - 0xfe0]
push eax
call fcn.004659b0
add esp, 0xc
mov ecx, dword [ebp - 0x3370]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3168]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55ec], eax
cmp dword [ebp - 0x55ec], 0
jne 0x44da58
mov dword [ebp - 0x5560], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5560]
push ecx
call fcn.00468332
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3cd8]
call fcn.0040cc90
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3cb8], eax
mov edx, dword [ebp + 8]
cmp dword [edx], 2
jne 0x44e009
mov eax, dword [ebp - 0x559c]
cmp dword [eax + 0x10], 0
je 0x44e009
mov dword [ebp - 0x38ac], 0
mov dword [ebp - 0x3ce4], 0
jmp 0x44dab4
mov ecx, dword [ebp - 0x3ce4]
add ecx, 1
mov dword [ebp - 0x3ce4], ecx
mov edx, dword [ebp - 0x3ce4]
cmp edx, dword [ebp - 0x38ac]
jae 0x44dadb
mov eax, dword [ebp - 0x3ce4]
mov ecx, dword [ebp + eax*4 - 0x38a8]
cmp ecx, dword [ebp - 0x3168]
jne 0x44dad9
jmp 0x44dadb
jmp 0x44daa5
mov edx, dword [ebp - 0x3ce4]
cmp edx, dword [ebp - 0x38ac]
jne 0x44db14
cmp dword [ebp - 0x38ac], 0x40
jae 0x44db14
mov eax, dword [ebp - 0x3ce4]
mov ecx, dword [ebp - 0x3168]
mov dword [ebp + eax*4 - 0x38a8], ecx
mov edx, dword [ebp - 0x38ac]
add edx, 1
mov dword [ebp - 0x38ac], edx
xor eax, eax
test eax, eax
jne 0x44da99
mov dword [ebp - 0x3ce8], 0
jmp 0x44db39
mov ecx, dword [ebp - 0x3ce8]
add ecx, 1
mov dword [ebp - 0x3ce8], ecx
mov edx, dword [ebp - 0x3ce8]
cmp edx, dword [ebp - 0x38ac]
jae 0x44db62
mov eax, dword [ebp - 0x3ce8]
mov ecx, dword [ebp - 0x3164]
mov edx, dword [ebp + eax*4 - 0x38a8]
cmp edx, dword [ecx]
jne 0x44db60
jmp 0x44db62
jmp 0x44db2a
mov eax, dword [ebp - 0x3ce8]
cmp eax, dword [ebp - 0x38ac]
jne 0x44db9d
cmp dword [ebp - 0x38ac], 0x40
jae 0x44db9d
mov ecx, dword [ebp - 0x3ce8]
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0x38a8], eax
mov ecx, dword [ebp - 0x38ac]
add ecx, 1
mov dword [ebp - 0x38ac], ecx
xor edx, edx
test edx, edx
jne 0x44db1e
cmp dword [ebp - 0x3398], 0xffffffff
je 0x44dc39
mov dword [ebp - 0x3cec], 0
jmp 0x44dbcf
mov eax, dword [ebp - 0x3cec]
add eax, 1
mov dword [ebp - 0x3cec], eax
mov ecx, dword [ebp - 0x3cec]
cmp ecx, dword [ebp - 0x38ac]
jae 0x44dbf6
mov edx, dword [ebp - 0x3cec]
mov eax, dword [ebp + edx*4 - 0x38a8]
cmp eax, dword [ebp - 0x3398]
jne 0x44dbf4
jmp 0x44dbf6
jmp 0x44dbc0
mov ecx, dword [ebp - 0x3cec]
cmp ecx, dword [ebp - 0x38ac]
jne 0x44dc2f
cmp dword [ebp - 0x38ac], 0x40
jae 0x44dc2f
mov edx, dword [ebp - 0x3cec]
mov eax, dword [ebp - 0x3398]
mov dword [ebp + edx*4 - 0x38a8], eax
mov ecx, dword [ebp - 0x38ac]
add ecx, 1
mov dword [ebp - 0x38ac], ecx
xor edx, edx
test edx, edx
jne 0x44dbb4
lea eax, [ebp - 0x3cb4]
push eax
push 0
push 0
lea ecx, [ebp - 0x38ac]
push ecx
push 0xffffffffffffffff
call dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x3ce0], eax
cmp dword [ebp - 0x3ce0], 0
jne 0x44dcac
cmp dword [0x4a7d14], 0
jg 0x44dc70
jmp 0x44da73
mov esi, dword [0x4a7d14]
imul esi, esi, 0x3e8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x3cb8]
cmp eax, esi
jbe 0x44dca7
mov dword [ebp - 0x5564], 0xffffffff
push 0x49d188
lea edx, [ebp - 0x5564]
push edx
call fcn.00468332
jmp 0x44da73
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x3cb8], eax
cmp dword [ebp - 0x3ce0], 0
jge 0x44dcdc
mov dword [ebp - 0x5568], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x5568]
push eax
call fcn.00468332
lea ecx, [ebp - 0x38ac]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44ddd2
mov dword [ebp - 0x3374], 0x1000
mov byte [ebp - 0x101c], 0
push 0
lea eax, [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3168]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55f0], eax
cmp dword [ebp - 0x55f0], 0
jne 0x44dd78
cmp dword [ebp - 0x3374], 0
jne 0x44dd5d
mov dword [ebp - 0x556c], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x556c]
push eax
call fcn.00468332
mov dword [ebp - 0x5570], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5570]
push ecx
call fcn.00468332
cmp dword [ebp - 0x3374], 0
jle 0x44ddcd
mov edx, dword [ebp - 0x3374]
push edx
lea eax, [ebp - 0x101c]
push eax
mov ecx, dword [ebp - 0x3164]
mov edx, dword [ecx]
push edx
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55f4], eax
cmp dword [ebp - 0x55f4], 0
jne 0x44ddcd
mov dword [ebp - 0x5574], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x5574]
push eax
call fcn.00468332
jmp 0x44da73
lea ecx, [ebp - 0x38ac]
push ecx
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44deca
mov dword [ebp - 0x3374], 0x1000
mov byte [ebp - 0x101c], 0
push 0
lea ecx, [ebp - 0x3374]
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3164]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0x559c]
call fcn.00435dcb
mov dword [ebp - 0x55f8], eax
cmp dword [ebp - 0x55f8], 0
jne 0x44de72
cmp dword [ebp - 0x3374], 0
jne 0x44de57
mov dword [ebp - 0x5578], 0xffffffff
push 0x49d188
lea edx, [ebp - 0x5578]
push edx
call fcn.00468332
mov dword [ebp - 0x557c], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x557c]
push eax
call fcn.00468332
cmp dword [ebp - 0x3374], 0
jle 0x44dec5
mov ecx, dword [ebp - 0x3374]
push ecx
lea edx, [ebp - 0x101c]
push edx
mov eax, dword [ebp - 0x3168]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x55fc], eax
cmp dword [ebp - 0x55fc], 0
jne 0x44dec5
mov dword [ebp - 0x5580], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5580]
push ecx
call fcn.00468332
jmp 0x44da73
cmp dword [ebp - 0x3398], 0xffffffff
je 0x44e004
lea edx, [ebp - 0x38ac]
push edx
mov eax, dword [ebp - 0x3398]
push eax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e004
mov dword [ebp - 0x3374], 0x1000
mov byte [ebp - 0x101c], 0
mov dword [ebp - 0x3cf0], 0x10
lea ecx, [ebp - 0x3cf0]
push ecx
lea edx, [ebp - 0x338c]
push edx
push 0
mov eax, dword [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3398]
push edx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov dword [ebp - 0x3374], eax
cmp dword [ebp - 0x3374], 0
jle 0x44dfff
mov eax, dword [ebp - 0x3374]
push eax
lea ecx, [ebp - 0x101c]
push ecx
mov edx, dword [ebp - 0x3164]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x559c]
call fcn.00435f01
mov dword [ebp - 0x5600], eax
cmp dword [ebp - 0x5600], 0
jne 0x44df97
mov dword [ebp - 0x5584], 0xffffffff
push 0x49d188
lea ecx, [ebp - 0x5584]
push ecx
call fcn.00468332
cmp dword [0x4d3554], 0
je 0x44dfff
cmp dword [ebp - 0x337c], 0
je 0x44dfff
mov edx, dword [ebp - 0x337c]
push edx
call fcn.00467375
add esp, 4
test eax, eax
jne 0x44dfe0
mov eax, dword [ebp - 0x337c]
push eax
push 1
mov ecx, dword [ebp - 0x3374]
sub ecx, 8
push ecx
lea edx, [ebp - 0x1014]
push edx
call fcn.00466850
add esp, 0x10
jmp 0x44dfff
mov eax, dword [ebp - 0x337c]
push eax
push 1
mov ecx, dword [ebp - 0x3374]
push ecx
lea edx, [ebp - 0x101c]
push edx
call fcn.00466850
add esp, 0x10
jmp 0x44da73
jmp 0x44da73
mov dword [ebp - 0x5588], 0xffffffff
push 0x49d188
lea eax, [ebp - 0x5588]
push eax
call fcn.00468332
cmp dword [ebp - 0x3398], 0xffffffff
je 0x44e03a
mov ecx, dword [ebp - 0x3398]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3398], 0xffffffff
cmp dword [ebp - 0x3168], 0xffffffff
je 0x44e05a
mov edx, dword [ebp - 0x3168]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x3168], 0xffffffff
mov eax, 1
test eax, eax
je 0x44e079
mov dword [ebp - 0x5604], 0
jmp 0x44e08c
push str.Fatal_error_n
call fcn.0040cc60
add esp, 4
mov dword [ebp - 0x5604], eax
cmp dword [ebp - 0x337c], 0
je 0x44e398
mov ecx, dword [ebp - 0x337c]
push ecx
call fcn.004667d3
add esp, 4
push 0x4a97a0
lea edx, [ebp - 0x1124]
push edx
call fcn.004669ba
add esp, 8
mov dword [ebp - 0x337c], eax
push 2
push 0
mov eax, dword [ebp - 0x337c]
push eax
call fcn.004674f8
add esp, 0xc
mov ecx, dword [ebp - 0x337c]
push ecx
call fcn.00467375
add esp, 4
mov dword [ebp - 0x3d04], eax
mov edx, dword [ebp - 0x3d04]
push edx
call fcn.00481528
add esp, 4
mov dword [ebp - 0x558c], eax
mov eax, dword [ebp - 0x558c]
mov dword [ebp - 0x3cf8], eax
push 0
push 0
mov ecx, dword [ebp - 0x337c]
push ecx
call fcn.004674f8
add esp, 0xc
mov edx, dword [ebp - 0x337c]
push edx
push 1
mov eax, dword [ebp - 0x3d04]
push eax
mov ecx, dword [ebp - 0x3cf8]
push ecx
call fcn.004675b1
add esp, 0x10
mov edx, dword [ebp - 0x337c]
push edx
call fcn.004667d3
add esp, 4
push 0x4a97a4
lea eax, [ebp - 0x1124]
push eax
call fcn.004669ba
add esp, 8
mov dword [ebp - 0x337c], eax
mov ecx, dword [ebp - 0x3cf8]
mov dword [ebp - 0x3cf4], ecx
mov byte [ebp - 0x3d00], 0x82
mov byte [ebp - 0x3cff], 0
mov byte [ebp - 0x3cfe], 0
mov byte [ebp - 0x3cfd], 0x11
mov byte [ebp - 0x3cfc], 0x5d
mov edx, 1
test edx, edx
je 0x44e36e
mov eax, dword [ebp - 0x3cf4]
sub eax, dword [ebp - 0x3cf8]
cmp eax, dword [ebp - 0x3d04]
jl 0x44e1bb
jmp 0x44e36e
push 5
lea ecx, [ebp - 0x3d00]
push ecx
mov edx, dword [ebp - 0x3cf4]
sub edx, dword [ebp - 0x3cf8]
mov eax, dword [ebp - 0x3d04]
sub eax, edx
push eax
mov ecx, dword [ebp - 0x3cf4]
push ecx
call fcn.0044e3d3
add esp, 0x10
mov dword [ebp - 0x3d08], eax
cmp dword [ebp - 0x3d08], 0xffffffff
jne 0x44e229
mov edx, dword [ebp - 0x337c]
push edx
push 1
mov eax, dword [ebp - 0x3cf4]
sub eax, dword [ebp - 0x3cf8]
mov ecx, dword [ebp - 0x3d04]
sub ecx, eax
push ecx
mov edx, dword [ebp - 0x3cf4]
push edx
call fcn.00466850
add esp, 0x10
jmp 0x44e36e
mov eax, dword [ebp - 0x3d08]
mov ecx, dword [ebp - 0x3cf4]
lea edx, [ecx + eax - 7]
mov dword [ebp - 0x5510], edx
push 0x179e
push 0
lea eax, [ebp - 0x550c]
push eax
call fcn.004658c0
add esp, 0xc
mov ecx, 1
test ecx, ecx
je 0x44e369
mov edx, dword [ebp - 0x3cf4]
sub edx, dword [ebp - 0x3cf8]
cmp edx, dword [ebp - 0x3d04]
jl 0x44e27b
jmp 0x44e369
mov dword [ebp - 0x5514], 0xffffffff
push 4
mov eax, dword [ebp - 0x5510]
push eax
mov ecx, dword [ebp - 0x3cf4]
sub ecx, dword [ebp - 0x3cf8]
mov edx, dword [ebp - 0x3d04]
sub edx, ecx
push edx
mov eax, dword [ebp - 0x3cf4]
push eax
call fcn.0044e3d3
add esp, 0x10
mov dword [ebp - 0x5514], eax
cmp dword [ebp - 0x5514], 0
jle 0x44e35b
mov ecx, dword [ebp - 0x337c]
push ecx
push 1
mov edx, dword [ebp - 0x5514]
sub edx, 1
push edx
mov eax, dword [ebp - 0x3cf4]
push eax
call fcn.00466850
add esp, 0x10
mov ecx, dword [ebp - 0x3cf4]
add ecx, dword [ebp - 0x5514]
xor edx, edx
mov dl, byte [ecx - 1]
mov dword [ebp - 0x5518], edx
cmp dword [ebp - 0x5518], 0
jne 0x44e31f
mov eax, dword [ebp - 0x5514]
mov ecx, dword [ebp - 0x3cf4]
lea edx, [ecx + eax + 7]
mov dword [ebp - 0x3cf4], edx
jmp 0x44e359
mov eax, dword [ebp - 0x337c]
push eax
push 1
mov ecx, 0x1e07
sub ecx, dword [ebp - 0x5514]
push ecx
lea edx, [ebp - 0x550c]
push edx
call fcn.00466850
add esp, 0x10
mov eax, dword [ebp - 0x5514]
mov ecx, dword [ebp - 0x3cf4]
lea edx, [ecx + eax + 7]
mov dword [ebp - 0x3cf4], edx
jmp 0x44e364
mov byte [ebp - 0x3cfd], 9
jmp 0x44e369
jmp 0x44e255
jmp 0x44e195
mov eax, dword [ebp - 0x3cf8]
mov dword [ebp - 0x5590], eax
mov ecx, dword [ebp - 0x5590]
push ecx
call fcn.00481551
add esp, 4
mov edx, dword [ebp - 0x337c]
push edx
call fcn.004667d3
add esp, 4
mov dword [ebp - 0x5594], 0
mov eax, 0x44e3a8
ret
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4