Function at 0x140906c30
Capabilities:
Create directory
Download url
Enumerate pe sections
Get common file path
Receive data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
mov rbx, r9
mov qword [rsp + 0x60], rbx
mov r12, r8
mov qword [rbp - 8], r8
mov r13, rdx
mov qword [rbp - 0x38], rdx
mov rdi, rcx
xor esi, esi
mov dword [rbp - 0xc], esi
mov r8, qword [r8 + 0x10]
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x140906c8f
mov rcx, qword [r12]
mov r15, 0xffffffffffffffff
test r8, r8
jne 0x140906d2b
lea rdx, [0x140952abf]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140906d2b
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x1f0]
call fcn.140909b5a
lea rdx, [rbp + 0x1f0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x140906d08
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rcx, r13
call fcn.1408f5370
nop
mov rcx, r12
call fcn.1408f5370
nop
mov rcx, rbx
jmp 0x1409074b4
lea rax, [rbp + 0x1f0]
mov r8, r15
inc r8
cmp byte [rax + r8], 0
jne 0x140906d12
lea rdx, [rbp + 0x1f0]
mov rcx, r12
call fcn.1408fd1e0
mov rcx, qword [r12 + 0x10]
mov rax, r12
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x140906d42
mov rax, qword [r12]
cmp byte [rax + rcx - 1], 0x5c
je 0x140906d98
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x140906d73
lea rax, [rcx + 1]
mov qword [r12 + 0x10], rax
mov rax, r12
cmp rdx, 0x10
jb 0x140906d6b
mov rax, qword [r12]
mov word [rax + rcx], 0x5c
jmp 0x140906d98
mov qword [rsp + 0x20], 1
lea r9, [0x14090cc10]
movzx r8d, byte [rbp + 0x420]
mov edx, 1
mov rcx, r12
call fcn.1408f6cd0
mov rcx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x140906da7
mov rcx, qword [r12]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x140906dc4
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140906cd9
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x140906dd2
mov rdx, qword [r13]
mov dword [rsp + 0x20], 1
mov r9d, 0x40
lea r8d, [r9 - 0x1c]
lea rcx, [rbp + 0x70]
call fcn.1408fcb70
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea r8, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x70], r8
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x6c], edx
cmp qword [rbp + 0x100], 0
jne 0x140906e7c
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x70], r8
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x6c], edx
lea rcx, [rbp + 0x80]
call fcn.1408fc030
lea rcx, [rbp + 0x88]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x120]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x140906cee
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____cdecl_std::basic_istream_char__struct_std::char_traits_char__::tellg_void____ptr64]
mov rbx, qword [rax + 8]
add rbx, qword [rax]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int____ptr64]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov r14, rsi
mov qword [rbp + 0x60], rsi
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x38], rax
test rbx, rbx
je 0x140906f28
cmp rbx, rax
ja 0x140908055
cmp rbx, 0x1000
jb 0x140906efe
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x14090805b
call fcn.140908e68
test rax, rax
je 0x14090802f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140906f09
mov rcx, rbx
call fcn.140908e68
mov rsi, rax
mov qword [rbp + 0x50], rsi
lea r14, [rsi + rbx]
mov qword [rbp + 0x60], r14
mov r8, rbx
xor edx, edx
mov rcx, rsi
call fcn.140909b5a
mov qword [rbp + 0x58], r14
jmp 0x140906f2c
mov rsi, qword [rbp + 0x50]
mov r8, rbx
mov rdx, rsi
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::read_char____ptr64__long_long___int64_____ptr64]
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator__void_const___ptr64]
test al, al
jne 0x140907fd9
test rbx, rbx
je 0x140907fd9
mov r9, qword [r13 + 0x10]
mov rcx, r13
mov r10, qword [r13 + 0x18]
cmp r10, 0x10
jb 0x140906f72
mov rcx, qword [r13]
test r9, r9
je 0x140906fa2
lea rax, [r9 - 1]
mov rdx, r15
cmp rax, r15
cmovb rdx, rax
add rdx, rcx
cmp byte [rdx], 0x5c
je 0x140906f9d
nop dword [rax]
cmp rdx, rcx
je 0x140906fa2
dec rdx
cmp byte [rdx], 0x5c
jne 0x140906f90
sub rdx, rcx
jmp 0x140906fa5
mov rdx, r15
mov r8, r13
cmp r10, 0x10
jb 0x140906fb2
mov r8, qword [r13]
test r9, r9
je 0x140906fe2
lea rax, [r9 - 1]
mov rcx, r15
cmp rax, r15
cmovb rcx, rax
add rcx, r8
cmp byte [rcx], 0x2e
je 0x140906fdd
nop dword [rax]
cmp rcx, r8
je 0x140906fe2
dec rcx
cmp byte [rcx], 0x2e
jne 0x140906fd0
sub rcx, r8
jmp 0x140906fe5
mov rcx, r15
lea rax, [rdx + 1]
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xor r8d, r8d
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r8
cmp r9, rax
jb 0x140908061
sub rcx, rdx
lea r15, [rcx - 1]
sub r9, rax
cmp r9, r15
cmovb r15, r9
mov rcx, r13
cmp r10, 0x10
jb 0x140907022
mov rcx, qword [r13]
add rax, rcx
mov qword [rsp + 0x68], rax
movabs rcx, 0x7fffffffffffffff
cmp r15, rcx
ja 0x140908067
mov edx, 0x16
mov qword [rbp - 0x18], 0xf
cmp r15, 0x10
jae 0x14090706b
mov qword [rbp - 0x20], r15
mov r8, r15
mov rdx, rax
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + r15 - 0x30], 0
jmp 0x1409070bc
mov rax, r15
or rax, 0xf
cmp rax, rcx
ja 0x140907086
mov rcx, rax
cmp rax, rdx
cmovb rcx, rdx
mov qword [rsp + 0x38], rcx
lea rdx, [rcx + 1]
lea rcx, [rbp - 0x30]
call fcn.1408f5150
mov rbx, rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x20], r15
mov rax, qword [rsp + 0x38]
mov qword [rbp - 0x18], rax
mov r8, r15
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r15], 0
mov ebx, 2
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x68], rcx
mov r15, r12
cmp qword [r12 + 0x18], 0x10
jb 0x1409070da
mov r15, qword [r12]
mov r8, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov rax, rdx
sub rax, r8
cmp rcx, rax
ja 0x140907182
lea rax, [rcx + r8]
mov qword [rbp - 0x20], rax
lea rbx, [rbp - 0x30]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x30]
lea rax, [rcx + r15]
cmp rax, rbx
jbe 0x140907135
lea rax, [rbx + r8]
cmp r15, rax
ja 0x140907135
cmp rbx, r15
ja 0x140907128
mov qword [rsp + 0x38], 0
jmp 0x14090713a
mov rax, rbx
sub rax, r15
mov qword [rsp + 0x38], rax
jmp 0x14090713a
mov qword [rsp + 0x38], rcx
inc r8
add rcx, rbx
mov rdx, rbx
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x38]
mov rdx, r15
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x68]
mov r8, rax
mov rcx, qword [rsp + 0x38]
sub r8, rcx
lea rdx, [rcx + rax]
add rdx, r15
add rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x30]
mov ebx, 2
jmp 0x1409071a3
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
xor r9d, r9d
movzx r8d, byte [rbp + 0x420]
mov rdx, rcx
lea rcx, [rbp - 0x30]
call fcn.1408ff9c0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
xor r15d, r15d
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
or ebx, 4
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 4
jb 0x140907211
lea rax, [rcx + 4]
mov qword [rbp + 0x10], rax
lea rax, [rbp]
cmp rdx, 0x10
cmovae rax, qword [rbp]
mov dword [rax + rcx], 0x6264702e
mov byte [rax + rcx + 4], r15b
lea rax, [rbp]
jmp 0x140907237
mov qword [rsp + 0x20], 4
lea r9, str..pdb
movzx r8d, byte [rbp + 0x420]
mov edx, 4
lea rcx, [rbp]
call fcn.1408f6cd0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or ebx, 8
mov dword [rbp - 0x10], ebx
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1409072ad
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1409072a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1409072a8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
movdqa xmm0, xmmword [0x1409583a0]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x1409072fc
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1409072f7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1409072f7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
xor ebx, ebx
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], bl
movsxd r15, dword [rsi + 0x3c]
add r15, rsi
mov edx, ebx
mov dword [rsp + 0x30], ebx
movzx eax, word [r15 + 4]
mov ecx, 0x8664
cmp ax, cx
jne 0x140907353
lea rax, [r15 + 0xb8]
mov qword [rsp + 0x68], rax
lea rax, [r15 + 0x54]
mov qword [rbp + 0x40], rax
lea rcx, [r15 + 0x50]
mov qword [rbp - 0x60], 0x90
mov ebx, 0x3c
lea eax, [rbx - 4]
jmp 0x140907391
mov ecx, 0x14c
cmp ax, cx
jne 0x140907f3a
mov edx, 1
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x68], 0xa0
mov qword [rbp + 0x40], 0x3c
lea ecx, [rdx + 0x37]
lea rax, [r15 + 0xa8]
mov qword [rbp - 0x60], rax
lea rbx, [r15 + 0x54]
lea rax, [r15 + 0x50]
test edx, edx
cmove rax, rcx
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x1409074d7
lea ecx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor ebx, ebx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140907409
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140907404
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907f8d
call fcn.140908d40
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907444
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14090802f
mov rdx, r14
mov rcx, rsi
call fcn.140908d40
nop
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_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 - 0xb0]
mov dword [rbp + rcx + 0x6c], edx
lea rcx, [rbp + 0x80]
call fcn.1408fc030
lea rcx, [rbp + 0x88]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x120]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, r13
call fcn.1408f5370
nop
mov rcx, r12
call fcn.1408f5370
nop
mov rcx, qword [rsp + 0x60]
call fcn.1408f5370
mov rax, rdi
mov rbx, qword [rsp + 0x510]
add rsp, 0x4d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsp + 0x30], 0
cmove rbx, qword [rbp + 0x40]
mov r8d, dword [rbx]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
movzx ebx, word [r15 + 0x14]
add rbx, 0x2c
xor r13d, r13d
cmp word [r15 + 6], r13w
je 0x14090753f
add rbx, r15
mov r12, qword [rsp + 0x38]
nop word [rax + rax]
mov eax, dword [rbx - 4]
test eax, eax
je 0x14090752a
mov r8d, eax
mov edx, dword [rbx]
add rdx, rsi
mov ecx, dword [rbx - 8]
add rcx, r12
call sub.VCRUNTIME140.dll_memcpy
inc r13d
add rbx, 0x28
movzx eax, word [r15 + 6]
cmp r13d, eax
jne 0x140907510
mov r12, qword [rbp - 8]
cmp dword [rsp + 0x30], 0
mov rcx, qword [rbp - 0x60]
cmove rcx, qword [rsp + 0x68]
mov eax, dword [rcx]
mov rdx, qword [rsp + 0x38]
cmp dword [rcx + 4], 0
je 0x140907e30
cmp dword [rax + rdx + 0xc], 2
jne 0x140907e30
mov eax, dword [rax + rdx + 0x14]
add rax, rdx
mov qword [rbp - 0x60], rax
cmp dword [rax], 0x53445352
je 0x140907642
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor ebx, ebx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1409075e8
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1409075e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907e8e
call fcn.140908d40
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907623
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907ed1
mov rdx, r14
mov rcx, rsi
call fcn.140908d40
nop
lea rcx, [rbp + 0x70]
call fcn.1408f9700
nop
mov rcx, qword [rbp - 0x38]
jmp 0x1409074a0
lea rax, [rbp - 0x58]
mov qword [rsp + 0x68], rax
mov r15, qword [rsp + 0x50]
lea r13, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r13, qword [rsp + 0x40]
call fcn.140908308
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xor ecx, ecx
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], cx
mov edx, dword [rbp - 0x10]
or edx, 0x40
mov dword [rbp - 0xc], edx
test r15, r15
je 0x140907700
cmp r15, 0x7fffffff
ja 0x14090806d
mov dword [rsp + 0x20], ecx
xor r9d, r9d
mov r8d, r15d
mov rdx, r13
mov ecx, eax
call fcn.140908330
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140908078
xor r8d, r8d
movsxd rdx, ebx
lea rcx, [rbp - 0x58]
call fcn.1408f51b0
lea r9, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae r9, qword [rbp - 0x58]
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov rdx, r13
mov ecx, dword [rsp + 0x30]
call fcn.140908330
mov rcx, rax
shr rax, 0x20
test eax, eax
jne 0x140908036
mov r8d, 3
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0x40]
call fcn.140908090
movsd xmm0, qword [rax]
movsd qword [rsp + 0x68], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x80], ecx
lea rax, [0x14095e088]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140907783
cmp eax, 1
sete bl
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x140907794
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14090778f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14090778f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov bl, 1
test ecx, ecx
jne 0x140908040
jmp 0x140907745
call fcn.140908d40
mov r13, qword [rbp - 0x38]
test bl, bl
je 0x140907dd9
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x1409077ae
mov rdx, qword [r13]
lea rcx, str.Downloading__s_pdb_n
call fcn.1408ee4a0
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0x300]
call fcn.140909b5a
mov r15, qword [rbp - 0x60]
lea rcx, [r15 + 4]
mov r8d, 0x64
lea rdx, [rbp + 0x300]
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x1409078af
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor ebx, ebx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14090785a
inc rdx
mov rcx, qword [rsp + 0x40]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140907855
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907d87
call fcn.140908d40
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x58], 0xf
mov qword [rsp + 0x50], rbx
sub r14, rsi
cmp r14, 0x1000
mov rax, rsi
jb 0x140907895
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907dd2
mov rdx, r14
mov rcx, rsi
call fcn.140908d40
nop
lea rcx, [rbp + 0x70]
call fcn.1408f9700
jmp 0x14090749d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov dword [rbp + 0x1e0], eax
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x20], 0x64
lea r9, [rbp + 0x300]
lea r8d, [rax + 0x64]
lea rdx, [rbp + 0x180]
lea rcx, [rsp + 0x68]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs_s]
test eax, eax
jne 0x140907d28
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140907d28
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x1f0]
call fcn.140909b5a
xor eax, eax
mov edx, eax
lea r13, [rax - 1]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rbp + rax + 0x180]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x14090796d
lea eax, [rcx - 0x41]
cmp al, 5
jbe 0x14090796d
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140907992
lea r8, [rbp + 0x1f0]
mov rax, r13
nop word [rax + rax]
lea rax, [rax + 1]
cmp byte [r8 + rax], 0
jne 0x140907980
mov byte [rbp + rax + 0x1f0], cl
inc edx
mov eax, edx
cmp rax, rbx
jne 0x140907950
xor eax, eax
mov word [rsp + 0x30], ax
mov byte [rsp + 0x32], al
lea r9d, [rax + 0xa]
lea r8d, [rax + 3]
lea rdx, [rsp + 0x30]
mov ecx, dword [r15 + 0x14]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa_s]
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1408f5400
nop
lea rax, [r15 + 0x18]
mov qword [rbp - 0x60], rax
mov r8, r13
mov r13, qword [rbp - 0x38]
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1409079e0
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1408f5680
mov r8d, 1
lea rdx, [0x14090cc34]
lea rcx, [rbp - 0x80]
call fcn.1408f5680
lea rax, [rbp + 0x1f0]
mov rbx, 0xffffffffffffffff
mov r15, rbx
nop dword [rax]
inc r15
cmp byte [rax + r15], 0
jne 0x140907a20
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x140907a75
lea rax, [rcx + r15]
mov qword [rbp - 0x70], rax
lea rbx, [rbp - 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x80]
add rbx, rcx
mov r8, r15
lea rdx, [rbp + 0x1f0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r15], 0
mov rbx, 0xffffffffffffffff
jmp 0x140907a95
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x1f0]
movzx r8d, byte [rbp + 0x420]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.1408f6cd0
lea rax, [rsp + 0x30]
mov r15, rbx
nop dword [rax]
inc r15
cmp byte [rax + r15], 0
jne 0x140907aa0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x140907af3
lea rax, [r15 + rcx]
mov qword [rbp - 0x70], rax
lea rbx, [rbp - 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x80]
add rbx, rcx
mov r8, r15
lea rdx, [rsp + 0x30]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r15], 0
mov rbx, 0xffffffffffffffff
jmp 0x140907b11
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x30]
movzx r8d, byte [rbp + 0x420]
mov rdx, r15
lea rcx, [rbp - 0x80]
call fcn.1408f6cd0
mov r8d, 1
lea rdx, [0x14090cc34]
lea rcx, [rbp - 0x80]
call fcn.1408f5680
mov rdx, qword [rbp - 0x60]
nop dword [rax + rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140907b30
mov r8, rbx
lea rcx, [rbp - 0x80]
call fcn.1408f5680
mov r8d, 1
lea rdx, [0x14090cc38]
lea rcx, [rbp - 0x80]
call fcn.1408f5680
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
movdqa xmm1, xmmword [0x14090cc60]
movdqu xmmword [rbp - 0x48], xmm1
xor eax, eax
mov dword [rbp - 0x58], eax
mov word [rbp - 0x54], ax
lea r15, [rbp - 0x58]
psrldq xmm1, 8
movq rax, xmm1
cmp rax, 0x10
cmovae r15, qword [rbp - 0x58]
mov ebx, 5
movabs r12, 0x842108421084211
nop
movups xmm0, xmmword [str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [0x1409581e0]
movups xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [0x1409581f0]
movups xmmword [rbp + 0x20], xmm0
movsd xmm0, qword [0x140958200]
movsd qword [rbp + 0x30], xmm0
mov eax, dword [0x140958208]
mov dword [rbp + 0x38], eax
movzx eax, word [0x14095820c]
mov word [rbp + 0x3c], ax
movzx eax, byte [0x14095820e]
mov byte [rbp + 0x3e], al
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, r12
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rbp + rcx]
mov byte [r15], al
lea r15, [r15 + 1]
sub rbx, 1
jne 0x140907ba0
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rdx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x48]
lea rcx, [rbp - 0x80]
call fcn.1408f5680
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
mov r12, qword [rbp - 8]
jb 0x140907c86
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140907c81
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907c81
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r8, qword [rsp + 0x40]
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
xor ebx, ebx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor ecx, ecx
call sub.urlmon.dll_URLDownloadToFileA
test eax, eax
jns 0x140907cf4
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rbx
xor r8d, r8d
lea rdx, [0x140952abf]
mov rcx, rdi
call fcn.1408effc0
nop
lea rcx, [rbp - 0x80]
call fcn.1408f5370
jmp 0x14090781d
mov rdx, r13
cmp qword [r13 + 0x18], 0x10
jb 0x140907d02
mov rdx, qword [r13]
lea rcx, str.Downloaded__s_pdb_n
call fcn.1408ee4a0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea rcx, [rbp - 0x80]
call fcn.1408f5370
jmp 0x140907ddb
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140907d93
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140907d8e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907d8e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907895
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907895
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor ebx, ebx
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [rdi + 0x10], xmm1
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907895
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140907ed1
jmp 0x140907895
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor ebx, ebx
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140907e9a
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140907e95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907e95
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907ed8
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907ed8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, r14
mov rcx, rsi
call fcn.140908d40
nop
mov rax, qword [rbp + 0x70]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_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 - 0xb0]
mov dword [rbp + rcx + 0x6c], edx
lea rcx, [rbp + 0x80]
call fcn.1408fc030
lea rcx, [rbp + 0x88]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x120]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rcx, qword [rbp - 0x38]
jmp 0x1409074a0
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], 0xf
mov byte [rdi], bl
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140907f99
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140907f94
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907f94
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140908d40
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907895
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14090802f
jmp 0x140907895
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
xor eax, eax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], 0xf
mov byte [rdi], al
test rsi, rsi
je 0x140907450
sub r14, rsi
mov rax, rsi
cmp r14, 0x1000
jb 0x140907444
add r14, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140907444
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
shr rcx, 0x20
call fcn.1408eedb0
nop
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x80]
lea rcx, str.exists
call fcn.1408ef880
nop
call fcn.140908180
int3
call fcn.1408ee640
nop
call fcn.1408fd7a0
int3
call fcn.1408ee730
nop
mov ecx, 0x16
call fcn.1408eeae0
int3
shr rbx, 0x20
mov ecx, ebx
call fcn.1408eedb0
int3