Function at 0x57da60
Capabilities:
Connect to http server
Create http request
Download and write a file
Get http content length
Parse url
Read data from internet
Receive and write data from server to client
Receive data
Resolve function by parsing pe exports
Write file on windows

Disassembly:
mov eax, 0x24f4
call fcn.005a3d50
mov eax, dword [0x615370]
xor eax, esp
mov dword [esp + 0x24f0], eax
push esi
push edi
xor eax, eax
push 0x1fe
mov edi, ecx
push eax
lea ecx, [esp + 0x272]
mov esi, edx
push ecx
mov dword [esp + 0x14], esi
mov word [esp + 0x274], ax
call fcn.0058e300
xor edx, edx
push 0xfe
push edx
lea eax, [esp + 0x7e]
push eax
mov word [esp + 0x80], dx
call fcn.0058e300
xor ecx, ecx
push 0xfe
push ecx
lea edx, [esp + 0x18a]
push edx
mov word [esp + 0x18c], cx
call fcn.0058e300
xor eax, eax
push 0x1046
push eax
lea ecx, [esp + 0x14de]
push ecx
mov word [esp + 0x14e0], ax
call fcn.0058e300
push 0x38
lea edx, [esp + 0x64]
push 0
push edx
call fcn.0058e300
lea eax, [esp + 0x2a4]
mov dword [esp + 0x78], eax
mov eax, 0x80
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
add esp, 0x3c
lea ecx, [esp + 0x68]
lea edx, [esp + 0x168]
lea eax, [esp + 0x14b0]
mov dword [esp + 0x2c], 0x3c
mov dword [esp + 0x40], pe_nt_image_headers32
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0x824
test esi, esi
je 0x57de9d
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0
push edi
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x57db7b
cmp dword [esp + 0x38], 3
je 0x57db96
xor esi, esi
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x24f0]
xor ecx, esp
call fcn.005886fc
add esp, 0x24f4
ret
push 0
push 0
push 0
push 0
push str.Beacon
call dword [sym.imp.WININET.dll_InternetOpenW]
mov edi, eax
mov dword [esp + 0x20], edi
test edi, edi
jne 0x57dbba
xor esi, esi
jmp 0x57de79
mov ecx, dword [esp + 0x44]
push ebx
push 0
push 0
push 3
lea edx, [esp + 0x178]
push edx
lea eax, [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x284]
push edx
push edi
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ebx, eax
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x57dbf3
xor esi, esi
jmp 0x57de6d
xor eax, eax
push 0x1046
push eax
lea ecx, [esp + 0x476]
push ecx
mov word [esp + 0x478], ax
call fcn.0058e300
add esp, 0xc
cmp dword [esp + 0x60], 0
je 0x57dc41
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x46c]
sub edx, eax
jmp 0x57dc30
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x57dc30
jmp 0x57dc67
xor eax, eax
jmp 0x57dc50
movzx ecx, word [eax + 0x5cc530]
mov word [esp + eax + 0x46c], cx
add eax, 2
test cx, cx
jne 0x57dc50
push ebp
mov ebp, dword [sym.imp.WININET.dll_HttpOpenRequestW]
push 0
push SysReAllocStringLen
push 0
push 0x5caac0
push str.HTTP_1.1
lea edx, [esp + 0x484]
push edx
push str.HEAD
push ebx
call ebp
mov ebx, eax
mov edi, ebx
mov dword [esp + 0x24], ebx
call fcn.0057d980
mov esi, eax
test esi, esi
je 0x57de59
push 0
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0x20000005
push ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x57dce5
cmp dword [esp + 0x1c], 0x3e800000
jbe 0x57dce5
xor esi, esi
jmp 0x57de59
mov eax, dword [esp + 0x18]
push 0
push SysReAllocStringLen
push 0
push 0x5caac0
push str.HTTP_1.1
lea edx, [esp + 0x484]
push edx
push 0x5e77e0
push eax
call ebp
mov esi, dword [sym.imp.WININET.dll_InternetSetOptionW]
push 4
lea ecx, [esp + 0x24]
push ecx
mov edi, eax
push 5
push edi
mov dword [esp + 0x30], 0x2bf20
call esi
push 4
lea edx, [esp + 0x24]
push edx
push 6
push edi
call esi
call fcn.0057d980
mov esi, eax
test esi, esi
je 0x57de4e
mov eax, dword [esp + 0x10]
push 0
push 0x80
push 2
push 0
push 3
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebp, eax
cmp ebp, 0xffffffff
jne 0x57dd6e
xor esi, esi
jmp 0x57de4e
push 0x200000
call fcn.00587d67
mov ebx, eax
xor esi, esi
add esp, 4
cmp ebx, esi
je 0x57de2f
push 0x200000
push esi
push ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], esi
call fcn.0058e300
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
push 0x200000
push ebx
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov esi, eax
test esi, esi
je 0x57de2f
lea ebx, [ebx]
mov eax, dword [esp + 0x14]
xor esi, esi
test eax, eax
jbe 0x57ddec
add dword [esp + 0x10], eax
push esi
lea edx, [esp + 0x34]
push edx
push eax
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov esi, eax
test esi, esi
je 0x57de2f
push ebp
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
jmp 0x57ddee
je 0x57de20
push 0x200000
push 0
push ebx
mov dword [esp + 0x20], 0
call fcn.0058e300
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push 0x200000
push ebx
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
mov esi, eax
test esi, esi
jne 0x57ddc0
jmp 0x57de2f
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x1c]
jne 0x57de2f
mov esi, 1
push ebp
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x57de4a
push ebx
call fcn.00588add
add esp, 4
mov ebx, dword [esp + 0x24]
test edi, edi
je 0x57de59
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop ebp
test ebx, ebx
je 0x57de65
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x57de78
push ebx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop ebx
test edi, edi
je 0x57de84
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
pop edi
mov eax, esi
pop esi
mov ecx, dword [esp + 0x24f0]
xor ecx, esp
call fcn.005886fc
add esp, 0x24f4
ret
mov ecx, dword [esp + 0x24f8]
pop edi
pop esi
xor ecx, esp
xor eax, eax
call fcn.005886fc
add esp, 0x24f4
ret