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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68c
mov byte [ebp - 0x558], 0
push 0x103
push 0
lea eax, [ebp - 0x557]
push eax
call fcn.00538690
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea ecx, [ebp - 0x217]
push ecx
call fcn.00538690
add esp, 0xc
mov byte [ebp - 0x670], 0
push 0x103
push 0
lea edx, [ebp - 0x66f]
push edx
call fcn.00538690
add esp, 0xc
mov byte [ebp - 0x328], 0
push 0x103
push 0
lea eax, [ebp - 0x327]
push eax
call fcn.00538690
add esp, 0xc
mov byte [ebp - 0x110], 0
push 0x103
push 0
lea ecx, [ebp - 0x10f]
push ecx
call fcn.00538690
add esp, 0xc
mov byte [ebp - 0x440], 0
push 0x103
push 0
lea edx, [ebp - 0x43f]
push edx
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x558]
push eax
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x218]
push ecx
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x670]
push edx
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x328]
push eax
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x110]
push ecx
call fcn.00538690
add esp, 0xc
push 0x104
push 0
lea edx, [ebp - 0x440]
push edx
call fcn.00538690
add esp, 0xc
push 0x104
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x110]
push ecx
lea edx, [ebp - 0x328]
push edx
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x558]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00407ac0
add esp, 0x20
test eax, eax
jne 0x407ea1
xor eax, eax
jmp 0x408362
mov dword [ebp - 0x564], 0
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x444], 0x800
mov dword [ebp - 0x55c], 0
mov dword [ebp - 0x334], 0x10000
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x330], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x32c], 0
push 0
push 0
push 0
push 0
push str.WinInetGet_0.1
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0x564], eax
cmp dword [ebp - 0x564], 0
jne 0x407f47
jmp 0x4082a0
push 0
push 0
push 3
lea ecx, [ebp - 0x328]
push ecx
lea edx, [ebp - 0x670]
push edx
push 0x50
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x564]
push ecx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
jne 0x407f85
jmp 0x4082a0
mov dword [ebp - 0x44c], 0x805c9200
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x407fb4
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0
mov edx, dword [ebp - 0x44c]
push edx
push 0
push 0
push 0
lea eax, [ebp - 0x110]
push eax
push 0x58ef6c
mov ecx, dword [ebp - 0x560]
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 0
jne 0x407ff0
jmp 0x4082a0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x4080df
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f0d
jne 0x4080da
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 4
lea eax, [ebp - 0x674]
push eax
lea ecx, [ebp - 0x678]
push ecx
push 0x1f
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.WININET.dll_InternetQueryOptionA]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x4080d3
mov eax, dword [ebp - 0x678]
or eax, 0x100
mov dword [ebp - 0x678], eax
push 4
lea ecx, [ebp - 0x678]
push ecx
push 0x1f
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.WININET.dll_InternetSetOptionA]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x4080cc
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.WININET.dll_HttpSendRequestA]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x4080ca
jmp 0x4082a0
jmp 0x4080d1
jmp 0x4082a0
jmp 0x4080d8
jmp 0x4082a0
jmp 0x4080df
jmp 0x4082a0
mov ecx, dword [ebp - 0x444]
push ecx
call fcn.0040ca5a
add esp, 4
mov dword [ebp - 0x67c], eax
mov edx, dword [ebp - 0x67c]
mov dword [ebp - 0x21c], edx
cmp dword [ebp - 0x21c], 0
jne 0x40810e
jmp 0x4082a0
mov eax, dword [ebp - 0x444]
push eax
push 0
mov ecx, dword [ebp - 0x21c]
push ecx
call fcn.00538690
add esp, 0xc
push 0
lea edx, [ebp - 0x444]
push edx
mov eax, dword [ebp - 0x21c]
push eax
push 0x16
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x408159
jmp 0x4082a0
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp - 0x21c]
push eax
call fcn.00407bf0
add esp, 8
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x408183
jmp 0x4082a0
mov ecx, dword [ebp - 0x334]
push ecx
call fcn.0040ca5a
add esp, 4
mov dword [ebp - 0x680], eax
mov edx, dword [ebp - 0x680]
mov dword [ebp - 0x55c], edx
cmp dword [ebp - 0x55c], 0
jne 0x4081b2
jmp 0x4082a0
mov eax, dword [ebp - 0x330]
push eax
call fcn.0040ca5a
add esp, 4
mov dword [ebp - 0x684], eax
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0x450], ecx
cmp dword [ebp - 0x450], 0
jne 0x4081e1
jmp 0x4082a0
mov edx, dword [ebp - 0x330]
push edx
push 0
mov eax, dword [ebp - 0x450]
push eax
call fcn.00538690
add esp, 0xc
mov ecx, dword [ebp - 0x334]
push ecx
push 0
mov edx, dword [ebp - 0x55c]
push edx
call fcn.00538690
add esp, 0xc
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x334]
push ecx
mov edx, dword [ebp - 0x55c]
push edx
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
jne 0x408241
jmp 0x408282
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0x55c]
push edx
mov eax, dword [ebp - 0x450]
add eax, dword [ebp - 0x32c]
push eax
call fcn.005392f0
add esp, 0xc
mov ecx, dword [ebp - 0x32c]
add ecx, dword [ebp - 4]
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp - 0x330]
cmp edx, dword [ebp - 0x32c]
ja 0x4081f9
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x450]
mov dword [eax], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x330]
mov dword [edx], eax
xor ecx, ecx
jne 0x407f20
cmp dword [ebp - 0x55c], 0
je 0x4082ce
mov edx, dword [ebp - 0x55c]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x688]
push eax
call fcn.0040ca65
add esp, 4
mov dword [ebp - 0x55c], 0
cmp dword [ebp - 0x21c], 0
je 0x4082fc
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x68c], ecx
mov edx, dword [ebp - 0x68c]
push edx
call fcn.0040ca65
add esp, 4
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x220], 0
je 0x40831c
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x220], 0
cmp dword [ebp - 0x560], 0
je 0x40833c
mov ecx, dword [ebp - 0x560]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x560], 0
cmp dword [ebp - 0x564], 0
je 0x40835c
mov edx, dword [ebp - 0x564]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov dword [ebp - 0x564], 0
mov eax, dword [ebp - 0x448]
mov esp, ebp
pop ebp
ret