Function at 0x1000f1f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push 0xffffffffffffffff
push 0x1002f816
mov eax, dword fs:[0]
push eax
mov eax, 0x1168
call fcn.10021750
mov eax, dword [0x1003a1c0]
xor eax, esp
mov dword [esp + 0x1160], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1003a1c0]
xor eax, esp
push eax
lea eax, [esp + 0x117c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x118c]
mov esi, ecx
mov dword [esp + 0x28], eax
xor ebx, ebx
mov edi, 0xf
mov eax, esi
mov dword [esp + 0x34], 0x50
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
lea ebp, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1000f265
sub eax, ebp
push eax
push esi
lea ecx, [esp + 0xd8]
call fcn.10007110
mov dword [esp + 0x1184], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x68]
push eax
mov ecx, esi
mov byte [esp + 0x1190], 2
call fcn.1000eab0
mov ecx, dword [esp + 0x40]
add esp, 0xc
push ecx
mov word [esp + 0x128], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ebp, 0x10
cmp dword [esp + 0x78], ebp
mov word [esp + 0x126], ax
mov eax, dword [esp + 0x64]
jae 0x1000f2fa
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
mov dword [esp + 0x128], eax
jne 0x1000f3a5
cmp dword [esp + 0x78], ebp
mov eax, dword [esp + 0x64]
jae 0x1000f31f
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
jne 0x1000f397
cmp dword [esp + 0x94], ebp
jb 0x1000f343
mov edx, dword [esp + 0x80]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x78], ebp
mov byte [esp + 0x80], bl
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
jb 0x1000f36b
mov eax, dword [esp + 0x64]
push eax
call fcn.1001dad4
add esp, 4
mov dword [esp + 0x78], edi
cmp dword [esp + 0xe8], ebp
mov byte [esp + 0x64], bl
mov dword [esp + 0x74], ebx
jb 0x1000f390
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.1001dad4
add esp, 4
xor al, al
jmp 0x1000fc31
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x128], ecx
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x24], esi
je 0x1000f32a
push ebp
lea edx, [esp + 0x128]
push edx
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1000f44d
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [esp + 0x94], ebp
jb 0x1000f3f5
mov eax, dword [esp + 0x80]
push eax
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x78], ebp
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
jb 0x1000f41d
mov ecx, dword [esp + 0x64]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xe8], ebp
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
jb 0x1000f390
mov edx, dword [esp + 0xd4]
push edx
call fcn.1001dad4
add esp, 4
xor al, al
jmp 0x1000fc31
lea eax, [esp + 0x7c]
push eax
mov ecx, str.GET
lea edi, [esp + 0xf0]
call fcn.10008e10
add esp, 4
push eax
mov edi, str._HTTP_1.1_r_nAccept:___r_nUser_Agent:_YZ_r_nConnection:_Keep_Alive_r_nHost:
lea esi, [esp + 0x10c]
mov byte [esp + 0x1188], 3
call fcn.10008ec0
add esp, 4
lea ecx, [esp + 0x60]
push ecx
push eax
lea edi, [esp + 0x44]
mov byte [esp + 0x118c], 4
call fcn.1000c720
push eax
mov edi, str._r_n_r_n
lea esi, [esp + 0xc0]
mov byte [esp + 0x1190], 5
call fcn.10008ec0
add esp, 0xc
cmp dword [esp + 0x54], ebp
jb 0x1000f4ca
mov edx, dword [esp + 0x40]
push edx
call fcn.1001dad4
add esp, 4
mov esi, 0xf
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
cmp dword [esp + 0x120], ebp
jb 0x1000f4f4
mov eax, dword [esp + 0x10c]
push eax
call fcn.1001dad4
add esp, 4
mov dword [esp + 0x120], esi
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
mov byte [esp + 0x1184], 9
cmp dword [esp + 0x104], ebp
jb 0x1000f52a
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xcc], ebp
mov eax, dword [esp + 0xb8]
jae 0x1000f541
lea eax, [esp + 0xb8]
mov edx, dword [esp + 0xc8]
push ebx
push edx
push eax
mov eax, dword [esp + 0x30]
push eax
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1000f5d3
cmp dword [esp + 0xcc], ebp
jb 0x1000f574
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x94], ebp
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
jb 0x1000f5a2
mov edx, dword [esp + 0x80]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x78], ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
jb 0x1000f5ca
mov eax, dword [esp + 0x64]
push eax
call fcn.1001dad4
add esp, 4
mov dword [esp + 0x78], esi
jmp 0x1000f36f
mov byte [esp + 0x17], bl
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
lea edx, [esp + 0x134]
push edx
mov byte [esp + 0x1188], 0xa
mov byte [esp + 0x23], 1
mov dword [esp + 0x30], ebx
call fcn.10012640
push 0xfff
lea eax, [esp + 0x179]
push ebx
mov byte [esp + 0x118c], 0xb
push eax
xor edi, edi
mov byte [esp + 0x180], bl
call fcn.10020580
mov edx, dword [esp + 0x30]
add esp, 0xc
push ebx
push 0xfff
lea ecx, [esp + 0x17c]
push ecx
push edx
mov dword [esp + 0x28], ebx
xor esi, esi
call dword [sym.imp.WS2_32.dll_recv]
mov ebp, eax
cmp ebp, ebx
jle 0x1000f9d8
jmp 0x1000f664
mov edi, dword [esp + 0x30]
add edi, ebp
cmp byte [esp + 0x1f], bl
mov dword [esp + 0x30], edi
mov byte [esp + ebp + 0x174], bl
je 0x1000f895
lea eax, [esp + 0x174]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1000f685
sub eax, edx
push eax
lea eax, [esp + 0x178]
push eax
lea eax, [esp + 0xa0]
call fcn.10007020
cmp dword [esp + 0xb0], 0x10
mov eax, dword [esp + 0x9c]
jae 0x1000f6bd
lea eax, [esp + 0x9c]
mov ecx, dword [esp + 0xac]
push ecx
push eax
lea ebx, [esp + 0x13c]
call fcn.10012770
test al, al
je 0x1000f87d
mov eax, dword [esp + 0x134]
cmp eax, 0x64
jne 0x1000f6f9
lea edi, [esp + 0x98]
call fcn.10006200
xor ebx, ebx
jmp 0x1000f9b5
cmp eax, 0xc8
jne 0x1000faaf
mov eax, dword [esp + 0x154]
test eax, eax
mov dword [esp + 0x2c], eax
jne 0x1000f785
push str.TRANSFER_ENCODING
lea ecx, [esp + 0x10c]
call fcn.10006120
lea edx, [esp + 0x108]
push edx
lea ecx, [esp + 0x164]
mov byte [esp + 0x1188], 0xc
call fcn.100064a0
push eax
lea ecx, [esp + 0xf0]
call fcn.10006160
mov ecx, str.chunked
lea edi, [esp + 0xec]
mov byte [esp + 0x1184], 0xd
call fcn.10009930
mov ecx, edi
mov byte [esp + 0x17], al
call fcn.10006190
lea ecx, [esp + 0x108]
mov byte [esp + 0x1184], 0xb
call fcn.10006190
push str.CONTENT_ENCODING
lea ecx, [esp + 0xf0]
call fcn.10006120
lea eax, [esp + 0x58]
push eax
lea ebx, [esp + 0xf0]
lea esi, [esp + 0x164]
mov byte [esp + 0x1188], 0xe
call fcn.1000fc60
mov ecx, ebx
mov byte [esp + 0x1184], 0xb
call fcn.10006190
mov esi, dword [esp + 0x30]
sub esi, dword [esp + 0x15c]
xor al, al
sub ebp, esi
cmp byte [esp + 0x17], al
lea ebp, [esp + ebp + 0x174]
mov byte [esp + 0x1f], al
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], ebp
je 0x1000f861
mov esi, dword [esp + 0x28]
push esi
lea ecx, [esp + 0x1a]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x1c]
mov byte [esp + 0x1a], al
call fcn.1000f060
add esp, 4
test al, al
je 0x1000f832
cmp byte [esp + 0x16], 0
jne 0x1000f832
push esi
lea ecx, [esp + 0x1a]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x1c]
call fcn.1000f060
add esp, 4
test al, al
jne 0x1000f812
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x1000f980
push esi
call fcn.1001d552
mov ecx, dword [esp + 0x1c]
add esp, 4
push esi
mov edi, eax
push ecx
push edi
call fcn.10022e90
add esp, 0xc
mov dword [esp + 0x18], edi
jmp 0x1000f98a
mov ecx, dword [esp + 0x28]
push esi
push ebp
call fcn.100108c0
cmp esi, dword [esp + 0x2c]
jge 0x1000fb21
xor ebx, ebx
jmp 0x1000f9b5
cmp dword [esp + 0xac], 0x1000
ja 0x1000fb0c
xor ebx, ebx
jmp 0x1000f9b5
cmp byte [esp + 0x17], bl
je 0x1000f999
lea eax, [esi + ebp]
push eax
mov dword [esp + 0x24], eax
call fcn.1001d552
add esp, 4
cmp esi, ebx
mov edi, eax
mov dword [esp + 0x38], edi
jle 0x1000f8c8
mov edx, dword [esp + 0x18]
push esi
push edx
push edi
call fcn.10022e90
add esp, 0xc
push ebp
lea eax, [esp + 0x178]
push eax
lea ecx, [edi + esi]
push ecx
call fcn.10022e90
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
je 0x1000f8ee
push eax
call fcn.1001dedd
add esp, 4
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov byte [esp + 0x16], bl
push esi
lea ecx, [esp + 0x1a]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x1c]
mov dword [esp + 0x24], edx
call fcn.1000f060
add esp, 4
test al, al
je 0x1000f940
jmp 0x1000f920
cmp byte [esp + 0x16], 0
jne 0x1000f940
push esi
lea ecx, [esp + 0x1a]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x1c]
call fcn.1000f060
add esp, 4
test al, al
jne 0x1000f920
mov esi, dword [esp + 0x20]
test esi, esi
jle 0x1000f973
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
cmp ebp, ecx
je 0x1000f98a
test esi, esi
jle 0x1000f96d
mov eax, ebp
sub ecx, ebp
mov edi, esi
mov edi, edi
mov dl, byte [ecx + eax]
mov byte [eax], dl
add eax, 1
sub edi, 1
jne 0x1000f960
mov dword [esp + 0x18], ebp
jmp 0x1000f98a
mov eax, dword [esp + 0x38]
push eax
call fcn.1001dedd
add esp, 4
mov dword [esp + 0x18], 0
xor esi, esi
cmp byte [esp + 0x16], 0
jne 0x1000fb21
xor ebx, ebx
jmp 0x1000f9b5
push ebp
lea ecx, [esp + 0x178]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.100108c0
cmp edi, dword [esp + 0x2c]
jge 0x1000fb23
mov eax, dword [esp + 0x24]
push ebx
push 0xfff
lea edx, [esp + 0x17c]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov ebp, eax
cmp ebp, ebx
jg 0x1000f660
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
lea edx, [esp + 0x134]
push edx
mov byte [esp + 0x1188], 0xa
call fcn.10012700
mov esi, 0x10
cmp dword [esp + 0xb0], esi
jb 0x1000fa16
mov eax, dword [esp + 0x9c]
push eax
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xcc], esi
mov edi, 0xf
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x1000fa49
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x94], esi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
jb 0x1000fa77
mov edx, dword [esp + 0x80]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x78], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
jb 0x1000fa9f
mov eax, dword [esp + 0x64]
push eax
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xe8], esi
mov dword [esp + 0x78], edi
jmp 0x1000f376
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [esp + 0x134]
push eax
mov byte [esp + 0x1188], 0xa
call fcn.10012700
lea ecx, [esp + 0x98]
call fcn.10006190
lea ecx, [esp + 0xb4]
call fcn.10006190
lea ecx, [esp + 0x7c]
call fcn.10006190
lea ecx, [esp + 0x60]
call fcn.10006190
lea ecx, [esp + 0xd0]
call fcn.10006190
xor al, al
jmp 0x1000fc31
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
lea edx, [esp + 0x134]
push edx
jmp 0x1000fac2
xor ebx, ebx
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [esp + 0x80]
mov esi, 0x10
cmp dword [esp + 0x94], esi
jae 0x1000fb4a
lea edx, [esp + 0x80]
mov ecx, dword [esp + 0x28]
call fcn.100011f0
lea ecx, [esp + 0x134]
push ecx
mov byte [esp + 0x1188], 0xa
call fcn.10012700
cmp dword [esp + 0xb0], esi
jb 0x1000fb81
mov edx, dword [esp + 0x9c]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xcc], esi
mov edi, 0xf
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x1000fbb4
mov eax, dword [esp + 0xb8]
push eax
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x94], esi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xb8], bl
jb 0x1000fbe2
mov ecx, dword [esp + 0x80]
push ecx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0x78], esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
jb 0x1000fc0a
mov edx, dword [esp + 0x64]
push edx
call fcn.1001dad4
add esp, 4
cmp dword [esp + 0xe8], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
jb 0x1000fc2f
mov eax, dword [esp + 0xd4]
push eax
call fcn.1001dad4
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x117c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1160]
xor ecx, esp
call fcn.1001e327
add esp, 0x1174
ret