Function at 0x14000f680
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 [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0xfd0], rax
mov rdx, qword [rsp + 0xff8]
mov rcx, qword [rsp + 0xff0]
call fcn.140010f30
test eax, eax
je 0x140010f0d
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.14000b150
mov rdx, rax
xor eax, eax
mov word [rdx], ax
mov dx, VarDateFromDisp
lea rcx, [rsp + 0x60]
call fcn.14000b150
mov rdx, rax
add rdx, 2
lea rcx, [rsp + 0x898]
call fcn.140002050
nop
lea rcx, [rsp + 0x898]
call fcn.1400069f0
lea rcx, [rsp + 0x878]
call fcn.140002d10
nop
lea rdx, str.reom_gindx.hp_uct
lea rcx, [rsp + 0x878]
call fcn.140002020
lea rdx, [0x1402688fc]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [0x14026890c]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [0x140268920]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [rsp + 0x898]
lea rcx, [rsp + 0x878]
call fcn.140006050
lea rdx, [0x140268920]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [0x14026893c]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [0x140268900]
lea rcx, [rsp + 0x878]
call fcn.140006080
lea rdx, [0x140268904]
lea rcx, [rsp + 0x878]
call fcn.140006080
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.140002050
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.140001430
mov qword [rsp + 0xf00], rax
mov rdx, qword [rsp + 0xef8]
mov rcx, qword [rsp + 0xf00]
call fcn.1400dd3c0
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x868], eax
cmp dword [rsp + 0x40], 0
jne 0x14000fbd1
lea rcx, [rsp + 0x878]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0xe50]
call fcn.140002d40
mov qword [rsp + 0xf08], rax
mov rax, qword [rsp + 0xf08]
mov qword [rsp + 0xf10], rax
mov rcx, qword [rsp + 0xf10]
call fcn.140002df0
mov rcx, rax
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov qword [rsp + 0xca0], rax
lea rcx, [rsp + 0xe50]
call fcn.140002dd0
cmp qword [rsp + 0xca0], 0
jmp 0x14000fbb9
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.14000f540
mov qword [rsp + 0xf18], rax
mov rcx, qword [rsp + 0xf18]
call fcn.14000f5d0
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.140002dd0
lea rcx, [rsp + 0x48]
call fcn.140002d10
nop
mov edx, 3
lea rcx, [rsp + 0xe68]
call fcn.1400def40
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.140002ce0
nop
lea rcx, [rsp + 0xe68]
call fcn.140007060
call qword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [rsp + 0x44], eax
mov byte [rsp + 0xd10], 0x43
jmp 0x14000fcf0
movzx eax, byte [rsp + 0xd10]
add al, 1
mov byte [rsp + 0xd10], al
movsx eax, byte [rsp + 0xd10]
cmp eax, 0x5a
jg 0x14000fe2a
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 0x14000fd21
jmp 0x14000fcdf
lea rcx, [rsp + 0xd18]
call fcn.140002d10
nop
movsx r8d, byte [rsp + 0xd10]
lea rdx, [0x140268978]
lea rcx, [rsp + 0xd18]
call fcn.140002ba0
lea rcx, [rsp + 0xd18]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 2
jne 0x14000fe18
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.140050200
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [rsp + 0xe70], eax
lea rcx, [rsp + 0xe78]
call fcn.140007060
cmp dword [rsp + 0xe70], 0
je 0x14000fe18
lea rcx, [rsp + 0xe80]
call fcn.1401cf6a0
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.140002ce0
nop
lea rcx, [rsp + 0xe80]
call fcn.140007060
nop
lea rcx, [rsp + 0xd18]
call fcn.140007060
jmp 0x14000fe2a
lea rcx, [rsp + 0xd18]
call fcn.140007060
jmp 0x14000fcdf
lea rcx, [rsp + 0x888]
call fcn.140002d10
nop
lea rdx, [0x140268908]
lea rcx, [rsp + 0x888]
call fcn.140002020
lea rdx, str.reom_gindx.hp_uct
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x1402688fc]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x14026890c]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268908]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268910]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268914]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268918]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x1402688fc]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x14026891c]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268920]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268928]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268924]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268928]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x14026892c]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268910]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268918]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268930]
lea rcx, [rsp + 0x888]
call fcn.140006080
mov rdx, qword [rsp + 0xff8]
lea rcx, [rsp + 0xe88]
call fcn.1400db040
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.140006050
nop
lea rcx, [rsp + 0xe88]
call fcn.140007060
lea rdx, [0x140268934]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268928]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, str.reom_gindx.hp_uct
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268900]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268918]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268938]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x14026893c]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, reloc.WS2_32.dll_WSACleanup
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268930]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rcx, [rsp + 0x898]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0xe90]
call fcn.1400db040
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.140006050
nop
lea rcx, [rsp + 0xe90]
call fcn.140007060
lea rdx, [0x140268934]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268918]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268998]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, reloc.WS2_32.dll_WSACleanup
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x1402688fc]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268930]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rcx, [rsp + 0xe98]
call fcn.140005090
mov qword [rsp + 0xf68], rax
mov rax, qword [rsp + 0xf68]
mov qword [rsp + 0xf70], rax
mov rcx, qword [rsp + 0xf70]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0xea0]
call fcn.1400db040
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.140006050
nop
lea rcx, [rsp + 0xea0]
call fcn.140007060
nop
lea rcx, [rsp + 0xe98]
call fcn.140007060
lea rdx, [0x140268934]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268904]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268910]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268918]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268930]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rcx, [rsp + 0x48]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0xea8]
call fcn.1400db040
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.140006050
nop
lea rcx, [rsp + 0xea8]
call fcn.140007060
lea rdx, [0x140268934]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268900]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x1402688fc]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268904]
lea rcx, [rsp + 0x888]
call fcn.140006080
lea rdx, [0x140268930]
lea rcx, [rsp + 0x888]
call fcn.140006080
mov rdx, qword [rsp + 0x1000]
lea rcx, [rsp + 0xeb0]
call fcn.1400db040
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.140006050
nop
lea rcx, [rsp + 0xeb0]
call fcn.140007060
lea rcx, [rsp + 0x888]
call fcn.140050200
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, [0x1402689a0]
mov rcx, qword [rsp + 0x860]
call qword [sym.imp.WININET.dll_HttpOpenRequestW]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x870]
call fcn.140002d10
nop
mov r8, qword [rsp + 0x878]
lea rdx, str.Host:__s_r_n
lea rcx, [rsp + 0x870]
call fcn.140002ba0
lea rcx, [rsp + 0x870]
call fcn.140050200
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 0x140010716
movzx eax, byte [0x1402689e8]
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 0x140010a4f
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.1400ce558
test eax, eax
jmp 0x140010d76
mov rcx, qword [rsp + 0xff0]
add rcx, 0x300
call fcn.14000f140
lea rcx, [rsp + 0x8a0]
call fcn.1400aa950
cmp rax, 6
jne 0x140010dfe
lea rdx, [rsp + 0x8a0]
lea rcx, [rsp + 0xed8]
call fcn.14000f540
mov qword [rsp + 0xfc0], rax
mov rax, qword [rsp + 0xfc0]
mov qword [rsp + 0xfc8], rax
mov rcx, qword [rsp + 0xfc8]
call fcn.14000f5d0
mov rcx, qword [rsp + 0xff0]
add rcx, 0x2f8
mov rdx, rax
call fcn.140002020
nop
lea rcx, [rsp + 0xed8]
call fcn.140002dd0
jmp 0x140010e19
mov rcx, qword [rsp + 0xff0]
add rcx, 0x2f8
lea rdx, [0x140268968]
call fcn.140002020
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.1400aa950
mov r8, rax
lea rdx, str.123202
lea rcx, [rsp + 0x8a0]
call fcn.1400ce558
test eax, eax
je 0x140010eb7
mov dword [rsp + 0xee0], 0
lea rcx, [rsp + 0x870]
call fcn.140007060
nop
lea rcx, [rsp + 0x888]
call fcn.140007060
nop
lea rcx, [rsp + 0x48]
call fcn.140007060
nop
lea rcx, [rsp + 0x878]
call fcn.140007060
nop
lea rcx, [rsp + 0x898]
call fcn.140007060
mov eax, dword [rsp + 0xee0]
jmp 0x140010f12
mov dword [rsp + 0xee4], 1
lea rcx, [rsp + 0x870]
call fcn.140007060
nop
lea rcx, [rsp + 0x888]
call fcn.140007060
nop
lea rcx, [rsp + 0x48]
call fcn.140007060
nop
lea rcx, [rsp + 0x878]
call fcn.140007060
nop
lea rcx, [rsp + 0x898]
call fcn.140007060
mov eax, dword [rsp + 0xee4]
jmp 0x140010f12
mov eax, 1
mov rcx, qword [rsp + 0xfd0]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0xfe0
pop rdi
ret