Function at 0x403b70
Capabilities:
Check http status code
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x141c
call fcn.0042a740
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x48]
mov edx, dword [eax - 8]
test edx, edx
lea ecx, [ebx + 0x48]
push esi
push edi
je 0x403baa
mov edx, dword [eax - 0xc]
test edx, edx
jl 0x403ba0
call fcn.004022e0
jmp 0x403baa
push 0x43d994
call fcn.00402590
mov eax, dword [ebp + 8]
push eax
mov ecx, ebx
call fcn.00403520
test eax, eax
jne 0x403bc7
mov eax, 0x80000001
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, ebx
call fcn.00403300
test eax, eax
je 0x403eb9
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x403e94
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 8]
push 0
push 0x4600010
push 0x44708c
push 0
push 0
push eax
push str.POST
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
test eax, eax
mov dword [ebx + 0xc], eax
je 0x403ea9
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push str.InPost
call esi
mov edi, eax
add edi, dword [ebp + 0x10]
push edi
call fcn.00429bd8
mov edx, eax
mov ecx, edi
mov edi, edx
mov dword [esp + 0x10], edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
add esp, 4
and ecx, 3
push str.InPost
rep stosb byte es:[edi], al
call esi
mov edi, dword [esp + 0xc]
mov ecx, eax
shr ecx, 2
mov esi, str.InPost
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0xc]
push str.InPost
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
add edi, dword [esp + 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, edx
push eax
and ecx, 3
push str.Content_Type:_application_x_www_form_urlencoded
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [ebx + 0xc]
push eax
push str.Content_Type:_application_x_www_form_urlencoded
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x403ce8
mov edx, dword [esp + 0xc]
push edx
call fcn.00429695
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, ebx
mov dword [ebx + 0x50], eax
call fcn.00402050
mov edi, dword [ebx + 0x50]
xor eax, eax
cmp edi, 0x2ee2
setne al
dec eax
and eax, reloc.OLEAUT32.dll_SysStringLen
dec eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esp + 0xc]
push eax
call fcn.00429695
mov eax, dword [ebx + 0xc]
mov esi, dword [sym.imp.WININET.dll_HttpQueryInfoA]
add esp, 4
push 0
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
push 0x20000013
push eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x24], 4
call esi
test eax, eax
je 0x403ea9
mov eax, dword [esp + 0x18]
cmp eax, 0xc8
je 0x403dac
cmp eax, 0x12c
jbe 0x403eb2
cmp eax, 0x12e
ja 0x403eb2
xor eax, eax
push eax
mov byte [esp + 0x24], 0
mov ecx, 0x100
lea edi, [esp + 0x25]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x28]
push edx
push 0x21
push eax
mov dword [esp + 0x24], 0x400
call esi
test eax, eax
je 0x403ea9
lea ecx, [esp + 0x20]
push ecx
lea ecx, [ebx + 0x48]
call fcn.00402590
mov edx, dword [ebx + 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebx + 0xc], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebx + 0x40]
test eax, eax
jne 0x403e94
mov esi, dword [ebp + 0x18]
xor eax, eax
mov ecx, 0x400
lea edi, [esp + 0x428]
rep stosd dword es:[edi], eax
mov eax, dword [esi]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0xc], edi
mov dword [esp + 0x1c], eax
mov dword [esi], 0
lea ecx, [ecx]
mov eax, dword [ebx + 0x40]
test eax, eax
mov dword [esp + 0x14], 0
jne 0x403e94
mov eax, dword [ebx + 0xc]
lea ecx, [esp + 0x14]
push ecx
push 0xfff
lea edx, [esp + 0x430]
push edx
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x403ea9
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x403e5f
mov edx, dword [esi]
mov eax, dword [esp + 0x1c]
add edx, ecx
cmp edx, eax
ja 0x403e5f
mov eax, ecx
shr ecx, 2
lea esi, [esp + 0x428]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp + 0x18]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, dword [eax]
add esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
add edx, ecx
mov dword [eax], edx
mov esi, eax
jmp 0x403e61
add dword [esi], ecx
test ecx, ecx
ja 0x403de0
mov byte [edi + 1], 0
mov ecx, dword [ebx + 0xc]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [esp + 0x1c]
mov dword [ebx + 0xc], 0
cmp edx, dword [esi]
sbb eax, eax
and eax, reloc.OLEAUT32.dll_SysStringLen
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, ebx
call fcn.00402050
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebx + 0x50], eax
mov ecx, ebx
call fcn.00402050
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0x14