Function at 0x10018850
Capabilities:
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004bd84
mov eax, dword fs:[0]
push eax
mov eax, 0x48d8
call fcn.10040480
mov eax, dword [0x1005d500]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x4898], eax
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [ebp + 0x18], edi
jne 0x100188ae
cmp dword [ebp + 0x1c], 0x10
jb 0x100188a7
mov ecx, dword [ebp + 8]
push ecx
call fcn.10032db0
add esp, 4
xor al, al
jmp 0x10018dd3
push 0x38
lea edx, [ebp - 0x48d8]
push edi
push edx
mov dword [ebp - 0x48dc], 0x3c
call fcn.10037e50
mov eax, 0x800
mov dword [ebp - 0x48c8], eax
mov dword [ebp - 0x48ac], eax
mov dword [ebp - 0x48bc], eax
mov dword [ebp - 0x48b4], eax
lea eax, [ebp - 0x401c]
mov dword [ebp - 0x48cc], eax
lea eax, [ebp - 0x4820]
add esp, 0xc
cmp dword [ebp + 0x1c], 0x10
lea ecx, [ebp - 0x814]
lea edx, [ebp - 0x3818]
mov dword [ebp - 0x48b8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x48b0], ecx
mov dword [ebp - 0x48c0], edx
jae 0x10018923
lea eax, [ebp + 8]
lea ecx, [ebp - 0x48dc]
push ecx
push edi
push edi
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlA]
mov edx, dword [ebp - 0x48c8]
mov ecx, dword [ebp - 0x48cc]
mov byte [ecx + edx], 0
mov edx, dword [ebp - 0x48ac]
mov ecx, dword [ebp - 0x48b0]
mov byte [ecx + edx], 0
mov edx, dword [ebp - 0x48bc]
mov ecx, dword [ebp - 0x48c0]
mov byte [ecx + edx], 0
mov ecx, dword [ebp - 0x48b8]
mov edx, dword [ebp - 0x48b4]
mov byte [ecx + edx], 0
mov ecx, 0xf
mov dword [ebp - 0x4844], ecx
mov dword [ebp - 0x4848], edi
mov byte [ebp - 0x4858], 0
mov dword [ebp - 0x4828], ecx
mov dword [ebp - 0x482c], edi
mov byte [ebp - 0x483c], 0
mov dword [ebp - 0x487c], ecx
mov dword [ebp - 0x4880], edi
mov byte [ebp - 0x4890], 0
mov dword [ebp - 0x4860], ecx
mov dword [ebp - 0x4864], edi
mov byte [ebp - 0x4874], 0
mov byte [ebp - 4], 4
cmp eax, edi
je 0x10018a6d
mov edx, dword [ebp - 0x48d0]
movzx eax, word [ebp - 0x48c4]
mov dword [ebp - 0x489c], edx
mov edx, dword [ebp - 0x48cc]
mov dword [ebp - 0x4894], eax
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100189f4
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x4858]
call fcn.100028b0
mov edx, dword [ebp - 0x48b0]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10018a15
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x483c]
call fcn.100028b0
mov edx, dword [ebp - 0x48c0]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10018a36
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x4890]
call fcn.100028b0
mov edx, dword [ebp - 0x48b8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10018a57
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x4874]
call fcn.100028b0
push edi
push edi
push edi
push 1
push edi
mov dword [ebp - 0x48e4], 0x100544a8
mov dword [ebp - 0x48e0], edi
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ebx, eax
cmp ebx, edi
jne 0x10018b61
mov esi, 0x10
cmp dword [ebp - 0x4860], esi
jb 0x10018aaf
mov ecx, dword [ebp - 0x4874]
push ecx
call fcn.10032db0
add esp, 4
mov ebx, 0xf
mov dword [ebp - 0x4860], ebx
mov dword [ebp - 0x4864], edi
mov byte [ebp - 0x4874], 0
cmp dword [ebp - 0x487c], esi
jb 0x10018ade
mov edx, dword [ebp - 0x4890]
push edx
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x487c], ebx
mov dword [ebp - 0x4880], edi
mov byte [ebp - 0x4890], 0
cmp dword [ebp - 0x4828], esi
jb 0x10018b08
mov eax, dword [ebp - 0x483c]
push eax
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x4828], ebx
mov dword [ebp - 0x482c], edi
mov byte [ebp - 0x483c], 0
cmp dword [ebp - 0x4844], esi
jb 0x10018b32
mov ecx, dword [ebp - 0x4858]
push ecx
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x4844], ebx
mov dword [ebp - 0x4848], edi
mov byte [ebp - 0x4858], 0
cmp dword [ebp + 0x1c], esi
jb 0x100188a7
mov edx, dword [ebp + 8]
push edx
call fcn.10032db0
add esp, 4
xor al, al
jmp 0x10018dd3
mov edx, dword [ebp - 0x4874]
mov eax, 0x10
cmp dword [ebp - 0x4860], eax
jae 0x10018b7a
lea edx, [ebp - 0x4874]
mov ecx, dword [ebp - 0x4890]
cmp dword [ebp - 0x487c], eax
jae 0x10018b8e
lea ecx, [ebp - 0x4890]
cmp dword [ebp - 0x4844], eax
mov eax, dword [ebp - 0x4858]
jae 0x10018ba2
lea eax, [ebp - 0x4858]
push 1
push edi
push dword [ebp - 0x489c]
push edx
push ecx
mov ecx, dword [ebp - 0x4894]
push ecx
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov esi, eax
cmp esi, edi
jne 0x10018c9b
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov esi, 0x10
cmp dword [ebp - 0x4860], esi
jb 0x10018be9
mov edx, dword [ebp - 0x4874]
push edx
call fcn.10032db0
add esp, 4
mov ebx, 0xf
mov dword [ebp - 0x4860], ebx
mov dword [ebp - 0x4864], edi
mov byte [ebp - 0x4874], 0
cmp dword [ebp - 0x487c], esi
jb 0x10018c18
mov eax, dword [ebp - 0x4890]
push eax
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x487c], ebx
mov dword [ebp - 0x4880], edi
mov byte [ebp - 0x4890], 0
cmp dword [ebp - 0x4828], esi
jb 0x10018c42
mov ecx, dword [ebp - 0x483c]
push ecx
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x4828], ebx
mov dword [ebp - 0x482c], edi
mov byte [ebp - 0x483c], 0
cmp dword [ebp - 0x4844], esi
jb 0x10018c6c
mov edx, dword [ebp - 0x4858]
push edx
call fcn.10032db0
add esp, 4
mov dword [ebp - 0x4844], ebx
mov dword [ebp - 0x4848], edi
mov byte [ebp - 0x4858], 0
cmp dword [ebp + 0x1c], esi
jb 0x100188a7
mov eax, dword [ebp + 8]
push eax
call fcn.10032db0
add esp, 4
xor al, al
jmp 0x10018dd3
cmp dword [ebp - 0x4828], 0x10
mov eax, dword [ebp - 0x483c]
jae 0x10018cb0
lea eax, [ebp - 0x483c]
push 1
push 0x84480000
lea ecx, [ebp - 0x48e4]
push ecx
push edi
push str.HTTP_1.1
push eax
push str.POST
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov edi, eax
test edi, edi
jne 0x10018d1e
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push ebx
call esi
lea ecx, [ebp - 0x4874]
call fcn.10002e90
lea ecx, [ebp - 0x4890]
call fcn.10002e90
lea ecx, [ebp - 0x483c]
call fcn.10002e90
lea ecx, [ebp - 0x4858]
call fcn.10002e90
lea ecx, [ebp + 8]
call fcn.10002e90
xor al, al
jmp 0x10018dd3
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x10018d42
push edi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
push ebx
call edi
jmp 0x10018ce3
push 0x2800
lea edx, [ebp - 0x3014]
push 0
push edx
call fcn.10037e50
add esp, 0xc
lea eax, [ebp - 0x48a0]
push eax
push 0x2800
lea ecx, [ebp - 0x3014]
push ecx
push edi
mov dword [ebp - 0x48a0], 0
call dword [sym.imp.WININET.dll_InternetReadFile]
push edi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
push ebx
call edi
mov edx, dword [ebp - 0x4898]
push edx
lea edx, [ebp - 0x3014]
call fcn.10002150
lea ecx, [ebp - 0x4874]
call fcn.10002e90
lea ecx, [ebp - 0x4890]
call fcn.10002e90
lea ecx, [ebp - 0x483c]
call fcn.10002e90
lea ecx, [ebp - 0x4858]
call fcn.10002e90
lea ecx, [ebp + 8]
call fcn.10002e90
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10034d4a
mov esp, ebp
pop ebp
ret