Function at 0x140002ba0
Capabilities:
Read data from internet
Receive data

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x4c0]
sub rsp, 0x5c0
mov rax, qword [0x1400430c0]
xor rax, rsp
mov qword [rbp + 0x4b0], rax
mov r14, r9
mov rbx, r8
mov rsi, rdx
mov r15, rcx
mov qword [rsp + 0x58], rdx
xor r12d, r12d
mov dword [rsp + 0x50], r12d
mov rdx, r9
mov rcx, rsi
call fcn.1400074e0
mov dword [rsp + 0x50], 1
mov rcx, qword [r15]
test rcx, rcx
je 0x140002f66
cmp qword [rbx + 0x18], 7
jbe 0x140002c0d
mov rbx, qword [rbx]
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], 0x80000000
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.WININET.dll_InternetOpenUrlW]
mov qword [r15 + 8], rax
test rax, rax
je 0x140002f51
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp - 0x60]
call fcn.14002f4f0
mov rax, qword [r14 + 0x10]
cmp qword [r14 + 0x18], 7
jbe 0x140002c5e
mov rcx, qword [r14]
mov rbx, rcx
lea rdi, [rcx + rax*2]
jmp 0x140002c65
lea rdi, [r14 + rax*2]
mov rbx, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
cmp rbx, rdi
jne 0x140002c8b
mov eax, 0xf
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x30], 0
jmp 0x140002d92
sub rdi, rbx
sar rdi, 1
mov qword [rsp + 0x48], 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x140002fd6
mov r14d, 0xf
cmp rdi, r14
jbe 0x140002d52
mov r14, rdi
or r14, 0xf
cmp r14, rax
jbe 0x140002d05
mov r14, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140013e88
mov rcx, rax
test rax, rax
je 0x140002fdc
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r14
jmp 0x140002d57
mov eax, 0x16
cmp r14, rax
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x140002d2d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002fd0
jmp 0x140002cd9
test rcx, rcx
je 0x140002d43
call fcn.140013e88
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r14
jmp 0x140002d57
mov rax, r12
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], r14
jmp 0x140002d57
mov rax, qword [rsp + 0x30]
lea r8, [rsp + 0x30]
cmp r14, 0xf
cmova r8, rax
mov rcx, r8
mov rdx, rdi
test rdi, rdi
je 0x140002d83
nop
movzx eax, byte [rbx]
mov byte [rcx], al
lea rcx, [rcx + 1]
lea rbx, [rbx + 2]
sub rdx, 1
jne 0x140002d70
mov qword [rsp + 0x40], rdi
mov byte [r8 + rdi], 0
mov rax, qword [rsp + 0x48]
lea rdx, [rsp + 0x30]
cmp rax, 0xf
cmova rdx, qword [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.140007da0
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rbx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x140002e0d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e08
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002fe2
call fcn.140013e80
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
cmp qword [rbp + 0x28], 0
je 0x140002eda
lea r9, [rbp - 0x68]
mov r8d, 0x400
lea rdx, [rbp + 0xb0]
mov rcx, qword [r15 + 8]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140002e89
nop word [rax + rax]
mov eax, dword [rbp - 0x68]
test eax, eax
je 0x140002e89
mov r8d, eax
lea rdx, [rbp + 0xb0]
lea rcx, [rbp - 0x60]
call fcn.140007230
lea r9, [rbp - 0x68]
mov r8d, 0x400
lea rdx, [rbp + 0xb0]
mov rcx, qword [r15 + 8]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x140002e50
lea rcx, [rbp - 0x58]
call fcn.140007c60
test rax, rax
jne 0x140002eef
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rbp + rcx - 0x18], 0
cmovne eax, edx
or eax, dword [rbp + rcx - 0x50]
and eax, 0x17
mov dword [rbp + rcx - 0x50], eax
mov edx, dword [rbp + rcx - 0x4c]
and edx, eax
je 0x140002eef
test dl, 4
je 0x140002f8a
lea rbx, str.ios_base::badbit_set
jmp 0x140002f9f
mov qword [rsi + 0x10], r12
mov rax, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140002eeb
mov rax, qword [rsi]
mov word [rax], r12w
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x60], rbx
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x64], edx
lea rcx, [rbp - 0x58]
call fcn.140006f80
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x60], rax
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx - 0x64], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x48]
call fcn.14001301c
nop
jmp 0x140002f66
mov qword [rsi + 0x10], r12
mov rax, rsi
cmp qword [rsi + 0x18], 7
jbe 0x140002f62
mov rax, qword [rsi]
mov word [rax], r12w
mov rax, rsi
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.140013e60
add rsp, 0x5c0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140001320
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x70]
call fcn.1400023f0
lea rdx, [0x140041f60]
lea rcx, [rsp + 0x70]
call fcn.140015d48
nop
call fcn.1400011b0
int3
call fcn.140001250
int3
call fcn.14001bf90
nop
call fcn.14001bf90
int3