Function at 0x1400078c0
Capabilities:
Create http request
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 - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140010040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r15, rdx
mov rsi, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 1]
lea rcx, str.Download_Manager
call qword [sym.imp.WININET.dll_InternetOpenW]
mov r13, rax
mov qword [rsp + 0x58], rax
call fcn.140001310
movsx r14d, al
call fcn.140001300
movsx r12d, al
mov ebx, r12d
imul ebx, r14d
call fcn.140001340
movsx edi, al
lea r9d, [rdi + rbx*8]
add r9d, ebx
movsx eax, byte [0x1400100b1]
add eax, r9d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007c11
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor eax, eax
test r13, r13
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
lea r13d, [rdi + rbx*2]
add r13d, ebx
movsx eax, byte [0x1400100b1]
add eax, r13d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007a11
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
je 0x140007a11
mov r9d, 3
jmp 0x140007a6e
lea ecx, [rbx + rdi]
movsx eax, byte [0x1400100b1]
lea ecx, [rcx + rbx*4]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007a69
movsx eax, byte [0x1400100b1]
add eax, r9d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x140007a6e
mov r9d, dword [rsp + 0x30]
lea edx, [rbx + rbx*4]
movsx eax, byte [0x1400100b1]
add eax, edi
lea eax, [rax + rdx*2]
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140007c0c
lea rdx, str.Error:_Unable_to_initialize_WinINet.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140009db0
lea rdx, [0x140009fa0]
mov rcx, rax
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]
movsx eax, byte [0x1400100b1]
add eax, edi
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [0x1400100b1]
add eax, r13d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007b6f
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
jne 0x140008844
call fcn.140001340
movsx eax, al
mov edx, r14d
imul edx, r12d
lea ecx, [rdx + rdx*4]
add eax, ecx
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007bf5
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x140007bf9
mov eax, dword [rsp + 0x30]
xor r12d, r12d
cmp r12d, eax
jl 0x140008844
mov r13, qword [rsp + 0x58]
jmp 0x140007c14
mov r13, qword [rsp + 0x58]
xor r12d, r12d
cmp qword [rsi + 0x18], 0xf
jbe 0x140007c27
mov rdi, qword [rsi]
mov rbx, rdi
add rdi, qword [rsi + 0x10]
jmp 0x140007c31
mov rdi, qword [rsi + 0x10]
add rdi, rsi
mov rbx, rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
cmp rbx, rdi
jne 0x140007c5c
mov word [rsp + 0x38], r12w
lea rdx, [rsp + 0x38]
jmp 0x140007d7f
sub rdi, rbx
movabs rax, 0x7ffffffffffffffe
cmp rdi, rax
ja 0x140008881
mov esi, 7
cmp rdi, rsi
jbe 0x140007d2c
mov rsi, rdi
or rsi, 7
cmp rsi, rax
jbe 0x140007c9f
mov rsi, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x140007cce
mov eax, 0xa
cmp rsi, rax
cmovb rsi, rax
lea rcx, [rsi + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14000887b
add rcx, rcx
cmp rcx, 0x1000
jb 0x140007d07
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000887b
mov rcx, rax
call fcn.14000a880
mov rcx, rax
test rax, rax
je 0x140007dd7
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rsi
jmp 0x140007d31
test rcx, rcx
je 0x140007d1d
call fcn.14000a880
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rsi
jmp 0x140007d31
mov rax, r12
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rsi
jmp 0x140007d31
mov rax, qword [rsp + 0x38]
lea r8, [rsp + 0x38]
cmp rsi, 7
cmova r8, rax
mov rcx, r8
mov rdx, rdi
test rdi, rdi
je 0x140007d64
nop dword [rax]
movsx eax, byte [rbx]
mov word [rcx], ax
lea rcx, [rcx + 2]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x140007d50
mov qword [rsp + 0x48], rdi
mov word [r8 + rdi*2], r12w
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova rdx, qword [rsp + 0x38]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov r14, rax
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140007de3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140007dde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140007dde
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14000a8bc
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140001340
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140008174
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r12
test r14, r14
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140001340
movsx ecx, al
add ebx, ecx
movsx eax, byte [0x1400100b1]
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007efa
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
je 0x140007efa
mov r10d, 3
jmp 0x140007f94
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140007f8f
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r10d, xmm0
jmp 0x140007f94
mov r10d, dword [rsp + 0x30]
call fcn.140001310
movsx r9d, al
call fcn.140001300
movsx ecx, al
imul r9d, ecx
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x140008174
lea rdx, str.Error:_Unable_to_open_URL.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140009db0
lea rdx, [0x140009fa0]
mov rcx, rax
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, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
call fcn.140001340
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [0x1400100b1]
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x1400080d3
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
jne 0x140008844
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140008167
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x14000816b
mov eax, dword [rsp + 0x30]
cmp r12d, eax
jl 0x140008844
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
cmp qword [r15 + 0x18], 0xf
jbe 0x14000818f
mov r15, qword [r15]
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.140009af0
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x74], edx
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea ebx, [rdx + rdx*2]
call fcn.140001340
movsx ecx, al
add ebx, ecx
movsx eax, byte [0x1400100b1]
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x14000852d
cmp qword [rbp + 0x18], 0
setne dl
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor dl, 1
movzx eax, dl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [0x1400100b1]
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x1400082a8
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
je 0x1400082a8
mov r9d, 3
jmp 0x140008342
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x14000833d
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x140008342
mov r9d, dword [rsp + 0x30]
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
call fcn.140001340
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14000852d
lea rdx, str.Error:_Unable_to_open_file_for_writing.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140009db0
lea rdx, [0x140009fa0]
mov rcx, rax
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, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, r13
call qword [sym.imp.WININET.dll_InternetCloseHandle]
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [0x1400100b1]
add eax, ebx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x14000848c
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
jne 0x1400087b7
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140008520
call fcn.140001310
movsx edx, al
call fcn.140001300
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140001340
movsx eax, al
add eax, r9d
movsx ecx, byte [0x1400100b1]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x140008524
mov eax, dword [rsp + 0x30]
cmp r12d, eax
jl 0x1400087b7
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov qword [rbp - 0x80], r12
mov ecx, 0x2027
call fcn.14000a880
test rax, rax
je 0x140008874
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov qword [rsp + 0x70], rdi
lea rbx, [rdi + 0x2000]
mov qword [rbp - 0x80], rbx
xor edx, edx
mov r8d, 0x2000
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x68], r12d
call fcn.140001300
movsx edx, al
call fcn.140001310
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140001340
movsx eax, al
add eax, edx
mov dword [rsp + 0x30], eax
call fcn.140001300
movsx edx, al
call fcn.140001310
movsx ecx, al
imul edx, ecx
lea r13d, [rdx + rdx*8]
call fcn.140001340
movsx ecx, al
add r13d, ecx
call fcn.140001300
movsx esi, al
call fcn.140001310
movsx ecx, al
imul esi, ecx
call fcn.140001340
movsx r15d, al
lea eax, [rsi + rsi*4]
lea r12d, [r15 + rax*2]
mov ebx, dword [rsp + 0x30]
lea r9, [rsp + 0x68]
mov r8d, 0x2000
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140008619
cmp dword [rsp + 0x68], 0
jbe 0x140008619
mov edx, 1
jmp 0x14000861d
xor eax, eax
mov edx, eax
movsx eax, byte [0x1400100b2]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x1400100b4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsx eax, byte [0x1400100b1]
add eax, dword [rsp + 0x30]
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x1400086b1
call fcn.140001320
movsx edx, al
movsx eax, byte [0x140010960]
imul edx, eax
shl edx, 3
call fcn.140001350
movsx ecx, al
sub edx, ecx
call fcn.140001330
movsx ecx, al
add edx, ecx
movsx ecx, byte [0x1400100b4]
add ecx, edx
je 0x1400086b1
mov ebx, 3
jmp 0x140008707
lea ecx, [rsi + r15]
movsx eax, byte [0x1400100b1]
lea ecx, [rcx + rsi*4]
add eax, ecx
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
cmp eax, ecx
je 0x140008707
movsx eax, byte [0x1400100b1]
add eax, r13d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x60]
cvttsd2si ebx, xmm0
movsx eax, byte [0x1400100b1]
add eax, r12d
movsx ecx, byte [0x1400100b0]
xor edx, edx
div ecx
movsx ecx, byte [0x1400100b3]
sub eax, ecx
imul eax, ebx
test eax, eax
je 0x140008743
mov r8d, dword [rsp + 0x68]
mov rdx, rdi
lea rcx, [rbp - 0x70]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x1400085f0
lea rcx, [rbp - 0x68]
call fcn.140009a30
test rax, rax
jne 0x14000876d
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x70]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.WININET.dll_InternetCloseHandle]
nop
mov rdx, qword [rbp - 0x80]
sub rdx, rdi
cmp rdx, 0x1000
jb 0x1400087ae
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140008874
mov rdi, rcx
mov rcx, rdi
call fcn.14000a8bc
nop
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x70], rax
mov rax, qword [rbp - 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x74], edx
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 0x68], rax
cmp qword [rbp + 0x18], 0
je 0x140008816
mov rax, qword [rbp - 0x50]
lea rcx, [rbp + 8]
cmp qword [rax], rcx
jne 0x140008816
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
mov qword [rax], rcx
mov rax, qword [rbp - 0x30]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp - 0x18]
mov dword [rax], edx
cmp byte [rbp + 0x14], 0
je 0x140008825
lea rcx, [rbp - 0x68]
call fcn.140009a30
lea rcx, [rbp - 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x60]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14000a860
lea r11, [rsp + 0x1b0]
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 qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140001180
int3
call fcn.140001220
int3