Function at 0x403b80
Capabilities:
Check http status code
Connect to http server
Parse url
Send data
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x310c
call fcn.00435d00
mov eax, dword [0x459e00]
xor eax, esp
mov dword [esp + 0x3108], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x18]
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0x28]
push esi
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], ebx
call fcn.004040c0
mov esi, eax
cmp esi, ebx
je 0x403ee2
cmp edi, ebx
je 0x403ec2
push esi
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
cmp eax, ebx
je 0x403ec2
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
movzx edi, word [esi + 0x18]
mov ebx, dword [esi + 0x10]
push 0
push 0
push edx
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edi
push ebx
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ebx, eax
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x403ec2
mov eax, dword [esi + 0x2c]
push 0
push 0x20000000
push 0
push 0
push str.HTTP_1.1
push eax
push 0x452274
push ebx
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov edi, eax
test edi, edi
je 0x403ebb
xor ecx, ecx
push 0x2000
push ecx
lea edx, [esp + 0x1112]
push edx
mov word [esp + 0x1114], cx
call fcn.00434d00
mov eax, dword [esi + 0x10]
add esp, 0xc
push eax
push str.Host:_s
lea ecx, [esp + 0x1110]
push 0x1000
push ecx
call fcn.004356ec
mov ebx, dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
add esp, 0x10
push 0x10000000
push 0xffffffffffffffff
lea edx, [esp + 0x1110]
push edx
push edi
call ebx
test eax, eax
je 0x403eb0
xor eax, eax
push 0x80
push eax
lea ecx, [esp + 0x42]
push ecx
mov word [esp + 0x44], ax
call fcn.00434d00
mov eax, dword [ebp + 0x14]
add esp, 0xc
test eax, eax
je 0x403d14
dec eax
push eax
push str.Range:bytes_u__r_n
lea edx, [esp + 0x40]
push 0x40
push edx
call fcn.004356ec
add esp, 0x10
push 0xa0000000
push 0xffffffffffffffff
lea eax, [esp + 0x40]
push eax
push edi
call ebx
test eax, eax
je 0x403eb0
mov edx, dword [esp + 0x24]
test edx, edx
je 0x403d76
mov eax, edx
lea ebx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403d21
sub eax, ebx
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
sar eax, 1
push eax
push edx
push 0x2b
push edi
call ebx
test eax, eax
je 0x403eb0
mov edx, dword [esp + 0x20]
test edx, edx
je 0x403d6e
mov eax, edx
lea ecx, [eax + 2]
mov dword [esp + 0xc], ecx
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403d56
sub eax, dword [esp + 0xc]
sar eax, 1
push eax
push edx
push 0x2c
push edi
call ebx
test eax, eax
je 0x403eb0
push 0
push 0
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x403d94
call dword [sym.imp.KERNEL32.DLL_GetLastError]
jmp 0x403eb0
push 0
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x38]
push eax
push 0x20000013
push edi
mov dword [esp + 0x20], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403eb0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
test ecx, ecx
je 0x403dca
mov dword [ecx], eax
cmp eax, 0x12e
jne 0x403e5b
mov ebx, dword [ebp + 0x24]
test ebx, ebx
je 0x403eb0
xor ecx, ecx
push 0x1046
push ecx
lea edx, [esp + 0xca]
push edx
mov word [esp + 0xcc], cx
call fcn.00434d00
add esp, 0xc
push 0
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0xc8]
push ecx
push 0x21
push edi
mov dword [esp + 0x20], 0x824
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x403eb0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push 0
push ebx
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
mov edx, dword [esp + 0x44]
push eax
lea ecx, [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.00403b80
jmp 0x403eac
cmp eax, 0xce
jne 0x403e87
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x403eb0
mov ebx, dword [esp + 0x18]
push 0
push 0
dec eax
push eax
push ebx
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
cmp eax, 0xffffffff
jne 0x403e98
call dword [sym.imp.KERNEL32.DLL_GetLastError]
jmp 0x403e98
cmp eax, 0xc8
jne 0x403eb0
cmp dword [ebp + 0x14], 0
jne 0x403eb0
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 8]
push eax
call fcn.00404260
add esp, 4
mov dword [esp + 0x10], eax
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, dword [esp + 0x34]
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.004041f0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3108]
xor ecx, esp
call fcn.00434758
mov esp, ebp
pop ebp
ret 0x24
mov ecx, dword [esp + 0x3114]
pop edi
pop esi
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.00434758
mov esp, ebp
pop ebp
ret 0x24