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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
mov eax, dword [0x5f4760]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x80]
push ebx
push edi
xor edi, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x7c]
mov dword [esp + 0xc], edi
cmp eax, edi
je 0x4237ca
mov ecx, dword [esi + 0x78]
sub eax, ecx
mov dword [esp + 0xc], eax
mov ebx, dword [esi + 8]
cmp dword [esi + 0x38], edi
je 0x423887
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x64]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x68]
push ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x1c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [ebx + 0x48]
push eax
mov eax, dword [ebx + 0x44]
push ecx
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [esi + 0x20]
push eax
mov eax, dword [ebx + 0x10]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esi + 0x60]
push eax
mov eax, dword [esi + 0x5c]
push ecx
mov ecx, dword [esi + 0x58]
push edx
mov edx, dword [esi + 0x3c]
push eax
mov eax, dword [ebx + 0x4c]
push ecx
mov ecx, dword [ebx + 0xc]
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
mov ecx, dword [esp + 0x70]
push edx
push str.GET__s__sk__d___hcode_u__res_d__curl_d__curlex_d__tor_d__cost_u__down_u__up_I64d__rd_d__rdcode_d__tr_u__ler_u__lo_s__rrange_s__wsaerr_d__sterr_d__rer_u__ser_u
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
push 7
mov ebx, 0x604408
mov dword [eax + 0xc], edi
call fcn.00446ca0
add esp, 0x6c
pop edi
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004a314d
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x14], edx
mov edx, dword [esi + 0x98]
push edx
mov edx, dword [esi + 0x8c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x94]
push eax
movzx eax, byte [esi + 0xa4]
mov dword [esp + 0x20], ecx
mov ecx, dword [esi + 0x90]
push ecx
mov ecx, dword [esi + 0x64]
push edx
mov edx, dword [esi + 0x68]
push eax
mov eax, dword [esi + 0x18]
push ecx
mov ecx, dword [ebx + 0x1c]
push edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [ebp + 8]
push eax
mov eax, dword [ebx + 0x48]
push ecx
mov ecx, dword [ebx + 0x44]
push edx
mov edx, dword [esi + 0x24]
push eax
mov eax, dword [esi + 0x20]
push ecx
mov ecx, dword [ebx + 0x10]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esi + 0x60]
push ecx
mov ecx, dword [esi + 0x5c]
push edx
mov edx, dword [esi + 0x58]
push eax
mov eax, dword [esi + 0x3c]
push ecx
mov ecx, dword [ebx + 0x4c]
push edx
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push str.POST__s__sk__d___hcode_u__res_d__curl_d__curlex_d__tor_d__cost_u__down_u__up_I64d__rd_d__rdcode_d__tr_u__ler_u__lo_s__rrange_s__wsaerr_d__sterr_d__poerr_d__rer_u__ser_u__POOV_d__POFR_d__Po10_d__BPoCC_d__BPoPb_d
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
push 7
mov ebx, 0x604408
mov dword [eax + 0xc], edi
call fcn.00446ca0
mov ecx, dword [esp + 0xb0]
add esp, 0x84
pop edi
pop ebx
xor ecx, esp
call fcn.004a314d
mov esp, ebp
pop ebp
ret 8