Function at 0x1400044f0
Capabilities:
Check if file exists
Execute command
Get file attributes
Query environment variable
Self delete

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x150], rax
xor r13d, r13d
lea rcx, str.USERPROFILE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r13
mov qword [rbp + 0x118], r13
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r13b
jne 0x140004557
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.140006220
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rbp + 0x110]
sub rax, rsi
cmp rax, 6
jb 0x14000547a
lea r15, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova r15, qword [rbp + 0x100]
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
lea r14, [rsi + 6]
mov ebx, 0xf
lea rdi, [rbp + 0x50]
movabs rax, 0x8000000000000000
lea edx, [rbx + 7]
cmp r14, rbx
jbe 0x140004641
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140004608
mov rbx, rcx
add rax, 0x27
mov rcx, rax
call fcn.140007de0
test rax, rax
je 0x140005396
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000463d
cmp rbx, rdx
cmovb rbx, rdx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14000462b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000546e
jmp 0x1400045e9
test rcx, rcx
je 0x14000463a
call fcn.140007de0
mov rdi, rax
jmp 0x14000463d
mov rdi, r13
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x60], r14
mov qword [rbp + 0x68], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [str._vcpkg]
mov dword [rsi + rdi], eax
movzx eax, word [0x14000a7fc]
mov word [rsi + rdi + 4], ax
mov byte [rdi + r14], 0
call fcn.140003270
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test al, al
jne 0x1400046ab
lea rdx, str.Git_is_not_installed._Installing...
call fcn.1400059c0
lea rdx, [0x140005b90]
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]
lea rcx, [rbp + 0x100]
call fcn.1400034e0
jmp 0x1400046c7
lea rdx, str.Git_is_already_installed.
call fcn.1400059c0
lea rdx, [0x140005b90]
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]
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rcx, qword [rbp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400046e4
test al, 0x10
jne 0x140004713
lea rdx, str.Vcpkg_is_not_installed._Installing...
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
lea rdx, [0x140005b90]
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]
lea rcx, [rbp + 0x100]
call fcn.140003d10
lea rcx, [rbp + 0x50]
cmp qword [rbp + 0x68], 0xf
cmova rcx, qword [rbp + 0x50]
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__chdir]
test eax, eax
je 0x140004758
lea rdx, str.Failed_to_change_directory_to_vcpkg_directory.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400059c0
lea rdx, [0x140005b90]
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 edi, 1
jmp 0x140005364
lea rcx, [rbp + 0x50]
call fcn.140004340
lea rdx, str.Setup_complete._Vcpkg_is_now_integrated_with_Visual_Studio.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
lea rdx, [0x140005b90]
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]
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
mov qword [rbp + 0xd0], r13
mov qword [rbp + 0xd8], 0xf
mov byte [rbp + 0xc0], 0
nop word [rax + rax]
lea rdx, [0x14000a93c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
lea rdx, str.Enter_a_command__install_libraryname__delete_libraryname__exit_to_quit_:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call fcn.140006bb0
lea rcx, [rbp + 0xc0]
mov rbx, qword [rbp + 0xd8]
cmp rbx, 0xf
seta r12b
mov r15, qword [rbp + 0xc0]
cmova rcx, r15
mov rdi, qword [rbp + 0xd0]
cmp rdi, 4
jne 0x140004847
mov r8, rdi
lea rdx, [0x14000a990]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140005326
lea rsi, [rbp + 0xc0]
test r12b, r12b
cmovne rsi, r15
cmp rdi, 8
jb 0x1400048bc
lea r14, [rdi + rsi]
lea r8, [r14 - 7]
sub r8, rsi
mov edx, 0x69
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400048bc
nop dword [rax + rax]
mov r8d, 8
lea rdx, str.install
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140004954
inc rbx
lea r8, [r14 - 7]
sub r8, rbx
mov edx, 0x69
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140004880
lea rsi, [rbp + 0xc0]
test r12b, r12b
cmovne rsi, r15
cmp rdi, 7
jb 0x14000492c
lea r14, [rsi + rdi]
lea r8, [r14 - 6]
sub r8, rsi
mov edx, 0x64
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x14000492c
mov r8d, 7
lea rdx, str.delete
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140004b8d
inc rbx
lea r8, [r14 - 6]
sub r8, rbx
mov edx, 0x64
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x1400048f0
lea rdx, str.Invalid_command.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.1400059c0
lea rdx, [0x140005b90]
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]
jmp 0x1400047b0
cmp rbx, rsi
jne 0x1400048bc
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r13
mov qword [rbp + 0x138], r13
cmp rdi, 8
jb 0x14000548c
lea rax, [rdi - 8]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0xc0]
test r12b, r12b
cmovne rdx, r15
add rdx, 8
lea rcx, [rbp + 0x120]
call fcn.140006220
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r13, qword [rbp + 0x130]
sub rax, r13
cmp rax, 0x10
jb 0x140005486
lea r12, [rbp + 0x120]
mov rsi, qword [rbp + 0x120]
mov r14, qword [rbp + 0x138]
cmp r14, 0xf
cmova r12, rsi
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xor eax, eax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
lea r15, [r13 + 0x10]
mov ebx, 0xf
lea rdi, [rbp + 0x10]
cmp r15, rbx
jbe 0x140004a87
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x140004a30
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140004a57
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140004a76
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005480
mov rcx, rax
call fcn.140007de0
test rax, rax
je 0x140005429
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140004a83
test rcx, rcx
je 0x140004a80
call fcn.140007de0
mov rdi, rax
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], rbx
movups xmm0, xmmword [str.._vcpkg_install]
movups xmmword [rdi], xmm0
lea rcx, [rdi + 0x10]
mov r8, r13
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r15], 0
lea rdx, str.Executing_command:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
mov rcx, rax
call fcn.140006d50
lea rdx, [0x140005b90]
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]
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], 0xf
cmova rcx, qword [rbp + 0x10]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x140004b3a
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004b35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005429
call fcn.140007e24
xor r13d, r13d
mov qword [rbp + 0x20], r13
mov qword [rbp + 0x28], 0xf
mov byte [rbp + 0x10], r13b
cmp r14, 0xf
jbe 0x1400047b0
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140004b80
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005430
mov rcx, rsi
call fcn.140007e24
jmp 0x1400047b0
cmp rbx, rsi
jne 0x14000492c
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf0], r13
mov qword [rbp + 0xf8], r13
cmp rdi, 7
jb 0x140005474
lea rax, [rdi - 7]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0xc0]
test r12b, r12b
cmovne rdx, r15
add rdx, 7
lea rcx, [rbp + 0xe0]
call fcn.140006220
nop
movabs rcx, 0x7fffffffffffffff
mov r14, rcx
mov r15, qword [rbp + 0xf0]
sub r14, r15
cmp r14, 0xf
jb 0x140005468
lea r12, [rbp + 0xe0]
cmp qword [rbp + 0xf8], 0xf
seta r13b
cmova r12, qword [rbp + 0xe0]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
lea rsi, [r15 + 0xf]
mov ebx, 0xf
lea rdi, [rbp + 0x30]
cmp rsi, rbx
jbe 0x140004cbe
mov rbx, rsi
or rbx, 0xf
cmp rbx, rcx
jbe 0x140004c67
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140004c8e
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140004cad
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005492
mov rcx, rax
call fcn.140007de0
test rax, rax
je 0x14000545a
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140004cba
test rcx, rcx
je 0x140004cb7
call fcn.140007de0
mov rdi, rax
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x40], rsi
mov qword [rbp + 0x48], rbx
movsd xmm0, qword [str.._vcpkg_remove]
movsd qword [rdi], xmm0
mov eax, dword [0x14000a9e8]
mov dword [rdi + 8], eax
movzx eax, word [0x14000a9ec]
mov word [rdi + 0xc], ax
movzx eax, byte [0x14000a9ee]
mov byte [rdi + 0xe], al
lea rcx, [rdi + 0xf]
mov r8, r15
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], 0
lea rdx, str.Executing_command:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x40]
mov rcx, rax
call fcn.140006d50
lea rdx, [0x140005b90]
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]
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rcx, qword [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
cmp r14, 0x11
jb 0x1400054c9
lea r14, [rbp + 0xe0]
test r13b, r13b
cmovne r14, qword [rbp + 0xe0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
xor r13d, r13d
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
lea rsi, [r15 + 0x11]
mov ebx, 0xf
lea rdi, [rsp + 0x28]
cmp rsi, rbx
jbe 0x140004e22
mov rbx, rsi
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x140004dc5
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
jmp 0x140004dec
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140004e0b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005498
mov rcx, rax
call fcn.140007de0
test rax, rax
je 0x140005437
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140004e1d
test rcx, rcx
je 0x140004e1a
call fcn.140007de0
mov rdi, rax
jmp 0x140004e1d
mov rdi, r13
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
movups xmm0, xmmword [str.._vcpkgpackages_]
movups xmmword [rdi], xmm0
movzx eax, byte [0x14000aa00]
mov byte [rdi + 0x10], al
lea rcx, [rdi + 0x11]
mov r8, r15
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rsi], r13b
mov r8d, 1
lea rdx, [0x14000a638]
lea rcx, [rsp + 0x28]
call fcn.140005690
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xb0], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x140004ee3
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004ede
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000543e
call fcn.140007e24
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
mov rdi, qword [rbp + 0xb0]
lea rbx, [rbp + 0xa0]
cmp qword [rbp + 0xb8], 0xf
cmova rbx, qword [rbp + 0xa0]
call fcn.1400074ec
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rdi
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.140001850
nop
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
lea rdx, [rbp - 0x50]
lea rcx, [rbp]
call fcn.140005880
test eax, eax
jne 0x1400054b6
mov rdx, qword [rbp - 0x38]
cmp rdx, 7
jbe 0x140004f8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004f89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005445
call fcn.140007e24
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x140004fa9
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 8]
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x80], xmm0
test rdi, rdi
je 0x140004fc2
lock inc dword [rdi + 8]
mov rdi, qword [rbp + 8]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x140], xmm1
test rdi, rdi
je 0x14000500f
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14000500b
mov rbx, qword [rbp + 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14000500b
mov rdi, qword [rbp + 8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
jmp 0x14000500f
mov rdi, qword [rbp + 8]
cmp qword [rbp], 0
je 0x1400051b2
mov rbx, qword [rbp + 0x80]
lea rdx, str.Removing_residual_file:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400059c0
mov rsi, rax
lea rdx, [rbx + 0x20]
cmp qword [rbx + 0x38], 7
jbe 0x140005046
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x30]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x68], rcx
call fcn.1400074ec
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x30], xmm0
lea r8, [rbp - 0x30]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140007290
nop
lea rax, [rsp + 0x48]
cmp qword [rsp + 0x60], 0xf
cmova rax, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x70], rax
mov word [rsp + 0x78], 0x5c22
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.140006f10
mov rsi, rax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x1400050e5
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400050e0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000544c
call fcn.140007e24
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
lea rdx, [0x140005b90]
mov rcx, rsi
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]
add rbx, 0x20
mov qword [rbp + 0x90], r13
lea rsi, [0x14000e080]
mov qword [rbp + 0x98], rsi
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x14000512e
mov rcx, qword [rbx]
call fcn.140007b80
mov rdx, rax
shr rdx, 0x20
movzx ecx, al
mov qword [rbp + 0x70], rcx
mov dword [rbp - 0x60], edx
mov qword [rbp - 0x58], rsi
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0x90], xmm0
cmp edx, 0x91
jne 0x14000516f
lea r8, [rbp + 0x70]
lea rdx, [rbp + 0x90]
mov rcx, rbx
call fcn.140003060
mov eax, dword [rbp + 0x90]
test eax, eax
setne cl
test eax, eax
je 0x140005186
mov qword [rbp + 0x70], 0xffffffffffffffff
test cl, cl
jne 0x1400054a6
lea rcx, [rbp + 0x80]
call fcn.140002ae0
test eax, eax
jne 0x14000549e
mov rbx, qword [rbp + 0x80]
test rbx, rbx
jne 0x140005021
mov rcx, qword [rbp + 0x88]
test rcx, rcx
je 0x1400051fc
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400051f8
mov rbx, qword [rbp + 0x88]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400051f8
mov rcx, qword [rbp + 0x88]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdi, qword [rbp + 8]
test rdi, rdi
je 0x140005236
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140005236
mov rbx, qword [rbp + 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140005236
mov rcx, qword [rbp + 8]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0xb8]
cmp rdx, 0xf
jbe 0x140005277
inc rdx
mov rcx, qword [rbp + 0xa0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005272
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005453
call fcn.140007e24
mov qword [rbp + 0xb0], r13
mov qword [rbp + 0xb8], 0xf
mov byte [rbp + 0xa0], 0
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x1400052cb
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400052c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000545a
call fcn.140007e24
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
mov rax, qword [rbp + 0xf8]
cmp rax, 0xf
jbe 0x1400047b0
lea rdx, [rax + 1]
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000531c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005461
call fcn.140007e24
jmp 0x1400047b0
mov edi, r13d
cmp rbx, 0xf
jbe 0x140005364
lea rdx, [rbx + 1]
mov rax, r15
cmp rdx, 0x1000
jb 0x14000535b
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000535b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r15
call fcn.140007e24
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x1400053a2
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000539d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000539d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007e24
movdqa xmm0, xmmword [0x14000ab70]
movdqu xmmword [rbp + 0x60], xmm0
mov byte [rbp + 0x50], 0
mov rdx, qword [rbp + 0x118]
cmp rdx, 0xf
jbe 0x1400053f7
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400053f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400053f2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140007e24
mov eax, edi
mov rcx, qword [rbp + 0x150]
xor rcx, rsp
call fcn.140007dc0
lea r11, [rsp + 0x260]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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 qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400011a0
nop
call fcn.140001100
nop
call fcn.140005710
nop
call fcn.1400011a0
nop
call fcn.140001100
int3
call fcn.1400011a0
nop
call fcn.140005710
nop
call fcn.140001100
nop
call fcn.140001100
nop
mov edx, eax
call fcn.1400027c0
int3
mov r8, rbx
lea rdx, [rbp + 0x90]
call fcn.140002920
nop
lea r8, [rbp - 0x50]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1400028b0
nop
call fcn.1400011a0
int3