Function at 0x140053ee0
Capabilities:
Execute command
Get common file path
Set console window title

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 - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140079040]
xor rax, rsp
mov qword [rbp + 0xc0], rax
xor ebx, ebx
lea rcx, str.polaroid_Rewrite
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1a
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], rbx
movups xmmword [rbp - 0x70], xmm0
test eax, eax
js 0x140053f70
lea rax, [rbp - 0x50]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x140053f61
lea rdx, [rbp - 0x50]
jmp 0x140053f7a
xor r8d, r8d
lea rdx, [0x140065bb2]
lea rcx, [rbp - 0x70]
call fcn.1400087b0
nop
movabs rcx, 0x7fffffffffffffff
mov r12, rcx
mov rax, qword [rbp - 0x60]
sub r12, rax
cmp r12, 0xc
jb 0x1400548e0
lea r13, [rbp - 0x70]
mov r14, qword [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r13, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r15, [rax + 0xc]
mov edi, 0xf
mov ebx, edi
lea rsi, [rsp + 0x30]
movabs rdx, 0x8000000000000000
mov r8d, 0x16
cmp r15, rbx
jbe 0x140054057
mov rbx, r15
or rbx, rdi
cmp rbx, rcx
jbe 0x14005401a
mov rbx, rcx
lea rax, [rdx + 0x27]
mov rcx, rax
call fcn.140061e90
test rax, rax
je 0x1400541a8
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14005404e
cmp rbx, r8
cmovb rbx, r8
lea rcx, [rbx + 1]
test rcx, rcx
jne 0x14005402e
xor esi, esi
jmp 0x140054052
cmp rcx, 0x1000
jb 0x140054046
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400548aa
jmp 0x140053ffb
call fcn.140061e90
mov rsi, rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rbx
mov r8, rax
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.polaroid_V2]
mov r13, qword [rbp - 0x60]
movsd qword [rsi + r13], xmm0
mov eax, dword [0x14006cdd8]
mov dword [rsi + r13 + 8], eax
mov byte [rsi + r15], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.140061494
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140003000
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x80], ecx
lea rax, [0x1400790c8]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14005414e
cmp eax, 1
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005415f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005415a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005415a
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 0x1400548b0
jmp 0x14005410e
call fcn.140062114
movdqa xmm0, xmmword [0x14006d3c0]
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400541b6
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400541af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400541af
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
xor eax, eax
test bl, bl
je 0x1400543a5
lea r13, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r13, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
mov rbx, rdi
lea rsi, [rsp + 0x30]
cmp r15, rbx
jbe 0x14005426e
mov rbx, r15
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x140054233
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140061e90
test rax, rax
je 0x140054399
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140054269
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
je 0x140054266
cmp rcx, 0x1000
jb 0x140054261
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400548bf
jmp 0x140054214
call fcn.140061e90
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rbx
mov r8, qword [rbp - 0x60]
mov rdx, r13
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.polaroid_V2]
mov r13, qword [rbp - 0x60]
movsd qword [rsi + r13], xmm0
mov eax, dword [0x14006cdd8]
mov dword [rsi + r13 + 8], eax
mov byte [rsi + r15], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.140061494
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.1400616f4
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1400548e6
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140054350
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005434b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005434b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
movdqa xmm0, xmmword [0x14006d3c0]
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov word [rsp + 0x50], ax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400543a7
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400543a0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400543a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
xor eax, eax
cmp r12, 0x1b
jb 0x1400548fc
lea r12, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova r12, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea r15, [r13 + 0x1b]
mov rbx, rdi
lea rsi, [rsp + 0x30]
cmp r15, rbx
jbe 0x140054465
mov rbx, r15
or rbx, 0xf
movabs rcx, 0x7fffffffffffffff
cmp rbx, rcx
jbe 0x14005442a
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140061e90
test rax, rax
je 0x1400545cf
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x140054460
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
lea rcx, [rbx + 1]
test rcx, rcx
je 0x14005445d
cmp rcx, 0x1000
jb 0x140054458
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400548c5
jmp 0x14005440b
call fcn.140061e90
mov rsi, rax
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rbx
mov r8, r13
mov rdx, r12
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.polaroid_V2Configurations]
movups xmmword [rsi + r13], xmm0
movsd xmm0, qword [0x14006cdf0]
movsd qword [rsi + r13 + 0x10], xmm0
movzx eax, word [0x14006cdf8]
mov word [rsi + r13 + 0x18], ax
movzx eax, byte [0x14006cdfa]
mov byte [rsi + r13 + 0x1a], al
mov byte [rsi + r15], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.140061494
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.140003000
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp - 0x80], ecx
lea rax, [0x1400790c8]
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x140054573
cmp eax, 1
sete bl
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x140054584
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005457f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005457f
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 0x1400548cb
jmp 0x140054533
call fcn.140062114
movdqa xmm0, xmmword [0x14006d3c0]
movdqu xmmword [rsp + 0x60], xmm0
xor r12d, r12d
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400545db
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400545d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400545d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
test bl, bl
je 0x1400547e2
lea rsi, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rsi, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rbx, [rsp + 0x30]
cmp r15, 0xf
jbe 0x140054696
mov rdi, r15
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
jbe 0x140054656
mov rdi, rax
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140061e90
test rax, rax
je 0x1400547d6
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140054691
cmp rdi, 0x16
mov eax, 0x16
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x140054671
mov rbx, r12
jmp 0x140054691
cmp rcx, 0x1000
jb 0x140054689
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400548da
jmp 0x140054637
call fcn.140061e90
mov rbx, rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rdi
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.polaroid_V2Configurations]
movups xmmword [rbx + r13], xmm0
movsd xmm0, qword [0x14006cdf0]
movsd qword [rbx + r13 + 0x10], xmm0
movzx eax, word [0x14006cdf8]
mov word [rbx + r13 + 0x18], ax
movzx eax, byte [0x14006cdfa]
mov byte [rbx + r13 + 0x1a], al
mov byte [rbx + r15], 0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rax, qword [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x78], rax
call fcn.140061494
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.140001980
nop
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 7
cmova rcx, qword [rsp + 0x50]
call fcn.1400616f4
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x140054894
mov rdx, qword [rsp + 0x68]
cmp rdx, 7
jbe 0x14005478e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140054789
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140054789
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
movdqa xmm0, xmmword [0x14006d3c0]
movdqu xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x50], r12w
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x1400547e2
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400547dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400547dd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140062114
lea rcx, str.color_f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
call fcn.140050de0
lea rdx, str.Error
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400505d0
mov rcx, rax
lea rdx, [0x14006c250]
call fcn.1400505d0
lea rcx, str.Pause
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
mov rax, qword [rbp - 0x58]
cmp rax, 0xf
jbe 0x140054862
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x14005485a
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005485a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140062114
xor eax, eax
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140061d50
lea r11, [rsp + 0x1d0]
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
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.1400029b0
nop
call fcn.140001210
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
call fcn.140053e80
nop
call fcn.140001210
int3
call fcn.140001210
nop
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
call fcn.140053e80
nop
call fcn.140001210
int3
call fcn.1400012b0
nop
shr rdx, 0x20
lea r8, [rsp + 0x50]
lea rcx, str.create_directory
call fcn.1400029b0
nop
call fcn.1400012b0
int3