Function at 0x4605a0
Capabilities:
Connect to http server
Create http request
Download and write a file
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
mov eax, 0x1383c
call fcn.0057c720
mov eax, dword [0x65f810]
xor eax, esp
mov dword [esp + 0x13838], eax
mov eax, dword [esp + 0x13840]
push ebx
push esi
mov esi, dword [esp + 0x1384c]
mov ebx, ecx
test eax, eax
je 0x4605dc
test esi, esi
je 0x4605dc
push eax
call fcn.004603c0
test eax, eax
jne 0x4605e3
xor eax, eax
jmp 0x4608ad
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
cmp eax, 0x208
jae 0x4605dc
push esi
lea eax, [ebx + 0x42c]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov ecx, dword [esp + 0x13850]
push 0
push 0
push 0
push 1
push 0x5f0e20
mov dword [ebx + 0x14], ecx
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebx + 4], eax
test eax, eax
jne 0x46062f
mov ecx, ebx
call fcn.00460360
jmp 0x4608ad
mov edx, dword [ebx + 0x18]
cmp dword [edx], 0
je 0x460623
push 0
push 0
push 3
push 0
push 0
push 0x50
lea ecx, [ebx + 0x1c]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebx + 8], eax
test eax, eax
je 0x460623
mov edx, dword [ebx + 0x18]
cmp dword [edx], 0
je 0x460623
push 0
push 0x84000000
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0x5f32d8
lea edx, [ebx + 0x224]
push edx
push 0x61da84
push eax
mov dword [esp + 0x34], 0x5f32d0
mov dword [esp + 0x38], 0
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebx + 0xc], eax
test eax, eax
je 0x460623
mov eax, dword [ebx + 0x18]
cmp dword [eax], 0
mov ecx, ebx
je 0x460625
push ebp
call fcn.00460530
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x4606bd
mov ecx, ebx
call fcn.00460360
jmp 0x4608ac
push edi
test ebp, ebp
je 0x46073d
mov ecx, 7
mov esi, 0x5f32b0
lea edi, [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
push 0xa0000000
lea ecx, [esp + 0x28]
movsw word es:[edi], word [esi]
mov edi, dword [sym.imp.KERNEL32.DLL_lstrlenW]
push ecx
call edi
mov esi, dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
push eax
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x2c]
push edx
push eax
call esi
test eax, eax
je 0x4608c6
push 0x800
lea ecx, [esp + 0x48]
push 0
push ecx
call fcn.00578cb0
push ebp
lea edx, [esp + 0x54]
push 0x5f3290
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push 0xa0000000
lea eax, [esp + 0x48]
push eax
call edi
mov edx, dword [ebx + 0xc]
push eax
lea ecx, [esp + 0x4c]
push ecx
push edx
call esi
mov eax, dword [ebx + 0x18]
xor esi, esi
cmp dword [eax], esi
je 0x4608c6
mov ecx, dword [ebx + 0xc]
push esi
push esi
push esi
push esi
push ecx
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
je 0x4608c6
mov edx, dword [ebx + 0x18]
mov ecx, ebx
cmp dword [edx], esi
je 0x4608c8
call fcn.00460450
cmp eax, 0xffffffff
je 0x4608c6
add eax, ebp
push 0x11000
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x284c]
push esi
push eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
call fcn.00578cb0
add esp, 0xc
nop
mov ecx, dword [ebx + 0x18]
cmp dword [ecx], 0
je 0x4608c6
mov ecx, dword [ebx + 0xc]
lea edx, [esp + 0x10]
push edx
push 0x2000
lea eax, [esp + 0x84c]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4608c6
mov edx, dword [ebx + 0x18]
cmp dword [edx], 0
je 0x4608c6
mov edi, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
add ebp, edi
test eax, eax
je 0x4607f8
mov ecx, dword [esp + 0x18]
push ebp
push ecx
call eax
mov edi, dword [esp + 0x18]
add esp, 8
lea edx, [esi + edi]
cmp edx, 0x10000
jbe 0x460840
mov edx, dword [ebx]
push 0
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2854]
push ecx
push edx
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
je 0x4608c6
push 0x11000
xor esi, esi
lea eax, [esp + 0x284c]
push esi
push eax
call fcn.00578cb0
mov edi, dword [esp + 0x1c]
add esp, 0xc
push edi
lea ecx, [esp + 0x848]
push ecx
lea edx, [esp + esi + 0x2850]
push edx
call fcn.0057bfc0
add esp, 0xc
add esi, edi
test edi, edi
jne 0x4607a0
mov edx, dword [ebx]
push edi
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x2854]
push ecx
push edx
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
je 0x4608c6
push 0x11000
xor esi, esi
lea eax, [esp + 0x284c]
push esi
push eax
call fcn.00578cb0
add esp, 0xc
cmp dword [esp + 0x10], esi
jne 0x4607a0
mov ecx, ebx
call fcn.00460360
lea eax, [edi + 1]
pop edi
pop ebp
mov ecx, dword [esp + 0x13840]
pop esi
pop ebx
xor ecx, esp
call fcn.005792fc
add esp, 0x1383c
ret 0xc
mov ecx, ebx
call fcn.00460360
jmp 0x4608ab