Function at 0x4a5370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x64c874]
xor eax, esp
mov dword [esp + 0x118], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, ecx
push esi
lea ecx, [esp + 0xc]
push edi
mov dword [esp + 0x30], eax
xor eax, eax
test edx, edx
mov dword [esp + 0x28], ecx
mov ecx, 8
lea esi, [esp + 0x70]
lea edi, [esp + 0x40]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x44], eax
je 0x4a53fc
mov ecx, 8
mov esi, edx
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
push edx
mov edx, dword [esp + 0x4c]
mov ecx, ebx
mov eax, edi
call fcn.004a52d0
mov esi, eax
add esp, 4
test esi, esi
je 0x4a5438
xor eax, eax
call fcn.004a5330
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x60]
lea eax, [esp + 0x40]
mov edx, edi
call fcn.004a4e90
lea ecx, [esp + 0x60]
mov dword [esp + 0x3c], eax
lea eax, [esp + eax*8 + 0x60]
mov edx, ecx
cmp edx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
jae 0x4a5759
call fcn.005d95d0
mov eax, dword [esp + 0x18]
mov ebx, dword [eax]
push 0
mov dword [esp + 0x20], ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xa4]
push edx
push 0
push 2
push ebx
mov dword [esp + 0x4c], 0x80
call dword [sym.imp.WS2_32.dll_WSAStringToAddressA]
mov esi, eax
call fcn.005d95d0
mov edi, eax
call sub.WS2_32.dll_WSAGetLastError
cmp esi, 0xffffffff
mov edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edi
je 0x4a553f
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
call fcn.005d95d0
call fcn.005d95d0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a54e3
cmp eax, 2
jne 0x4a5780
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 2
jne 0x4a5738
lea edx, [esp + 0x1c]
push 2
push edx
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004a4fb0
mov esi, eax
add esp, 8
test esi, esi
je 0x4a5738
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov eax, dword [esp + 0x14]
push eax
call fcn.0059b877
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov edi, str.255.255.255.255
mov esi, ebx
mov ecx, 0x10
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4a5562
xor esi, esi
call fcn.005d95d0
mov edx, esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
test edx, edx
jne 0x4a5578
mov esi, 0x2726
call fcn.005d95d0
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
lea eax, [esp + 0x90]
push eax
xor ecx, ecx
push ebx
lea ebx, [esp + 0x28]
lea edx, [ecx + 0x17]
call fcn.004a4ca0
add esp, 8
cmp eax, 1
jne 0x4a5607
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a55a8
cmp eax, 0x17
jne 0x4a57b0
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 4], 0x17
jne 0x4a5738
lea edx, [esp + 0x90]
push 0x17
push edx
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004a4fb0
mov esi, eax
add esp, 8
test esi, esi
je 0x4a5738
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov edx, dword [esp + 0x14]
push edx
call fcn.0059b877
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea edi, [esp + 0x28]
lea ebx, [esp + 0x78]
call fcn.004a4e20
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x1c], ebx
jne 0x4a569c
cmp dword [esp + 0x3c], 2
je 0x4a5738
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov eax, dword [esp + 0x14]
push eax
call fcn.0059b877
add esp, 4
call fcn.005d95d0
mov esi, dword [esp + 0x24]
cmp esi, eax
mov edi, dword [esp + 0x20]
jne 0x4a566c
cmp edi, 0x2af9
je 0x4a5766
call fcn.005d95d0
cmp esi, eax
jne 0x4a57e0
cmp edi, 0x2afa
jne 0x4a57e0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a56b0
movsx ecx, word [ebx + 8]
cmp eax, ecx
jne 0x4a57b0
mov eax, dword [ebp + 8]
test eax, eax
je 0x4a5704
cmp byte [eax], 0
je 0x4a5704
mov eax, dword [ebx]
test eax, eax
je 0x4a5704
cmp byte [eax], 0
je 0x4a5704
test byte [esp + 0x40], 2
je 0x4a5704
cmp dword [esp + 0x14], 0
jne 0x4a5704
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4a56d8
sub eax, edx
lea edi, [eax + 1]
call fcn.004ab250
test eax, eax
mov dword [esp + 0x14], eax
je 0x4a5812
mov edx, dword [ebx]
push edx
push edi
push eax
call fcn.005bce27
add esp, 0xc
mov esi, dword [ebx + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x4a5738
jmp 0x4a5714
mov ebx, dword [esp + 0x1c]
movsx ecx, word [ebx + 8]
push ecx
push eax
lea ebx, [esp + 0x48]
lea edi, [esp + 0x30]
call fcn.004a4fb0
add esp, 8
test eax, eax
jne 0x4a5780
mov eax, dword [esi + 4]
add esi, 4
test eax, eax
jne 0x4a5710
mov eax, dword [esp + 0x18]
add eax, 8
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
jb 0x4a5465
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x4a5835
mov eax, dword [esp + 0x14]
push eax
call fcn.0059b877
add esp, 4
mov eax, 0x2af9
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov edx, dword [esp + 0x14]
push edx
call fcn.0059b877
add esp, 4
mov eax, 0x273f
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0059b877
add esp, 4
mov eax, 0x273f
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
call fcn.005d95d0
cmp esi, eax
jne 0x4a5808
cmp edi, 0x2afb
jne 0x4a5808
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
call fcn.005d95d0
jmp 0x4a5766
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov eax, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x4a5898
cmp byte [eax], 0
je 0x4a5898
test byte [esp + 0x40], 2
je 0x4a5898
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4a585d
mov dword [ecx + 0x14], eax
mov dword [esp + 0x14], 0
jmp 0x4a5898
mov esi, dword [esp + 0x60]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4a5866
sub eax, edx
lea edi, [eax + 1]
call fcn.004ab250
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 0
je 0x4a5816
mov edx, dword [eax + 0x14]
push esi
push edi
push edx
call fcn.005bce27
add esp, 0xc
mov eax, dword [esp + 0x14]
push eax
call fcn.0059b877
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x4a58ea
cmp byte [eax], 0
je 0x4a58ea
mov esi, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.004a51d0
mov esi, eax
add esp, 8
test esi, esi
je 0x4a58ea
mov eax, dword [esp + 0x10]
call fcn.004a5330
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.005b88a9
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebx
mov dword [eax], edx
xor ecx, esp
xor eax, eax
call fcn.005b88a9
mov esp, ebp
pop ebp
ret