Function at 0x43ca70
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c4
mov eax, dword [0x6a0f4c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x4c4], ecx
mov dword [ebp - 0x4b4], 0
mov byte [ebp - 0x420], 0
push 0x3ff
push 0
lea eax, [ebp - 0x41f]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0
push 0x400
lea ecx, [ebp - 0x420]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jg 0x43cae2
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
xor al, al
jmp 0x43cd47
lea ecx, [ebp - 0x420]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
movsx ax, byte [edx]
movzx ecx, ax
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx edx, ax
cmp edx, 0x401
jne 0x43cb54
mov byte [ebp - 0x428], 0
mov byte [ebp - 0x427], 0x5a
mov dword [ebp - 0x42c], 2
push 0
push 2
lea eax, [ebp - 0x428]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x430], 0
jg 0x43cb54
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
xor al, al
jmp 0x43cd47
mov byte [ebp - 0xc], 0
mov byte [ebp - 0xb], 0x5a
mov byte [ebp - 0xa], 0
mov byte [ebp - 9], 0
mov byte [ebp - 8], 0
mov byte [ebp - 7], 0
mov byte [ebp - 6], 0
mov byte [ebp - 5], 0
push 0
push 8
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jg 0x43cbae
push str.Auth_Data_response_error_r_n
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 4
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
xor al, al
jmp 0x43cd47
mov dword [ebp - 0x1c], 1
lea eax, [ebp - 0x1c]
push eax
push 0x8004667e
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x43cbfb
push 1
lea ecx, [ebp - 0x4b0]
call fcn.00409eb0
mov dword [ebp - 0x4b8], eax
lea ecx, [ebp - 0x464]
call fcn.00409fa0
lea ecx, [ebp - 0x464]
call dword [sym.imp.MSVCP90.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
push 0x204c
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x43cc22
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
xor al, al
jmp 0x43cd47
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x2028], 0
mov ecx, dword [ebp - 0x18]
add ecx, 0x1c
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x14], 0x2000
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x201c], edx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x2020], 0xffffffff
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x4c4]
mov dword [ecx + 0x2024], edx
mov eax, dword [ebp - 0x10]
movzx ecx, word [eax + 2]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
mov edx, dword [ebp - 0x18]
mov word [edx + 0x2040], ax
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 7]
push ecx
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 6]
push eax
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 5]
push edx
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 4]
push ecx
push str._d._d._d._d
mov edx, dword [ebp - 0x18]
add edx, 0x2030
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x2044], 0
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x2043], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [ebp - 0x18]
mov dword [edx + 0x2048], eax
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [0x6a2ed8]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x424], 0
push 0
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp - 0x424]
push ecx
lea edx, [ebp - 0x14]
push edx
push 1
mov eax, dword [ebp - 0x18]
add eax, 0x14
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.WS2_32.dll_WSARecv]
cmp eax, 0xffffffff
jne 0x43cd45
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x43cd45
xor al, al
jmp 0x43cd47
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005fff12
mov esp, ebp
pop ebp
ret 4