Function at 0x140010f60
Capabilities:
Check if file exists
Connect to http server
Create http request
Get disk information
Read data from internet
Receive data
Resolve dns
Send data
Send http request
Send http request with host header

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xfe0
mov qword [rsp + 0xee8], 0xfffffffffffffffe
mov rax, qword [0x1402a25c0]
xor rax, rsp
mov qword [rsp + 0xfd0], rax
mov rdx, qword [rsp + 0xff8]
mov rcx, qword [rsp + 0xff0]
call fcn.140012810
test eax, eax
je 0x1400127ed
mov r8d, 0x400
lea rdx, [rsp + 0x60]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, 0x2e
lea rcx, [rsp + 0x60]
call fcn.14000d0b0
mov rdx, rax
xor eax, eax
mov word [rdx], ax
mov dx, VarDateFromDisp
lea rcx, [rsp + 0x60]
call fcn.14000d0b0
mov rdx, rax
add rdx, 2
lea rcx, [rsp + 0x898]
call fcn.140002090
nop
lea rcx, [rsp + 0x898]
call fcn.140006910
lea rcx, [rsp + 0x878]
call fcn.140002d50
nop
lea rdx, str.reg.com
lea rcx, [rsp + 0x878]
call fcn.140002060
lea rdx, [0x1402509fc]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [0x140250a00]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [0x140250a04]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [rsp + 0x898]
lea rcx, [rsp + 0x878]
call fcn.140005f70
lea rdx, [0x140250a04]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [0x140250a08]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [0x140250a0c]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rdx, [0x140250a10]
lea rcx, [rsp + 0x878]
call fcn.140005fa0
lea rax, [rsp + 0xe30]
mov qword [rsp + 0xe38], rax
lea rax, [rsp + 0xe40]
mov qword [rsp + 0xe48], rax
lea rdx, str.8.8.8.8_8.8.4.4
mov rcx, qword [rsp + 0xe38]
call fcn.140002090
mov qword [rsp + 0xef0], rax
mov rax, qword [rsp + 0xef0]
mov qword [rsp + 0xef8], rax
lea rdx, [rsp + 0x878]
mov rcx, qword [rsp + 0xe48]
call fcn.140001440
mov qword [rsp + 0xf00], rax
mov rdx, qword [rsp + 0xef8]
mov rcx, qword [rsp + 0xf00]
call fcn.1400dafc0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x868], eax
cmp dword [rsp + 0x40], 0
jne 0x1400114b1
lea rcx, [rsp + 0x878]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0xe50]
call fcn.140002d80
mov qword [rsp + 0xf08], rax
mov rax, qword [rsp + 0xf08]
mov qword [rsp + 0xf10], rax
mov rcx, qword [rsp + 0xf10]
call fcn.140002e30
mov rcx, rax
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rsp + 0xca0], rax
lea rcx, [rsp + 0xe50]
call fcn.140002e10
cmp qword [rsp + 0xca0], 0
jmp 0x140011499
mov rax, qword [rsp + 0xca0]
mov rax, qword [rax + 0x18]
mov rax, qword [rax]
mov eax, dword [rax]
mov dword [rsp + 0x868], eax
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.WININET.dll_InternetOpenW]
mov qword [rsp + 0x890], rax
mov ecx, dword [rsp + 0x868]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov rdx, rax
lea rcx, [rsp + 0xe60]
call fcn.140010e20
mov qword [rsp + 0xf18], rax
mov rcx, qword [rsp + 0xf18]
call fcn.140010eb0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8w, 0x50
mov rdx, rax
mov rcx, qword [rsp + 0x890]
call qword [sym.imp.WININET.dll_InternetConnectW]
mov qword [rsp + 0x860], rax
lea rcx, [rsp + 0xe60]
call fcn.140002e10
lea rcx, [rsp + 0x48]
call fcn.140002d50
nop
mov edx, 3
lea rcx, [rsp + 0xe68]
call fcn.1400de920
mov qword [rsp + 0xf20], rax
mov rax, qword [rsp + 0xf20]
mov qword [rsp + 0xf28], rax
mov rdx, qword [rsp + 0xf28]
lea rcx, [rsp + 0x48]
call fcn.140002d20
nop
lea rcx, [rsp + 0xe68]
call fcn.140001470
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [rsp + 0x44], eax
mov byte [rsp + 0xd10], 0x43
jmp 0x1400115d0
movzx eax, byte [rsp + 0xd10]
add al, 1
mov byte [rsp + 0xd10], al
movsx eax, byte [rsp + 0xd10]
cmp eax, 0x5a
jg 0x14001170a
movsx ecx, byte [rsp + 0xd10]
sub ecx, 0x41
mov eax, 1
shl eax, cl
mov ecx, eax
mov eax, dword [rsp + 0x44]
and eax, ecx
test eax, eax
jne 0x140011601
jmp 0x1400115bf
lea rcx, [rsp + 0xd18]
call fcn.140002d50
nop
movsx r8d, byte [rsp + 0xd10]
lea rdx, [0x140250a48]
lea rcx, [rsp + 0xd18]
call fcn.140002be0
lea rcx, [rsp + 0xd18]
call fcn.1400012c0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 2
jne 0x1400116f8
lea r8, str.ccboot.cer
lea rdx, [rsp + 0xd18]
lea rcx, [rsp + 0xe78]
call fcn.1400010b0
mov qword [rsp + 0xf30], rax
mov rcx, qword [rsp + 0xf30]
call fcn.1400012c0
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [rsp + 0xe70], eax
lea rcx, [rsp + 0xe78]
call fcn.140001470
cmp dword [rsp + 0xe70], 0
je 0x1400116f8
lea rcx, [rsp + 0xe80]
call fcn.1401bc170
mov qword [rsp + 0xf38], rax
mov rax, qword [rsp + 0xf38]
mov qword [rsp + 0xf40], rax
mov rdx, qword [rsp + 0xf40]
lea rcx, [rsp + 0x48]
call fcn.140002d20
nop
lea rcx, [rsp + 0xe80]
call fcn.140001470
nop
lea rcx, [rsp + 0xd18]
call fcn.140001470
jmp 0x14001170a
lea rcx, [rsp + 0xd18]
call fcn.140001470
jmp 0x1400115bf
lea rcx, [rsp + 0x888]
call fcn.140002d50
nop
lea rdx, str._indxph_uta
lea rcx, [rsp + 0x888]
call fcn.140002060
lea rdx, str.reg.com
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x1402509fc]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a00]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, str._indxph_uta
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a6c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a70]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a74]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x1402509fc]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a78]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a04]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a7c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a80]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a7c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a84]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a6c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a74]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a88]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
mov rdx, qword [rsp + 0xff8]
lea rcx, [rsp + 0xe88]
call fcn.1400d8c40
mov qword [rsp + 0xf48], rax
mov rax, qword [rsp + 0xf48]
mov qword [rsp + 0xf50], rax
mov rdx, qword [rsp + 0xf50]
lea rcx, [rsp + 0x888]
call fcn.140005f70
nop
lea rcx, [rsp + 0xe88]
call fcn.140001470
lea rdx, [0x140250a8c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a7c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, str.reg.com
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a0c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a74]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a90]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a08]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a94]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a88]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rcx, [rsp + 0x898]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0xe90]
call fcn.1400d8c40
mov qword [rsp + 0xf58], rax
mov rax, qword [rsp + 0xf58]
mov qword [rsp + 0xf60], rax
mov rdx, qword [rsp + 0xf60]
lea rcx, [rsp + 0x888]
call fcn.140005f70
nop
lea rcx, [rsp + 0xe90]
call fcn.140001470
lea rdx, [0x140250a8c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a74]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a98]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a94]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x1402509fc]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a88]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rcx, [rsp + 0xe98]
call fcn.140004f80
mov qword [rsp + 0xf68], rax
mov rax, qword [rsp + 0xf68]
mov qword [rsp + 0xf70], rax
mov rcx, qword [rsp + 0xf70]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0xea0]
call fcn.1400d8c40
mov qword [rsp + 0xf78], rax
mov rax, qword [rsp + 0xf78]
mov qword [rsp + 0xf80], rax
mov rdx, qword [rsp + 0xf80]
lea rcx, [rsp + 0x888]
call fcn.140005f70
nop
lea rcx, [rsp + 0xea0]
call fcn.140001470
nop
lea rcx, [rsp + 0xe98]
call fcn.140001470
lea rdx, [0x140250a8c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a10]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a6c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a74]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a88]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rcx, [rsp + 0x48]
call fcn.1400012c0
mov rdx, rax
lea rcx, [rsp + 0xea8]
call fcn.1400d8c40
mov qword [rsp + 0xf88], rax
mov rax, qword [rsp + 0xf88]
mov qword [rsp + 0xf90], rax
mov rdx, qword [rsp + 0xf90]
lea rcx, [rsp + 0x888]
call fcn.140005f70
nop
lea rcx, [rsp + 0xea8]
call fcn.140001470
lea rdx, [0x140250a8c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a0c]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x1402509fc]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a10]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
lea rdx, [0x140250a88]
lea rcx, [rsp + 0x888]
call fcn.140005fa0
mov rdx, qword [rsp + 0x1000]
lea rcx, [rsp + 0xeb0]
call fcn.1400d8c40
mov qword [rsp + 0xf98], rax
mov rax, qword [rsp + 0xf98]
mov qword [rsp + 0xfa0], rax
mov rdx, qword [rsp + 0xfa0]
lea rcx, [rsp + 0x888]
call fcn.140005f70
nop
lea rcx, [rsp + 0xeb0]
call fcn.140001470
lea rcx, [rsp + 0x888]
call fcn.1400012c0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x28f500
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, rax
lea rdx, [0x140250aa0]
mov rcx, qword [rsp + 0x860]
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x870]
call fcn.140002d50
nop
mov r8, qword [rsp + 0x878]
lea rdx, str.Host:__s_r_n
lea rcx, [rsp + 0x870]
call fcn.140002be0
lea rcx, [rsp + 0x870]
call fcn.1400012c0
mov r9d, 0xa0000000
mov r8d, 0xffffffff
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jmp 0x140011ff6
movzx eax, byte [0x140250ae6]
mov byte [rsp + 0x8a0], al
lea rdi, [rsp + 0x8a1]
xor eax, eax
mov ecx, 0x3ff
rep stosb byte [rdi], al
mov dword [rsp + 0x880], 0
lea r9, [rsp + 0x880]
mov r8d, 0x3ff
lea rdx, [rsp + 0x8a0]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jmp 0x14001232f
mov eax, dword [rsp + 0x880]
mov byte [rsp + rax + 0x8a0], 0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x860]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x890]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov r8d, 4
lea rdx, str._ERR
lea rcx, [rsp + 0x8a0]
call fcn.1400ccd78
test eax, eax
jmp 0x140012656
mov rcx, qword [rsp + 0xff0]
add rcx, 0x300
call fcn.140010ae0
lea rcx, [rsp + 0x8a0]
call fcn.1400a9170
cmp rax, 6
jne 0x1400126de
lea rdx, [rsp + 0x8a0]
lea rcx, [rsp + 0xed8]
call fcn.140010e20
mov qword [rsp + 0xfc0], rax
mov rax, qword [rsp + 0xfc0]
mov qword [rsp + 0xfc8], rax
mov rcx, qword [rsp + 0xfc8]
call fcn.140010eb0
mov rcx, qword [rsp + 0xff0]
add rcx, 0x2f8
mov rdx, rax
call fcn.140002060
nop
lea rcx, [rsp + 0xed8]
call fcn.140002e10
jmp 0x1400126f9
mov rcx, qword [rsp + 0xff0]
add rcx, 0x2f8
lea rdx, [0x140250a38]
call fcn.140002060
mov rcx, qword [rsp + 0xff0]
add rcx, 0x300
mov rax, qword [rsp + 0xff0]
mov rax, qword [rax + 0x300]
call qword [rax + 0x28]
lea rcx, str.123202
call fcn.1400a9170
mov r8, rax
lea rdx, str.123202
lea rcx, [rsp + 0x8a0]
call fcn.1400ccd78
test eax, eax
je 0x140012797
mov dword [rsp + 0xee0], 0
lea rcx, [rsp + 0x870]
call fcn.140001470
nop
lea rcx, [rsp + 0x888]
call fcn.140001470
nop
lea rcx, [rsp + 0x48]
call fcn.140001470
nop
lea rcx, [rsp + 0x878]
call fcn.140001470
nop
lea rcx, [rsp + 0x898]
call fcn.140001470
mov eax, dword [rsp + 0xee0]
jmp 0x1400127f2
mov dword [rsp + 0xee4], 1
lea rcx, [rsp + 0x870]
call fcn.140001470
nop
lea rcx, [rsp + 0x888]
call fcn.140001470
nop
lea rcx, [rsp + 0x48]
call fcn.140001470
nop
lea rcx, [rsp + 0x878]
call fcn.140001470
nop
lea rcx, [rsp + 0x898]
call fcn.140001470
mov eax, dword [rsp + 0xee4]
jmp 0x1400127f2
mov eax, 1
mov rcx, qword [rsp + 0xfd0]
xor rcx, rsp
call fcn.1400a8040
add rsp, 0xfe0
pop rdi
ret