Function at 0x10007984
Capabilities:
Check http status code
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
sub esp, 0xc
xor ecx, ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x40]
mov esi, edx
test edi, edi
je 0x10007999
mov dword [edi], ecx
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x100079a3
mov dword [ebx], ecx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100079ad
mov dword [eax], ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x100079b7
mov dword [eax], ecx
push ecx
push ecx
push ecx
push ecx
xor ebp, ebp
push str.Microsoft_CryptoAPI_6.3
mov dword [esp + 0x24], ecx
inc ebp
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10007ba0
xor ecx, ecx
push ecx
push ecx
push 3
push ecx
push ecx
push dword [esp + 0x34]
push esi
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [esp + 0x14], eax
test eax, eax
je 0x10007b96
xor ecx, ecx
push ecx
push 0x84000000
push ecx
push ecx
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
test esi, esi
je 0x10007b8c
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x38]
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x10007b85
test edi, edi
je 0x10007a9d
test ebx, ebx
je 0x10007a9d
xor ecx, ecx
push ecx
lea eax, [esp + 0x44]
push eax
push ecx
push 0x16
push esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], ecx
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10007a95
lea ecx, [eax + 1]
call fcn.1000ad8b
push 0
lea ecx, [esp + 0x44]
push ecx
push eax
push 0x16
push esi
mov dword [esp + 0x58], eax
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov byte [ecx + edx], 0
mov eax, dword [esp + 0x40]
jmp 0x10007a99
mov edx, dword [esp + 0x44]
mov dword [edi], edx
mov dword [ebx], eax
push 0
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x18]
push eax
push 0x20000013
push esi
mov dword [esp + 0x3c], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x10007b85
cmp dword [esp + 0x10], 0xc8
jne 0x10007b85
and dword [esp + 0x44], 0
mov ecx, 0x2000
xor edi, edi
call fcn.1000ad8b
and dword [esp + 0x40], edi
mov ebx, eax
jmp 0x10007b43
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10007b5b
add eax, dword [esp + 0x44]
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.1000ad8b
push dword [esp + 0x44]
mov edx, edi
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.1000adab
mov ecx, dword [esp + 0x20]
push dword [esp + 0x40]
add ecx, dword [esp + 0x48]
mov edx, ebx
call fcn.1000adab
test edi, edi
je 0x10007b32
mov ecx, edi
call fcn.1000ad9b
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
and dword [esp + 0x40], 0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x40]
push eax
push 0x2000
push ebx
push esi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x10007aec
jmp 0x10007b5d
xor ebp, ebp
mov ecx, ebx
call fcn.1000ad9b
test ebp, ebp
jne 0x10007b7a
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov eax, dword [esp + 0x48]
mov dword [eax], edi
jmp 0x10007b85
test edi, edi
je 0x10007b85
mov ecx, edi
call fcn.1000ad9b
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x14]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
push dword [esp + 0x18]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
xor eax, eax
pop esi
test ebp, ebp
pop ebp
sete al
pop ebx
add esp, 0xc
ret 0x30