Function at 0x47b61c
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x211
push 0
push 0
dec ecx
jne 0x47b625
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.00404c10
mov eax, dword [ebp - 0xc]
call fcn.00404c10
xor eax, eax
push ebp
push 0x47bd8d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x104], 0
je 0x47b678
mov eax, dword [ebp + 8]
mov edx, 0x47bda8
call fcn.004047b4
jmp 0x47bd55
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0
jne 0x47b69f
mov eax, dword [ebp - 4]
mov dword [eax + 0x50], 0x800000
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 4]
mov dword [eax + 0x4c], 0x1bb
jmp 0x47b6bd
mov eax, dword [ebp - 4]
mov dword [eax + 0x50], 0x80000000
mov eax, dword [ebp - 4]
mov dword [eax + 0x4c], 0x50
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], 1
lea edx, [ebp - 0x1050]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.004088e0
mov edx, dword [ebp - 0x1050]
mov eax, dword [ebp - 4]
add eax, 0x58
call fcn.004047b4
mov eax, dword [ebp - 4]
cmp dword [eax + 0x58], 0
jne 0x47b6f8
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x5c]
call fcn.004047f8
jmp 0x47b716
mov eax, dword [ebp - 4]
push dword [eax + 0x58]
push 0x47bdb4
mov eax, dword [ebp - 4]
push dword [eax + 0x5c]
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404ae0
mov eax, dword [ebp - 4]
add eax, 0x10c
call fcn.00404760
lea eax, [ebp - 0x44]
call fcn.00404760
xor ebx, ebx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00404a6c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
jne 0x47b767
lea edx, [ebp - 0x1054]
mov eax, dword [ebp - 0x30]
call fcn.0047fdd0
mov ecx, dword [ebp - 0x1054]
lea eax, [ebp - 0x40]
mov edx, 0x47bdc0
call fcn.00404a6c
jmp 0x47b791
lea eax, [ebp - 0x1058]
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x30]
xor eax, eax
call fcn.0047e820
mov ecx, dword [ebp - 0x1058]
lea eax, [ebp - 0x40]
mov edx, 0x47bdd0
call fcn.00404a6c
lea eax, [ebp - 0x1049]
xor ecx, ecx
mov edx, 0x1001
call fcn.00403060
push 0
push 0
push 0
push 0
push 0x47bdd8
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x47b7fb
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x1060]
call fcn.0047b45c
mov ecx, dword [ebp - 0x1060]
lea eax, [ebp - 0x105c]
mov edx, 0x47bdec
call fcn.00404a6c
mov ecx, dword [ebp - 0x105c]
mov dl, 1
mov eax, dword [0x407a18]
call fcn.0040c830
call fcn.0040419c
xor edx, edx
push ebp
push 0x47bc91
push dword fs:[edx]
mov dword fs:[edx], esp
push ebx
push 0
push 3
push 0
push 0
mov eax, dword [ebp - 4]
mov ax, word [eax + 0x4c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.00404c20
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.wininet.dll_InternetConnectA
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x47b875
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x1068]
call fcn.0047b45c
mov ecx, dword [ebp - 0x1068]
lea eax, [ebp - 0x1064]
mov edx, 0x47be0c
call fcn.00404a6c
mov ecx, dword [ebp - 0x1064]
mov dl, 1
mov eax, dword [0x407a18]
call fcn.0040c830
call fcn.0040419c
xor edx, edx
push ebp
push 0x47bc73
push dword fs:[edx]
mov dword fs:[edx], esp
push ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
push eax
push 0
push 0
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00404c20
push eax
push 0x47be28
mov eax, dword [ebp - 0x20]
push eax
call sub.wininet.dll_HttpOpenRequestA
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x47b8ee
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x1070]
call fcn.0047b45c
mov ecx, dword [ebp - 0x1070]
lea eax, [ebp - 0x106c]
mov edx, 0x47be38
call fcn.00404a6c
mov ecx, dword [ebp - 0x106c]
mov dl, 1
mov eax, dword [0x407a18]
call fcn.0040c830
call fcn.0040419c
xor edx, edx
push ebp
push 0x47bc55
push dword fs:[edx]
mov dword fs:[edx], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x417918]
call fcn.0041c5b4
mov ebx, eax
push 0x47be5c
mov eax, dword [ebp - 4]
push dword [eax + 0x54]
push 0x47be6c
lea eax, [ebp - 0x1074]
mov edx, 3
call fcn.00404ae0
mov edx, dword [ebp - 0x1074]
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47be78
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47bea4
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47bef8
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47bf24
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47bf60
mov eax, ebx
call fcn.0041c6c8
mov edx, 0x47bf7c
mov eax, ebx
call fcn.0041c6c8
push 0x20000000
mov eax, dword [ebx + 4]
call fcn.00404a20
push eax
mov eax, dword [ebx + 4]
call fcn.00404c20
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_HttpAddRequestHeadersA
xor ebx, ebx
xor edi, edi
xor esi, esi
call fcn.0040aa24
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x16]
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x12]
call fcn.0040a6d4
movzx eax, word [ebp - 0x18]
movzx edx, word [ebp - 0x16]
imul edx, edx, 0x3e8
add eax, edx
movzx edx, word [ebp - 0x14]
imul edx, edx, 0x3c
imul edx, edx, 0x3e8
add eax, edx
movzx edx, word [ebp - 0x12]
imul edx, edx, 0x3c
imul edx, edx, 0x3c
imul edx, edx, 0x3e8
add eax, edx
mov dword [ebp - 0x10], eax
jmp 0x47bb56
mov eax, dword [ebp - 0x40]
call fcn.00404a20
push eax
mov eax, dword [ebp - 0x40]
call fcn.00404c20
push eax
push 0x2f
push 0x47bf98
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_HttpSendRequestA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x47ba67
call sub.kernel32.dll_GetLastError_1
lea edx, [ebp - 0x107c]
call fcn.0047b45c
mov ecx, dword [ebp - 0x107c]
lea eax, [ebp - 0x1078]
mov edx, 0x47bfd0
call fcn.00404a6c
mov ecx, dword [ebp - 0x1078]
mov dl, 1
mov eax, dword [0x407a18]
call fcn.0040c830
call fcn.0040419c
test bl, bl
je 0x47bb01
lea eax, [ebp - 0x28]
push eax
push 0x800
lea eax, [ebp - 0x1049]
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetReadFile
lea eax, [ebp - 0x3c]
call fcn.00404760
cmp dword [ebp - 0x28], 0
jbe 0x47bb01
lea eax, [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1088]
lea edx, [ebp - 0x1049]
mov ecx, 0x1001
call fcn.004049d0
mov eax, dword [ebp - 0x1088]
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.00404c80
mov eax, dword [ebp - 0x1084]
lea edx, [ebp - 0x1080]
call fcn.004088e0
mov edx, dword [ebp - 0x1080]
lea eax, [ebp - 0x3c]
call fcn.00404a28
lea eax, [ebp - 0x28]
push eax
push 0x800
lea eax, [ebp - 0x1049]
push eax
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetReadFile
cmp dword [ebp - 0x28], 0
ja 0x47ba96
inc edi
call fcn.0040aa24
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x16]
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x12]
call fcn.0040a6d4
movzx eax, word [ebp - 0x18]
movzx edx, word [ebp - 0x16]
imul edx, edx, 0x3e8
add eax, edx
movzx edx, word [ebp - 0x14]
imul edx, edx, 0x3c
imul edx, edx, 0x3e8
add eax, edx
movzx edx, word [ebp - 0x12]
imul edx, edx, 0x3c
imul edx, edx, 0x3c
imul edx, edx, 0x3e8
add eax, edx
mov esi, eax
sub esi, dword [ebp - 0x10]
test bl, bl
jne 0x47bb6b
cmp edi, 2
jge 0x47bb6b
cmp esi, 0x2328
jl 0x47b9fe
test bl, bl
jne 0x47bbd9
lea eax, [ebp - 0x44]
mov edx, 0x47bda8
call fcn.004047f8
mov eax, dword [ebp - 4]
mov byte [eax + 0x104], 1
push 0x47bff4
lea edx, [ebp - 0x108c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.004089e0
push dword [ebp - 0x108c]
push 0x47c008
push dword [ebp - 0x30]
push 0x47c01c
mov eax, dword [ebp - 4]
push dword [eax + 0x54]
push 0x47c030
push dword [ebp - 0x2c]
push 0x47c044
push dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
add eax, 0x10c
mov edx, 0xa
call fcn.00404ae0
jmp 0x47bc3e
mov eax, dword [ebp - 0x3c]
call fcn.0047b53c
test al, al
je 0x47bbf4
lea eax, [ebp - 0x44]
mov edx, 0x47c054
call fcn.004047f8
jmp 0x47bc3e
lea eax, [ebp - 0x38]
call fcn.00404760
mov eax, dword [ebp - 0x3c]
call fcn.00404a20
mov ebx, eax
test ebx, ebx
jle 0x47bc33
mov esi, 1
lea eax, [ebp - 0x1090]
mov edx, dword [ebp - 0x3c]
mov dl, byte [edx + esi - 1]
call fcn.00404948
mov edx, dword [ebp - 0x1090]
lea eax, [ebp - 0x38]
call fcn.00404a28
inc esi
dec ebx
jne 0x47bc0f
lea eax, [ebp - 0x44]
mov edx, dword [ebp - 0x38]
call fcn.004047f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bc5c
mov eax, dword [ebp - 0x24]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47bd94
lea eax, [ebp - 0x1090]
mov edx, 0x11
call fcn.00404784
lea eax, [ebp - 0x48]
mov edx, 8
call fcn.00404784
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404784
ret