Function at 0x10006130
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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10020db7
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x11cc
call fcn.10016e60
mov eax, dword [0x10029080]
xor eax, esp
mov dword [esp + 0x11c8], eax
push ebx
push esi
push edi
mov eax, dword [0x10029080]
xor eax, esp
push eax
lea eax, [esp + 0x11e0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov esi, edx
lea edx, [esp + 0xc8]
mov dword [esp + 0x18], ecx
xor edi, edi
push edx
mov ecx, ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edi
call fcn.10005cb0
add esp, 4
mov dword [esp + 0x11e8], edi
cmp dword [esp + 0xd8], edi
je 0x100061eb
push 0x100255a0
call fcn.1000c96d
add esp, 4
lea edi, [esp + 0xc8]
call fcn.10004320
cmp dword [esp + 0xdc], 0x10
jb 0x100061e4
mov eax, dword [esp + 0xc8]
push eax
call fcn.1000c6fb
add esp, 4
mov eax, esi
jmp 0x10006b49
mov eax, dword [ebx + 0x10]
add eax, 0xfffffffa
push eax
lea esi, [esp + 0x78]
mov ecx, ebx
call fcn.100072a0
lea ecx, [esp + 0x20]
push ebx
push ecx
mov byte [esp + 0x11f0], 1
call fcn.1000a080
add esp, 8
mov ecx, eax
mov eax, 0x1002a65c
lea edi, [esp + 0x58]
mov byte [esp + 0x11e8], 2
call fcn.1000a140
mov byte [esp + 0x11e8], 4
cmp dword [esp + 0x34], 0x10
jb 0x10006247
mov edx, dword [esp + 0x20]
push edx
call fcn.1000c6fb
add esp, 4
lea edx, [esp + 0x58]
lea ecx, [esp + 0xac]
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], 0
mov byte [esp + 0x20], 0
call fcn.10005960
mov dword [esp + 0x14], eax
lea eax, [esp + 0xe4]
push str._address
push eax
mov byte [esp + 0x11f0], 5
call fcn.1000a1c0
push eax
mov eax, str.like
lea esi, [esp + 0x10c]
mov byte [esp + 0x11f4], 6
call fcn.1000a290
add esp, 0xc
mov ecx, eax
lea eax, [esp + 0x74]
lea edi, [esp + 0x19c]
mov byte [esp + 0x11e8], 7
call fcn.1000a140
push eax
mov eax, str.mac
lea esi, [esp + 0x168]
mov byte [esp + 0x11ec], 8
call fcn.1000a290
add esp, 4
mov ecx, eax
mov eax, 0x1002a65c
lea edi, [esp + 0x1b8]
mov byte [esp + 0x11e8], 9
call fcn.1000a140
push eax
mov eax, str.ck
lea esi, [esp + 0x184]
mov byte [esp + 0x11ec], 0xa
call fcn.1000a290
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x11ec], 0xb
call fcn.10004f70
add esp, 4
mov esi, 0x10
cmp dword [esp + 0x194], esi
jb 0x1000634f
mov eax, dword [esp + 0x180]
push eax
call fcn.1000c6fb
add esp, 4
xor ebx, ebx
mov edi, 0xf
mov dword [esp + 0x194], edi
mov dword [esp + 0x190], ebx
mov byte [esp + 0x180], bl
cmp dword [esp + 0x1cc], esi
jb 0x10006384
mov ecx, dword [esp + 0x1b8]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
cmp dword [esp + 0x178], esi
jb 0x100063b2
mov edx, dword [esp + 0x164]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x178], edi
mov dword [esp + 0x174], ebx
mov byte [esp + 0x164], bl
cmp dword [esp + 0x1b0], esi
jb 0x100063e0
mov eax, dword [esp + 0x19c]
push eax
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x1b0], edi
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x19c], bl
cmp dword [esp + 0x114], esi
jb 0x1000640e
mov ecx, dword [esp + 0x100]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
cmp dword [esp + 0xf8], esi
jb 0x1000643c
mov edx, dword [esp + 0xe4]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0xf8], edi
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
mov byte [esp + 0x11e8], 0x13
cmp dword [esp + 0xc0], esi
jb 0x10006472
mov eax, dword [esp + 0xac]
push eax
call fcn.1000c6fb
add esp, 4
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
cmp edx, esi
jae 0x10006497
lea eax, [esp + 0x3c]
add eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x3c]
cmp edx, esi
jae 0x100064a7
lea ecx, [esp + 0x3c]
mov edx, dword [esp + 0x18]
push edx
push eax
push ecx
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
mov byte [esp + 0x30], bl
call fcn.1000a8d0
mov byte [esp + 0x11e8], 0x14
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x20]
lea edi, [esp + 0x90]
call fcn.1000a320
mov byte [esp + 0x11e8], 0x16
cmp dword [esp + 0x34], esi
jb 0x100064fb
mov ecx, dword [esp + 0x20]
push ecx
call fcn.1000c6fb
add esp, 4
push ebx
push 1
mov edi, 0xf
push 2
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x100065f1
mov ecx, dword [esp + 0x10]
push ebx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push 0x10025269
mov byte [ecx], bl
call fcn.10001240
cmp dword [esp + 0xa4], esi
jb 0x10006554
mov edx, dword [esp + 0x90]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [esp + 0x50], esi
jb 0x1000657c
mov eax, dword [esp + 0x3c]
push eax
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x6c], esi
jb 0x1000659b
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x88], esi
jb 0x100065bd
mov edx, dword [esp + 0x74]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp dword [esp + 0xdc], esi
jb 0x100065e8
mov eax, dword [esp + 0xc8]
push eax
call fcn.1000c6fb
add esp, 4
mov eax, dword [esp + 0x10]
jmp 0x10006b49
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x14], esi
jb 0x100065fc
mov eax, dword [eax]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
jne 0x100066dc
mov ecx, dword [esp + 0x10]
push ebx
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push 0x10025269
mov byte [ecx], bl
call fcn.10001240
cmp dword [esp + 0xa4], esi
jb 0x1000663b
mov ecx, dword [esp + 0x90]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [esp + 0x50], esi
jb 0x10006663
mov edx, dword [esp + 0x3c]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x6c], esi
jb 0x10006682
mov eax, dword [esp + 0x58]
push eax
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x88], esi
jb 0x100066a4
mov ecx, dword [esp + 0x74]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp dword [esp + 0xdc], esi
jb 0x100065e8
mov edx, dword [esp + 0xc8]
push edx
call fcn.1000c6fb
mov eax, dword [esp + 0x14]
add esp, 4
jmp 0x10006b49
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, 2
push 0x50
mov dword [esp + 0x15c], edx
mov word [esp + 0x158], ax
call dword [sym.imp.WS2_32.dll_htons]
mov edx, dword [esp + 0x14]
push esi
lea ecx, [esp + 0x158]
push ecx
push edx
mov word [esp + 0x162], ax
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jns 0x100067f8
push str.connect_error
call fcn.1000d456
mov ecx, dword [esp + 0x14]
add esp, 4
push 0x10025269
call fcn.100011d0
cmp dword [esp + 0xa4], esi
jb 0x10006757
mov eax, dword [esp + 0x90]
push eax
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [esp + 0x50], esi
jb 0x1000677f
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x6c], esi
jb 0x1000679e
mov edx, dword [esp + 0x58]
push edx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x88], esi
jb 0x100067c0
mov eax, dword [esp + 0x74]
push eax
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp dword [esp + 0xdc], esi
jb 0x100065e8
mov ecx, dword [esp + 0xc8]
push ecx
call fcn.1000c6fb
mov eax, dword [esp + 0x14]
add esp, 4
jmp 0x10006b49
lea edx, [esp + 0x100]
push str.GET
push edx
lea ebx, [esp + 0x98]
call fcn.1000a1c0
push eax
mov eax, str._HTTP_1.0_r_nHost:
lea esi, [esp + 0xf0]
mov byte [esp + 0x11f4], 0x17
call fcn.1000a290
add esp, 0xc
mov ecx, eax
mov eax, dword [esp + 0x1c]
lea edi, [esp + 0xac]
mov byte [esp + 0x11e8], 0x18
call fcn.1000a140
push eax
mov eax, str._r_nConnection:_close_r_n_r_n
lea esi, [esp + 0x13c]
mov byte [esp + 0x11ec], 0x19
call fcn.1000a290
add esp, 4
mov edi, 0x10
cmp dword [esp + 0xc0], edi
jb 0x10006883
mov eax, dword [esp + 0xac]
push eax
call fcn.1000c6fb
add esp, 4
xor ebx, ebx
mov esi, 0xf
mov dword [esp + 0xc0], esi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
cmp dword [esp + 0xf8], edi
jb 0x100068b8
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.1000c6fb
add esp, 4
mov dword [esp + 0xf8], esi
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], 0
mov byte [esp + 0x11e8], 0x1d
cmp dword [esp + 0x114], edi
jb 0x100068ef
mov edx, dword [esp + 0x100]
push edx
call fcn.1000c6fb
add esp, 4
mov eax, dword [esp + 0x138]
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], 0
cmp dword [esp + 0x14c], edi
jae 0x1000691c
lea eax, [esp + 0x138]
mov ecx, dword [esp + 0x148]
mov edi, dword [esp + 0x14]
push ebx
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
test eax, eax
jns 0x10006998
push str.Send_failed
call fcn.1000d456
mov esi, dword [esp + 0x14]
add esp, 4
push 0x10025269
mov ecx, esi
call fcn.100011d0
lea ecx, [esp + 0x138]
call fcn.10001210
lea ecx, [esp + 0x90]
call fcn.10001210
lea ecx, [esp + 0x3c]
call fcn.10001210
lea ecx, [esp + 0x58]
call fcn.10001210
lea ecx, [esp + 0x74]
call fcn.10001210
lea ecx, [esp + 0xc8]
call fcn.10001210
mov eax, esi
jmp 0x10006b49
xor esi, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
push 0x1000
lea edx, [esp + 0x1d8]
push esi
push edx
mov byte [esp + 0x11f4], 0x1e
call fcn.10011350
add esp, 0xc
push esi
push 0xfff
lea eax, [esp + 0x1dc]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x10006a34
mov ebx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x1d8]
push ecx
push esi
lea eax, [esp + eax + 0x1e0]
lea esi, [esp + 0x2c]
call fcn.1000aa40
push 0x1000
lea edx, [esp + 0x1d8]
push 0
push edx
call fcn.10011350
add esp, 0xc
push 0
push 0xfff
lea eax, [esp + 0x1dc]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
mov esi, dword [esp + 0x24]
test eax, eax
jg 0x100069e1
mov ebx, dword [esp + 0x20]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
sub esi, ebx
mov eax, esi
mov ecx, ebx
lea esi, [esp + 0x11c]
call fcn.10007280
push 4
push str._r_n_r_n
mov ecx, esi
mov bl, 0x1f
push ecx
xor eax, eax
mov byte [esp + 0x11f4], bl
call fcn.100046b0
cmp eax, 0xffffffff
je 0x10006aae
add eax, 4
push eax
lea esi, [esp + 0xb0]
lea ecx, [esp + 0x120]
call fcn.100072a0
mov edi, eax
lea esi, [esp + 0x11c]
mov byte [esp + 0x11e8], 0x20
call fcn.10004470
lea ecx, [esp + 0xac]
mov byte [esp + 0x11e8], bl
call fcn.10001210
jmp 0x10006ad4
cmp dword [esp + 0x130], 0x10
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x12c], 0
jae 0x10006ad1
lea eax, [esp + 0x11c]
mov byte [eax], 0
lea eax, [esp + 0x11c]
call fcn.10008000
mov ebx, dword [esp + 0x10]
inc dword [0x1002b8f0]
lea edi, [esp + 0x11c]
mov esi, ebx
call fcn.10004320
mov ecx, edi
call fcn.10001210
lea esi, [esp + 0x20]
call fcn.10008040
lea ecx, [esp + 0x138]
call fcn.10001210
lea ecx, [esp + 0x90]
call fcn.10001210
lea ecx, [esp + 0x3c]
call fcn.10001210
lea ecx, [esp + 0x58]
call fcn.10001210
lea ecx, [esp + 0x74]
call fcn.10001210
lea ecx, [esp + 0xc8]
call fcn.10001210
mov eax, ebx
mov ecx, dword [esp + 0x11e0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x11c8]
xor ecx, esp
call fcn.1000badd
mov esp, ebp
pop ebp
ret