Function at 0x588ef0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x200
mov eax, dword [0x6480b4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
lea ecx, [ebp - 0x1b8]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c0], ebx
call fcn.00537230
cmp byte [0x6527ec], 0
jne 0x588f39
push ebx
push dword [ebp + 0xc]
push esi
call fcn.005891d0
add esp, 0xc
mov ebx, eax
jmp 0x58901b
push dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x1f8], 2
push 0x5fdd34
xorps xmm0, xmm0
mov dword [ebp - 0x1c4], ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x200], ebx
push 0x10
push eax
movlpd qword [ebp - 0x1f0], xmm0
movlpd qword [ebp - 0x1e8], xmm0
mov dword [ebp - 0x1fc], ebx
mov dword [ebp - 0x1f4], 0x11
call fcn.0051f150
add esp, 0x10
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x14]
push eax
push esi
call dword [0x6527f4]
test eax, eax
je 0x588fb9
push eax
push str.getaddrinfo_error__u_n
push 9
call fcn.004da370
add esp, 0xc
jmp 0x58901b
mov eax, dword [ebp - 0x1bc]
push edi
mov edi, dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x1d0], eax
nop dword [eax]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call edi
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x589038
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x1bc], eax
test eax, eax
jne 0x588fd0
push dword [ebp + 0xc]
push esi
push str.resolver_socket_failure_for__s__d_n
push 9
call fcn.004da370
add esp, 0x10
push dword [ebp - 0x1d0]
call dword [0x6527f8]
mov ebx, dword [ebp - 0x1c4]
pop edi
lea ecx, [ebp - 0x1b8]
call fcn.00537300
mov ecx, dword [ebp - 4]
mov eax, ebx
pop esi
xor ecx, ebp
pop ebx
call fcn.0058bb64
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1bc], 0
je 0x588ff5
mov esi, dword [ebp - 0x1c0]
mov eax, 0x301
mov ecx, esi
mov dword [ebp - 0x1d8], ebx
mov word [ebp - 0x1d4], ax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x589060
sub ecx, edx
lea edi, [ecx + 4]
push edi
mov dword [ebp - 0x1c8], edi
call fcn.00479f2b
add esp, 4
mov dword [ebp - 0x1c0], eax
test eax, eax
je 0x5891b5
xor ecx, ecx
mov word [eax], cx
lea ecx, [edi - 4]
push ecx
lea ecx, [eax + 2]
push esi
push ecx
call fcn.0055dcc0
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x1cc], ecx
nop dword [eax]
cmp ecx, 3
jae 0x5891a7
mov eax, dword [ebp - 0x1bc]
push dword [eax + 0x10]
push dword [eax + 0x18]
push 0
push dword [ebp - 0x1c8]
push dword [ebp - 0x1c0]
push ebx
call dword [sym.imp.WS2_32.dll_sendto]
mov esi, eax
cmp esi, dword [ebp - 0x1c8]
jne 0x589171
push 0x7d0
lea eax, [ebp - 0x1d8]
push 1
push eax
call fcn.005ed310
add esp, 0xc
test eax, eax
jle 0x589152
push 0
push 0
push 0
push 8
lea eax, [ebp - 0x1e0]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
cmp esi, 8
je 0x589163
cmp esi, 0xffffffff
jne 0x589128
call edi
jmp 0x58912a
xor eax, eax
push eax
push esi
push str.recvfrom_result__d_ignored___d_
push 9
call fcn.004da370
push 0x7d0
lea eax, [ebp - 0x1d8]
push 1
push eax
call fcn.005ed310
add esp, 0x1c
test eax, eax
jg 0x589102
push str.timeout_or_error_waiting_for_resolver_n
push 9
call fcn.004da370
add esp, 8
jmp 0x58918d
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1c4], ecx
jmp 0x58918d
cmp esi, 0xffffffff
jne 0x58917a
call edi
jmp 0x58917c
xor eax, eax
push eax
push esi
push str.Failed_to_send_resolver_request___d___d__n
push 9
call fcn.004da370
add esp, 0x10
mov ecx, dword [ebp - 0x1cc]
inc ecx
cmp dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1cc], ecx
je 0x5890b0
push dword [ebp - 0x1c0]
call fcn.0058bb5f
add esp, 4
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x589008