Function at 0x180002420
Capabilities:
Connect to http server
Create http request
Download and write a file
Parse url
Read data from internet
Receive and write data from server to client
Receive data
Reference http user-agent string
Send data
Send http request
Write file on windows

Disassembly:
push rbp
sub rsp, 0x3f0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x368], 0xfffffffffffffffe
lea rcx, [rbp + 0x348]
mov qword [rbp + 0x28], rcx
call fcn.180004a40
mov rcx, qword [rbp + 0x28]
call fcn.180002340
jmp 0x180002459
lea rcx, str.Wininet.dll
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
call rax
mov qword [rbp + 0x20], rax
jmp 0x180002472
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x340], rax
cmp qword [rbp + 0x340], 0
jne 0x18000249a
mov ecx, 1
call fcn.18002d230
jmp 0x18000249a
xorps xmm0, xmm0
movaps xmmword [rbp + 0x320], xmm0
movaps xmmword [rbp + 0x310], xmm0
movaps xmmword [rbp + 0x300], xmm0
movaps xmmword [rbp + 0x2f0], xmm0
movaps xmmword [rbp + 0x2e0], xmm0
movaps xmmword [rbp + 0x2d0], xmm0
mov qword [rbp + 0x330], 0
mov dword [rbp + 0x2d0], 0x68
mov dword [rbp + 0x320], 0x100
mov dword [rbp + 0x2f0], 0x100
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x2e8], rax
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x318], rax
lea rcx, [0x1800d2620]
call fcn.180004a90
mov rcx, rax
mov rax, qword [sym.imp.WININET.dll_InternetCrackUrlW]
xor edx, edx
mov r8d, 0x80000000
lea r9, [rbp + 0x2d0]
call rax
mov dword [rbp + 0x1c], eax
jmp 0x18000253b
mov eax, dword [rbp + 0x1c]
cmp eax, 0
je 0x180002949
mov rax, rsp
mov dword [rax + 0x20], 0
lea rcx, str.Mozilla_5.0
mov rax, qword [sym.imp.WININET.dll_InternetOpenA]
xor edx, edx
mov r9d, edx
mov edx, 1
mov r8, r9
call rax
mov qword [rbp + 0x10], rax
jmp 0x180002577
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc8], rax
mov r8w, word [rbp + 0x2f4]
mov rdx, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0xc8]
lea r9, [0x18004a66a]
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x38], 0
mov dword [rax + 0x30], 0
mov dword [rax + 0x28], 3
mov rax, qword [sym.imp.WININET.dll_InternetConnectW]
call rax
mov qword [rbp + 8], rax
jmp 0x1800025ce
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xc0], 0
je 0x180002944
mov dword [rbp + 0xbc], 0x10000
cmp dword [rbp + 0x2e4], 4
jne 0x180002611
mov eax, dword [rbp + 0xbc]
or eax, 0x800000
mov dword [rbp + 4], eax
jmp 0x18000261a
mov eax, dword [rbp + 0xbc]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
mov dword [rbp + 0xbc], eax
mov eax, dword [rbp + 0xbc]
mov dword [rbp - 0xc], eax
lea rcx, [0x1800d2640]
call fcn.180004a90
mov edx, dword [rbp - 0xc]
mov r8, rax
mov rcx, qword [rbp + 0xc0]
mov rax, rsp
mov dword [rax + 0x30], edx
mov qword [rax + 0x38], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x20], 0
lea rdx, [0x18004a6f0]
mov rax, qword [sym.imp.WININET.dll_HttpOpenRequestW]
xor r9d, r9d
call rax
mov qword [rbp - 8], rax
jmp 0x18000267f
mov rax, qword [rbp - 8]
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0
je 0x18000293f
cmp dword [rbp + 0x2e4], 4
jne 0x180002728
mov dword [rbp + 0xac], 4
mov rcx, qword [rbp + 0xb0]
mov rax, qword [sym.imp.WININET.dll_InternetQueryOptionA]
mov edx, 0x1f
lea r8, [rbp + 0xbc]
lea r9, [rbp + 0xac]
call rax
mov dword [rbp - 0x10], eax
jmp 0x1800026da
mov eax, dword [rbp - 0x10]
cmp eax, 0
je 0x180002723
mov eax, dword [rbp + 0xbc]
or eax, 0x11300
mov dword [rbp + 0xbc], eax
mov rcx, qword [rbp + 0xb0]
mov rax, qword [sym.imp.WININET.dll_InternetSetOptionA]
mov edx, 0x1f
lea r8, [rbp + 0xbc]
mov r9d, 4
call rax
jmp 0x18000271e
jmp 0x180002723
jmp 0x180002728
mov rcx, qword [rbp + 0xb0]
mov rax, rsp
mov dword [rax + 0x20], 0
mov rax, qword [sym.imp.WININET.dll_HttpSendRequestA]
xor r8d, r8d
mov r9d, r8d
mov rdx, r9
call rax
mov dword [rbp - 0x14], eax
jmp 0x180002753
mov eax, dword [rbp - 0x14]
cmp eax, 0
je 0x18000293a
mov dword [rbp + 0xa8], 0x1000
mov eax, dword [rbp + 0xa8]
inc eax
mov ecx, eax
call fcn.180024600
mov qword [rbp - 0x20], rax
jmp 0x180002781
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xa0], rax
lea r8, [0x18004a6d4]
lea rcx, [rbp + 0x58]
lea rdx, [rbp + 0x348]
call fcn.180004b00
jmp 0x1800027a8
lea r8, [0x1800d2660]
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x58]
call fcn.180004ab0
jmp 0x1800027c1
lea rcx, [rbp + 0x348]
mov qword [rbp - 0x28], rcx
lea rdx, [rbp + 0x78]
mov qword [rbp - 0x30], rdx
call fcn.180004bc0
mov rcx, qword [rbp - 0x30]
call fcn.180004780
lea rcx, [rbp + 0x58]
call fcn.180004780
mov rdx, qword [rbp - 0x28]
lea rcx, [rbp + 0x38]
call fcn.180004cc0
jmp 0x1800027fd
lea rcx, [rbp + 0x38]
call fcn.180004c60
jmp 0x18000280b
lea rcx, [rbp + 0x38]
call fcn.180004dc0
lea rcx, [rbp + 0x348]
call fcn.180004a90
mov rcx, rax
mov rax, rsp
mov qword [rax + 0x30], 0
mov dword [rax + 0x28], 0x80
mov dword [rax + 0x20], 4
mov rax, qword [sym.imp.KERNEL32.dll_CreateFileW]
xor edx, edx
mov r9d, edx
mov edx, 0xc0000000
mov r8d, 1
call rax
mov qword [rbp - 0x38], rax
jmp 0x18000285e
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x30], rax
mov eax, dword [rbp + 0xa8]
inc eax
mov ecx, eax
call fcn.180024600
mov qword [rbp - 0x40], rax
jmp 0x18000287e
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov qword [rax], 0
mov r8d, dword [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xb0]
mov rax, qword [sym.imp.WININET.dll_InternetReadFile]
lea r9, [rbp + 0x9c]
call rax
jmp 0x1800028c1
mov rdx, qword [rbp + 0xa0]
lea rcx, str._s__n
call fcn.1800044e0
jmp 0x1800028d9
mov r8d, dword [rbp + 0x9c]
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x30]
mov rax, rsp
mov qword [rax + 0x20], 0
mov rax, qword [sym.imp.KERNEL32.dll_WriteFile]
lea r9, [rbp + 0x98]
call rax
jmp 0x18000290b
mov qword [rbp + 0xa0], 0
cmp dword [rbp + 0x9c], 0
jne 0x180002866
mov rcx, qword [rbp + 0x30]
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
jmp 0x180002935
jmp 0x18000293a
jmp 0x18000293f
jmp 0x180002944
jmp 0x180002949
lea rcx, [rbp + 0x348]
call fcn.180004780
nop
add rsp, 0x3f0
pop rbp
ret