Function at 0x4fa12f
Capabilities:
Connect socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
mov eax, 0x67463d
call fcn.006313fc
mov eax, 0x2208
call section..text
push ebx
push ebp
push edi
mov ebx, ecx
lea edi, [esp + 0x124]
push 8
xor eax, eax
mov dword [esp + 0x68], ebx
pop ecx
rep stosd dword es:[edi], eax
xor ebp, ebp
mov dword [esp + 0x12c], 1
lea eax, [ebx + 0x30]
mov dword [esp + 0x128], ebp
cmp dword [eax + 0x14], 0x10
mov dword [esp + 0x130], 6
mov dword [esp + 0x14], ebp
jb 0x4fa188
mov eax, dword [eax]
cmp dword [ebx + 0x14], 0x10
jb 0x4fa192
mov ecx, dword [ebx]
jmp 0x4fa194
mov ecx, ebx
lea edx, [esp + 0x14]
push edx
lea edx, [esp + 0x128]
push edx
push eax
push ecx
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
je 0x4fa1da
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.getaddrinfo_failed
push eax
lea ecx, [esp + 0x1c]
call fcn.006340ab
mov dword [esp + 0x18], vtable.std::runtime_error.0
lea eax, [esp + 0x18]
push 0x7369e8
push eax
call fcn.00631398
mov eax, dword [esp + 0x14]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4fa21d
lea eax, [esp + 0x10]
mov dword [esp + 0x10], str.Cannot_create_outgoing_socket
push eax
lea ecx, [esp + 0x1c]
call fcn.006340ab
mov dword [esp + 0x18], vtable.std::runtime_error.0
lea eax, [esp + 0x18]
push 0x7369e8
jmp 0x4fa1d4
push esi
push 4
lea eax, [esp + 0x38]
mov dword [esp + 0x70], ebp
mov ebp, dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, 0xffff
push eax
push 0x1006
push esi
push edi
mov dword [esp + 0x48], 0x3e8
call ebp
push 4
lea eax, [esp + 0x38]
push eax
push 0x1005
push esi
push edi
call ebp
push 4
lea eax, [esp + 0x70]
push eax
push 0x1b
push 0x29
push edi
call ebp
mov eax, dword [esp + 0x18]
push dword [eax + 0x10]
push dword [eax + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
push dword [esp + 0x18]
mov esi, eax
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp esi, 0xffffffff
jne 0x4fa2b9
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], str.Socket_cannot_connect
push eax
lea ecx, [esp + 0x20]
call fcn.006340ab
mov dword [esp + 0x1c], vtable.std::runtime_error.0
lea eax, [esp + 0x1c]
push 0x7369e8
push eax
call fcn.00631398
push 0
push 0
push 0x7010
push 0xffff
push edi
call ebp
push 1
push 2
lea ecx, [esp + 0x188]
call fcn.0043de77
xor eax, eax
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0x2220], eax
mov dword [esp + 0xa0], eax
mov byte [esp + 0x90], al
mov byte [esp + 0x2220], 1
cmp dword [ebx + 0x70], eax
je 0x4fa32a
mov esi, 0x693834
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x98]
call fcn.00409b2f
mov eax, dword [ebx + 0x70]
xor ebp, ebp
jmp 0x4fa348
mov esi, 0x69383c
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x98]
call fcn.00409b2f
xor ebp, ebp
mov eax, ebp
mov esi, 0x693840
push esi
push eax
push 0x693844
push str.Connection:_close_r_n
push 0x6aae50
call fcn.00490ab9
push eax
push str._ver:
push str.User_Agent:_ut_core_BenchHttp
push esi
push ebx
push str.Host:
push str._HTTP_1.1_r_n
lea eax, [ebx + 0x18]
push eax
push 0x692fc0
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.004454eb
mov ecx, eax
call fcn.0043e062
push eax
call fcn.004454eb
push eax
call fcn.004454eb
push eax
call fcn.004454eb
mov ecx, eax
call fcn.0043e16a
push eax
call fcn.004454eb
cmp dword [ebx + 0x58], ebp
je 0x4fa416
push esi
lea eax, [ebx + 0x48]
push eax
push 0x6938a0
lea eax, [esp + 0x18c]
push eax
call fcn.004454eb
push eax
call fcn.00443e5b
push eax
call fcn.004454eb
push esi
lea eax, [esp + 0x184]
push eax
call fcn.004454eb
cmp dword [ebx + 0x70], ebp
je 0x4fa43a
lea eax, [ebx + 0x60]
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00443e5b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x184]
call fcn.00440eae
mov esi, eax
lea eax, [esp + 0x50]
mov byte [esp + 0x2220], 2
push eax
lea ecx, [esp + 0x184]
call fcn.00440eae
cmp dword [eax + 0x14], 0x10
jb 0x4fa46e
mov eax, dword [eax]
push ebp
push dword [esi + 0x10]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push ebp
push 1
lea ecx, [esp + 0x58]
mov dword [ebx + 0x9c], eax
call fcn.0040a0e9
push ebp
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2228], 1
call fcn.0040a0e9
cmp dword [ebx + 0x9c], 0xffffffff
jne 0x4fa4dc
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], str.Socket_cannot_send
push eax
lea ecx, [esp + 0x20]
call fcn.006340ab
mov dword [esp + 0x1c], vtable.std::runtime_error.0
lea eax, [esp + 0x1c]
push 0x7369e8
jmp 0x4fa2b3
and dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0xf
mov byte [esp + 0x38], 0
mov byte [esp + 0x2220], 3
mov byte [esp + 0x13], 1
xor esi, esi
push 0x2000
lea eax, [esp + 0x21c]
push 0
push eax
call fcn.00635a30
add esp, 0xc
lea eax, [esp + 0x218]
xor ebp, ebp
push ebp
push 0x1fff
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x4fa5e8
add dword [ebx + 0xa0], eax
cmp byte [esp + 0x13], 0
je 0x4fa5cc
push eax
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x40]
call fcn.00409d17
mov ebp, str._r_n_r_n
push ebp
call fcn.00409db4
pop ecx
push eax
push esi
push ebp
lea ecx, [esp + 0x44]
call fcn.00435670
mov ebp, eax
test ebp, ebp
jle 0x4fa5ba
cmp dword [esp + 0x4c], 0x10
mov eax, dword [esp + 0x38]
jae 0x4fa583
lea eax, [esp + 0x38]
push dword [esp + 0x222c]
lea ecx, [eax + 4]
mov eax, dword [esp + 0x4c]
sub eax, ebp
add ecx, ebp
sub eax, 4
push eax
push ecx
mov ecx, ebx
call fcn.004fa102
push 0
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x40]
call fcn.0043c60e
mov byte [esp + 0x13], 0
jmp 0x4fa4fd
mov esi, dword [esp + 0x48]
add esi, 0xfffffffc
jns 0x4fa4fd
jmp 0x4fa4fb
push dword [esp + 0x222c]
mov ecx, ebx
push eax
lea eax, [esp + 0x220]
push eax
call fcn.004fa102
jmp 0x4fa4fd
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, 0x693840
push esi
call fcn.00409db4
pop ecx
push eax
push ebp
push esi
lea ecx, [esp + 0x44]
call fcn.00435670
push eax
push ebp
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x44]
call fcn.0043d015
push 1
push str.______t___0_9_____t_
lea ecx, [esp + 0x88]
mov byte [esp + 0x2228], 4
call fcn.0044907e
lea ecx, [esp + 0x148]
call fcn.0044914e
push ebp
lea eax, [esp + 0x84]
mov byte [esp + 0x2224], 6
push eax
lea eax, [esp + 0x150]
push eax
lea eax, [esp + 0xe4]
push eax
call fcn.004486f2
test al, al
jne 0x4fa6c8
push str.BenchHttp_status_line_not_recognizable__
lea ecx, [esp + 0x54]
call fcn.00409ba7
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xe0]
mov byte [esp + 0x2228], 7
push eax
lea ecx, [esp + 0x5c]
call fcn.00409c77
mov esi, 0x704a50
push esi
call fcn.00409db4
pop ecx
push eax
push esi
lea ecx, [esp + 0x58]
call fcn.00409d17
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x20]
call fcn.0041b91c
push 0x7369e8
lea eax, [esp + 0x20]
jmp 0x4fa2b3
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x150]
sub eax, ecx
push 0xc
cdq
pop edi
idiv edi
cmp eax, 1
ja 0x4fa6ec
lea ecx, [esp + 0x174]
jmp 0x4fa6ef
add ecx, 0xc
lea eax, [esp + 0x50]
push eax
call fcn.00453e98
cmp dword [eax + 0x14], 0x10
jb 0x4fa701
mov eax, dword [eax]
push eax
call fcn.00632ccc
pop ecx
push ebp
push 1
lea ecx, [esp + 0x58]
mov dword [ebx + 0x78], eax
call fcn.0040a0e9
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xac]
call fcn.0040a0c6
push 1
push str._.__:___t__.__r_n
lea ecx, [esp + 0x78]
mov byte [esp + 0x2228], 8
call fcn.0044907e
lea ecx, [esp + 0xf0]
call fcn.0044914e
push ebp
lea eax, [esp + 0x74]
mov byte [esp + 0x2224], 0xa
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.004486f2
test al, al
je 0x4fa8a8
lea eax, [ebx + 0x94]
mov ebx, eax
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x11c]
mov esi, dword [esp + 0xf8]
sub eax, esi
cdq
idiv edi
mov ebp, eax
cmp ebp, 1
jbe 0x4fa7a3
lea ecx, [esi + 0xc]
lea eax, [esp + 0x1c]
push eax
call fcn.00453e98
cmp dword [esp + 0x30], 0x10
mov ecx, dword [esp + 0x1c]
mov edi, ecx
mov byte [esp + 0x2220], 0xb
jae 0x4fa9cd
lea edi, [esp + 0x1c]
mov edx, edi
mov eax, dword [esp + 0x2c]
add eax, edx
cmp dword [esp + 0x30], 0x10
jae 0x4fa7dd
lea ecx, [esp + 0x1c]
push fcn.00636212
push edi
push eax
push ecx
lea eax, [esp + 0x24]
push eax
call fcn.0045829f
lea ecx, [esp + 0x11c]
cmp ebp, 2
jbe 0x4fa7fe
lea ecx, [esi + 0x18]
lea eax, [esp + 0x50]
push eax
call fcn.00458687
push 0xc
pop eax
mov byte [esp + 0x2220], al
mov ecx, ebx
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00458629
mov ecx, eax
call fcn.00409822
xor ebp, ebp
mov byte [esp + 0x2220], 0xb
push ebp
push 1
lea ecx, [esp + 0x58]
call fcn.0040a0e9
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x114]
call fcn.00453e98
push eax
lea ecx, [esp + 0xac]
call fcn.00409822
push ebp
push 1
lea ecx, [esp + 0x58]
call fcn.0040a0e9
push ebp
push 1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2228], 0xa
call fcn.0040a0e9
push ebp
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0xf8]
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.004486f2
push 0xc
pop edi
test al, al
jne 0x4fa77f
mov ebx, dword [esp + 0x68]
push str.location
lea ecx, [esp + 0x54]
call fcn.00409ba7
lea eax, [esp + 0x50]
mov byte [esp + 0x2220], 0xd
push eax
lea ecx, [ebx + 0x94]
call fcn.004585cb
push eax
lea ecx, [esp + 0xc4]
call fcn.0040a0c6
push ebp
push 1
lea ecx, [esp + 0x58]
mov byte [esp + 0x2228], 0xf
call fcn.0040a0e9
cmp dword [esp + 0xd0], 0
je 0x4fa90f
push dword [esp + 0x222c]
lea eax, [esp + 0xc4]
mov ecx, ebx
push eax
call fcn.004fad49
xor ebx, ebx
lea ecx, [esp + 0xc0]
push ebx
push 1
call fcn.0040a0e9
lea ecx, [esp + 0xf8]
call fcn.0041abd3
lea ecx, [esp + 0x70]
mov byte [esp + 0x2220], 8
call fcn.0044da1b
lea ecx, [esp + 0x7c]
call fcn.0041b878
push ebx
push 1
lea ecx, [esp + 0xb0]
call fcn.0040a0e9
lea ecx, [esp + 0x150]
call fcn.0041abd3
lea ecx, [esp + 0x80]
mov byte [esp + 0x2220], 4
call fcn.0044da1b
lea ecx, [esp + 0x8c]
call fcn.0041b878
push ebx
push 1
lea ecx, [esp + 0xe0]
call fcn.0040a0e9
push ebx
push 1
lea ecx, [esp + 0x40]
call fcn.0040a0e9
push ebx
push 1
lea ecx, [esp + 0x98]
call fcn.0040a0e9
lea ecx, [esp + 0x180]
call fcn.0043e29e
mov ecx, dword [esp + 0x2218]
pop esi
pop edi
pop ebp
pop ebx
mov dword fs:[0], ecx
leave
ret 4
mov edx, ecx
jmp 0x4fa7cc