Function at 0x45600e
Capabilities:
Connect to http server
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, ecx
push esi
mov eax, dword [ebx + 0x10]
inc eax
cmp eax, 6
ja case.0x456007.0
jmp dword [eax*4 + 0x4562a8]
movzx eax, word [ebx + 0xf20]
push 0
push 0
push 3
push 0
push 0
push eax
lea eax, [ebx + 0xd20]
push eax
push dword [ebx]
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ecx, eax
mov dword [ebx + 4], ecx
test ecx, ecx
jne 0x45604c
push 0x4829f8
mov ecx, ebx
call fcn.00456410
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0x80000200
push 0
push 0
push str.HTTP_1.0
lea eax, [ebx + 0x18]
push eax
lea eax, [ebx + 0xe20]
push eax
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
cmp dword [ebx + 4], 0
mov dword [ebx + 8], eax
jne 0x45608b
push 0x482a24
mov ecx, ebx
call fcn.00456410
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x10], 3
cmp dword [ebx + 0xf24], 0
je 0x456167
mov eax, dword [ebx + 0xc1c]
mov ecx, str.Content_Type:_application_x_www_form_urlencoded_r_n
test eax, eax
mov esi, 0x47a34f
cmovne esi, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4560b7
sub ecx, edx
mov edx, esi
push edi
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4560c6
sub edx, edi
lea eax, [edx + 1]
add eax, ecx
push eax
call fcn.0045d581
mov edx, str.Content_Type:_application_x_www_form_urlencoded_r_n
mov dword [ebp - 4], eax
mov edi, eax
add esp, 4
sub edi, edx
nop dword [eax]
mov cl, byte [edx]
lea edx, [edx + 1]
mov byte [edi + edx - 1], cl
test cl, cl
jne 0x4560f0
mov ecx, esi
mov dword [ebp - 8], ecx
mov al, byte [esi]
inc esi
test al, al
jne 0x456102
mov edx, dword [ebp - 4]
sub esi, ecx
lea edi, [edx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x456111
mov ecx, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0xf24]
mov ecx, esi
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456140
sub ecx, edi
push ecx
push esi
push 0xffffffffffffffff
push edx
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
push dword [ebp - 4]
mov esi, eax
call fcn.0045d57c
add esp, 4
pop edi
jmp 0x45617e
push 0
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc1c]
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov esi, eax
test esi, esi
jne 0x45619f
push dword [ebx + 4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push 0x482a40
mov ecx, ebx
call fcn.00456410
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, ebx
mov dword [ebx + 0xf2c], 0x10000
call fcn.00455fc0
push dword [ebx + 0xf2c]
call fcn.0045d581
add esp, 4
mov dword [ebx + 0xf28], eax
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 4
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0xf2c]
lea ecx, [edx + 0x10000]
cmp ecx, eax
jle 0x456209
add eax, eax
cmp ecx, eax
jg 0x4561e5
push eax
push dword [ebx + 0xf28]
mov dword [ebx + 0xf2c], eax
call fcn.0046364b
mov edx, dword [ebx + 0x14]
add esp, 8
mov dword [ebx + 0xf28], eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebx + 0xf28]
push 0x10000
add eax, edx
push eax
push dword [ebx + 8]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x45624c
push dword [ebx + 8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebx + 4]
call esi
push 0x482a60
mov ecx, ebx
call fcn.00456410
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebp - 0xc]
add edx, ecx
mov dword [ebx + 0x14], edx
test ecx, ecx
jne 0x45628a
mov eax, dword [ebx + 0xf28]
mov dword [ebx + 0x10], 5
pop esi
pop ebx
mov byte [edx + eax], cl
xor eax, eax
mov esp, ebp
pop ebp
ret
push dword [ebx + 8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebx + 4]
call esi
mov dword [ebx + 0x10], 1
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret