Function at 0x140004620
Capabilities:
Copy file
Create directory
Query environment variable

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 - 0x680]
sub rsp, 0x780
mov rax, qword [0x14008e080]
xor rax, rsp
mov qword [rbp + 0x670], rax
xor r12d, r12d
mov dword [rsp + 0x40], r12d
lea rcx, [0x140091358]
cmp qword [0x140091370], 0xf
cmova rcx, qword [0x140091358]
mov r8d, 0x104
lea rdx, [rbp + 0x560]
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov qword [rbp + 0x170], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x178], xmm0
mov qword [rbp + 0x188], r12
mov qword [rbp + 0x190], r12
lea rax, [rbp + 0x560]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r12b
jne 0x1400046b7
lea rdx, [rbp + 0x560]
lea rcx, [rbp + 0x170]
call fcn.14000c410
nop
mov qword [rbp + 0x1c0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], r12
mov qword [rbp + 0x1e0], r12
lea rax, [rbp + 0x560]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140004701
lea rdx, [rbp + 0x560]
lea rcx, [rbp + 0x1c0]
call fcn.14000c410
nop
lea rdx, [0x1400913c8]
cmp qword [0x1400913e0], 0xf
cmova rdx, qword [0x1400913c8]
mov r8, qword [0x1400913d8]
lea rcx, [rbp + 0x170]
call fcn.14000aa50
lea rcx, [rbp + 0x178]
cmp qword [rbp + 0x190], 0xf
cmova rcx, qword [rbp + 0x178]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov qword [rbp + 0x2d8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x2e0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2f0], xmm1
mov r8d, 3
lea rdx, [0x140087504]
lea rcx, [rbp + 0x2d8]
call fcn.14000c410
nop
mov qword [rbp + 0x2b0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x2b8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2c8], xmm1
mov r8d, 3
lea rdx, [0x140087508]
lea rcx, [rbp + 0x2b0]
call fcn.14000c410
nop
mov qword [rbp + 0x288], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x290], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x2a0], xmm1
mov r8d, 3
lea rdx, [0x14008750c]
lea rcx, [rbp + 0x288]
call fcn.14000c410
nop
mov qword [rbp + 0x260], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x268], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x278], xmm1
mov r8d, 3
lea rdx, [0x140087510]
lea rcx, [rbp + 0x260]
call fcn.14000c410
nop
mov qword [rbp + 0x238], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x240], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x250], xmm1
mov r8d, 3
lea rdx, [0x140087514]
lea rcx, [rbp + 0x238]
call fcn.14000c410
nop
mov qword [rbp + 0x210], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x218], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x228], xmm1
mov r8d, 3
lea rdx, [0x140087518]
lea rcx, [rbp + 0x210]
call fcn.14000c410
nop
mov qword [rbp + 0x1e8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x1f0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x200], xmm1
mov r8d, 3
lea rdx, [0x14008751c]
lea rcx, [rbp + 0x1e8]
call fcn.14000c410
nop
mov qword [rbp + 0x120], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r12
mov qword [rbp + 0x140], r12
mov r8d, 4
lea rdx, str..
lea rcx, [rbp + 0x120]
call fcn.14000c410
nop
lea rax, [rbp - 0x60]
mov qword [rsp + 0x40], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x60]
call fcn.140008d10
mov rbx, rax
lea rdx, [rbp + 0x2d8]
lea rcx, [rbp - 0x38]
call fcn.140008d10
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rsp + 0x78]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
lea rsi, [rbp + 0x128]
cmp qword [rbp + 0x140], 0xf
cmova rsi, qword [rbp + 0x128]
mov rdi, qword [rbp + 0x138]
movabs r15, 0x7fffffffffffffff
cmp rdi, r15
ja 0x140005ef0
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x48], rax
mov ecx, 0x10
call fcn.140011010
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x78]
mov qword [rax], rcx
mov qword [rax + 8], r12
mov qword [rsp + 0x78], rax
mov r14d, 0x16
cmp rdi, 0xf
ja 0x140004a11
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x140004a4d
mov rbx, rdi
or rbx, 0xf
cmp rbx, r15
jbe 0x140004a22
mov rbx, r15
jmp 0x140004a29
cmp rbx, r14
cmovb rbx, r14
lea rcx, [rbx + 1]
call fcn.14000e810
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.14006ad70
mov qword [rsp + 0x40], r12
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp - 0x60]
call fcn.140008d10
nop
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rsp + 0x78]
mov qword [rbp - 0x10], rax
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
lea rsi, [rbp + 0x128]
cmp qword [rbp + 0x140], 0xf
cmova rsi, qword [rbp + 0x128]
mov rdi, qword [rbp + 0x138]
cmp rdi, r15
ja 0x140005ef6
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x48], rax
mov ecx, 0x10
call fcn.140011010
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x78]
mov qword [rax], rcx
mov qword [rax + 8], r12
mov qword [rsp + 0x78], rax
cmp rdi, 0xf
ja 0x140004b1e
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 0xf
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x80], xmm0
jmp 0x140004b5b
mov rbx, rdi
or rbx, 0xf
cmp rbx, r15
jbe 0x140004b2f
mov rbx, r15
jmp 0x140004b37
cmp rbx, 0x16
cmovb rbx, r14
lea rcx, [rbx + 1]
call fcn.14000e810
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rbx
lea r8, [rdi + 1]
mov rdx, rsi
mov rcx, rax
call fcn.14006ad70
mov qword [rsp + 0x40], r12
lea rdx, [rbp + 0x288]
lea rcx, [rbp - 0x60]
call fcn.140008d10
nop
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x60]
call fcn.140008d10
mov rbx, rax
lea rdx, [rbp + 0x260]
lea rcx, [rbp - 0x38]
call fcn.140008d10
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x60]
call fcn.140008d10
mov rbx, rax
lea rdx, [rbp + 0x238]
lea rcx, [rbp - 0x38]
call fcn.140008d10
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x60]
call fcn.140008d10
mov rbx, rax
lea rdx, [rbp + 0x210]
lea rcx, [rbp - 0x38]
call fcn.140008d10
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rax, [rbp - 0x60]
mov qword [rbp - 0x10], rax
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x60]
call fcn.140008d10
mov rbx, rax
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp - 0x38]
call fcn.140008d10
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400040f0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
nop
mov qword [rbp + 0x148], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x168], r12
mov ecx, 0x10
call fcn.140011010
mov qword [rax + 8], r12
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x148]
mov qword [rax], rcx
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x168], 0xf
mov byte [rbp + 0x150], 0
mov qword [rbp + 0xf8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r12
mov ecx, 0x10
call fcn.140011010
mov qword [rax + 8], r12
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf8]
mov qword [rax], rcx
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], 0xf
mov byte [rbp + 0x100], 0
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x198]
call fcn.140008d10
nop
mov rcx, qword [0x140091400]
mov rax, r15
mov rdx, qword [rbp + 0x1d8]
sub rax, rdx
cmp rax, rcx
jb 0x140005efc
lea r9, [rbp + 0x1c8]
cmp qword [rbp + 0x1e0], 0xf
cmova r9, qword [rbp + 0x1c8]
lea rax, [0x1400913f0]
cmp qword [0x140091408], 0xf
cmova rax, qword [0x1400913f0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea rcx, [rbp + 0x328]
call fcn.14000df40
mov edi, 0x1000
mov qword [rbp + 0x300], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x308], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x318], xmm1
mov r8d, 4
lea rdx, str..txt
lea rcx, [rbp + 0x300]
call fcn.14000c410
nop
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0x350]
call fcn.14006b410
mov r8d, 8
lea rdx, [rbp + 0x328]
lea rcx, [rbp + 0x350]
call fcn.140007000
nop
mov rax, qword [0x140091388]
mov r15d, 2
mov rcx, qword [0x140091380]
cmp rcx, rax
je 0x140005b6d
mov rdx, rax
lea r13, [0x140087572]
lea r8, [0x140086f0c]
lea r9, str.back___called_on_empty_vector
cmp rcx, rdx
jne 0x140004f29
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
xor r9d, r9d
mov r8d, 0x798
lea rdx, [0x140087610]
mov ecx, r15d
call fcn.14001c360
cmp eax, 1
jne 0x140004efd
int3
mov qword [rsp + 0x20], r12
mov r9d, 0x798
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120include_vector
lea rdx, [0x140087044]
lea rcx, str._back___called_on_empty_vector_
call fcn.14001d2f0
mov rax, qword [0x140091388]
lea r8, [rax - 0x28]
lea rax, [rbp + 0xf8]
cmp rax, r8
je 0x140004f57
lea rdx, [r8 + 8]
cmp qword [r8 + 0x20], 0xf
jbe 0x140004f47
mov rdx, qword [rdx]
mov r8, qword [r8 + 0x18]
lea rcx, [rbp + 0xf8]
call fcn.14000a8a0
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
mov r8d, 4
lea rdx, str..doc
lea rcx, [rsp + 0x50]
call fcn.14000c410
nop
or edi, 1
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rsp + 0x68]
cmp rbx, rsi
jb 0x140005006
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f02
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0xf
cmova rdx, qword [rsp + 0x58]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x140005006
cmp r14, rsi
jb 0x140005006
jbe 0x140005628
mov qword [rbp - 0x60], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
mov r8d, 5
lea rdx, str..docx
lea rcx, [rbp - 0x60]
call fcn.14000c410
nop
or edi, 2
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp - 0x48]
cmp rbx, rsi
jb 0x1400050ac
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f08
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0xf
cmova rdx, qword [rbp - 0x58]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x1400050ac
cmp r14, rsi
jb 0x1400050ac
jbe 0x140005628
mov qword [rbp - 0x38], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], r12
mov r8d, 4
lea rdx, str..xls
lea rcx, [rbp - 0x38]
call fcn.14000c410
nop
or edi, 4
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp - 0x20]
cmp rbx, rsi
jb 0x140005152
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f0e
lea rdx, [rbp - 0x30]
cmp qword [rbp - 0x18], 0xf
cmova rdx, qword [rbp - 0x30]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x140005152
cmp r14, rsi
jb 0x140005152
jbe 0x140005628
mov qword [rbp + 0xc8], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], r12
mov qword [rbp + 0xe8], r12
mov r8d, 5
lea rdx, str..xlsx
lea rcx, [rbp + 0xc8]
call fcn.14000c410
nop
or edi, 8
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0xe0]
cmp rbx, rsi
jb 0x140005213
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f14
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0xf
cmova rdx, qword [rbp + 0xd0]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x140005213
cmp r14, rsi
jb 0x140005213
jbe 0x140005628
mov qword [rbp + 0xa0], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], r12
mov r8d, 4
lea rdx, str..pdf
lea rcx, [rbp + 0xa0]
call fcn.14000c410
nop
or edi, 0x10
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0xb8]
cmp rbx, rsi
jb 0x1400052d4
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f1a
lea rdx, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0xf
cmova rdx, qword [rbp + 0xa8]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x1400052d4
cmp r14, rsi
jb 0x1400052d4
jbe 0x140005628
mov qword [rbp + 0x78], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
mov qword [rbp + 0x98], r12
mov r8d, 4
lea rdx, str..ppt
lea rcx, [rbp + 0x78]
call fcn.14000c410
nop
or edi, 0x20
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x90]
cmp rbx, rsi
jb 0x14000538f
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f20
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0xf
cmova rdx, qword [rbp + 0x80]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x14000538f
cmp r14, rsi
jb 0x14000538f
jbe 0x140005628
mov qword [rbp + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x70], r12
mov r8d, 4
lea rdx, str..inp
lea rcx, [rbp + 0x50]
call fcn.14000c410
nop
or edi, 0x40
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x68]
cmp rbx, rsi
jb 0x140005435
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f26
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova rdx, qword [rbp + 0x58]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x140005435
cmp r14, rsi
jb 0x140005435
jbe 0x140005628
mov qword [rbp + 0x28], r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r12
mov r8d, 5
lea rdx, str..pptx
lea rcx, [rbp + 0x28]
call fcn.14000c410
nop
bts edi, 7
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x40]
cmp rbx, rsi
jb 0x1400054dc
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f2c
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x1400054dc
cmp r14, rsi
jb 0x1400054dc
jbe 0x140005628
mov qword [rbp], r12
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r12
mov qword [rbp + 0x20], r12
mov r8d, 4
lea rdx, str..sql
lea rcx, [rbp]
call fcn.14000c410
nop
bts edi, 8
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp + 0x18]
cmp rbx, rsi
jb 0x140005583
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f32
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0xf
cmova rdx, qword [rbp + 8]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x140005583
cmp r14, rsi
jb 0x140005583
jbe 0x140005628
mov qword [rsp + 0x78], r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
mov r8d, 4
lea rdx, str..txt
lea rcx, [rsp + 0x78]
call fcn.14000c410
nop
bts edi, 9
mov dword [rsp + 0x40], edi
mov rbx, qword [rbp + 0x110]
mov rsi, qword [rbp - 0x70]
cmp rbx, rsi
jb 0x14000562d
mov rcx, rbx
sub rcx, rsi
cmp rbx, rcx
jb 0x140005f38
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rdx, qword [rbp - 0x80]
mov rax, rbx
sub rax, rcx
mov r14, rsi
cmp rax, rsi
cmovb r14, rax
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov r8, r14
cmp rsi, r14
cmovb r8, rsi
add rcx, rax
call fcn.14006b7c0
test eax, eax
jne 0x14000562d
cmp r14, rsi
jb 0x14000562d
ja 0x14000562d
mov sil, 1
jmp 0x140005630
xor sil, sil
bt edi, 9
jae 0x14000565f
btr edi, 9
lea rcx, [rsp + 0x78]
call fcn.14000a780
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x78], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
bt edi, 8
jae 0x14000568b
btr edi, 8
lea rcx, [rbp]
call fcn.14000a780
mov rcx, qword [rbp]
mov qword [rbp], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, dil
jns 0x1400056b6
btr edi, 7
lea rcx, [rbp + 0x28]
call fcn.14000a780
mov rcx, qword [rbp + 0x28]
mov qword [rbp + 0x28], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 0x40
je 0x1400056e1
and edi, 0xffffffbf
lea rcx, [rbp + 0x50]
call fcn.14000a780
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 0x20
je 0x14000570c
and edi, 0xffffffdf
lea rcx, [rbp + 0x78]
call fcn.14000a780
mov rcx, qword [rbp + 0x78]
mov qword [rbp + 0x78], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 0x10
je 0x140005740
and edi, 0xffffffef
lea rcx, [rbp + 0xa0]
call fcn.14000a780
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0xa0], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 8
je 0x140005774
and edi, 0xfffffff7
lea rcx, [rbp + 0xc8]
call fcn.14000a780
mov rcx, qword [rbp + 0xc8]
mov qword [rbp + 0xc8], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 4
je 0x14000579f
and edi, 0xfffffffb
lea rcx, [rbp - 0x38]
call fcn.14000a780
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x38], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 2
je 0x1400057ca
and edi, 0xfffffffd
lea rcx, [rbp - 0x60]
call fcn.14000a780
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x60], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test dil, 1
je 0x1400057f8
and edi, 0xfffffffe
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
mov rbx, qword [rbp + 0x110]
test sil, sil
je 0x140005aab
lea rdx, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rdx, qword [rbp + 0x100]
mov r8, rbx
lea rcx, [rbp + 0x350]
call fcn.14000e130
lea rdx, [0x1400873bc]
mov rcx, rax
call fcn.14000be40
lea rbx, [rbp + 0x100]
mov r14, qword [rbp + 0x100]
mov r15, qword [rbp + 0x118]
cmp r15, 0xf
cmova rbx, r14
mov rsi, qword [rbp + 0x110]
test rsi, rsi
je 0x1400058cf
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x460]
call fcn.14006b410
lea rcx, [0x140087570]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x460], 1
inc rcx
cmp rcx, r13
jne 0x140005880
lea rcx, [rsi - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
add rax, rbx
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x460], 0
jne 0x1400058ca
cmp rax, rbx
je 0x1400058cf
dec rax
movzx ecx, byte [rax]
cmp byte [rbp + rcx + 0x460], 0
je 0x1400058b5
sub rax, rbx
jmp 0x1400058d6
mov rax, 0xffffffffffffffff
lea rcx, [rax + 1]
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
cmp rsi, rcx
jb 0x140005f44
sub rsi, rcx
mov r8, 0xffffffffffffffff
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x100]
cmp r15, 0xf
cmova rdx, r14
add rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.14000c410
bts edi, 0xa
mov dword [rsp + 0x40], edi
lea rcx, [rbp + 0x148]
call fcn.14000a780
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x148]
call fcn.14000aae0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x188]
sub rax, rcx
mov rdx, qword [rbp + 0x160]
cmp rax, rdx
jb 0x140005f3e
lea r9, [rbp + 0x178]
cmp qword [rbp + 0x190], 0xf
cmova r9, qword [rbp + 0x178]
lea rax, [rbp + 0x150]
cmp qword [rbp + 0x168], 0xf
cmova rax, qword [rbp + 0x150]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x50]
call fcn.14000df40
bts edi, 0xb
lea rcx, [rbp + 0x198]
call fcn.14000a780
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x198]
call fcn.14000aae0
lea rcx, [rsp + 0x50]
call fcn.14000a780
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x50], r12
mov edx, 0x10
call fcn.14000d1d0
lea rdx, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0xf
cmova rdx, qword [rbp + 0x1a0]
mov r8, qword [rbp + 0x1b0]
lea rcx, [0x14008f550]
call fcn.14000e130
lea rdx, [0x1400873bc]
mov rcx, rax
call fcn.14000be40
lea rdx, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0xf
cmova rdx, qword [rbp + 0x1a0]
lea rcx, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rcx, qword [rbp + 0x100]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov qword [rbp + 0x110], r12
lea rax, [rbp + 0x100]
cmp qword [rbp + 0x118], 0xf
cmova rax, qword [rbp + 0x100]
mov byte [rax], 0
mov r15d, 2
mov r8, qword [0x140091388]
cmp qword [0x140091380], r8
jne 0x140005b1d
lea rax, str.vector_empty_before_pop
mov qword [rsp + 0x28], rax
lea rax, [0x140086f0c]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x6af
lea rdx, [0x140087610]
mov ecx, r15d
call fcn.14001c360
cmp eax, 1
jne 0x140005af1
int3
mov qword [rsp + 0x20], r12
mov r9d, 0x6af
lea r8, str.C:Program_FilesMicrosoft_Visual_Studio2022CommunityVCToolsMSVC14.41.34120include_vector
lea rdx, [0x140087044]
lea rcx, str._vector_empty_before_pop_
call fcn.14001d2f0
mov r8, qword [0x140091388]
lea rdx, [r8 - 0x28]
call fcn.14000a6e0
mov rbx, qword [0x140091388]
lea rcx, [rbx - 0x28]
call fcn.14000a780
mov rcx, qword [rbx - 0x28]
mov qword [rbx - 0x28], r12
mov edx, 0x10
call fcn.14000d1d0
mov rax, qword [0x140091388]
add rax, 0xffffffffffffffd8
mov rdx, rax
mov qword [0x140091388], rax
mov rcx, qword [0x140091380]
cmp rcx, rax
jne 0x140004ec2
lea rcx, [rbp + 0x358]
call fcn.14000a2e0
test rax, rax
jne 0x140005bbb
mov rax, qword [rbp + 0x350]
movsxd rcx, dword [rax + 4]
mov eax, 6
cmp qword [rbp + rcx + 0x398], 0
cmovne eax, r15d
or eax, dword [rbp + rcx + 0x360]
and eax, 0x17
mov dword [rbp + rcx + 0x360], eax
mov edx, dword [rbp + rcx + 0x364]
and edx, eax
jne 0x140005e9d
mov rax, qword [rbp + 0x350]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x350], rax
mov rax, qword [rbp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x34c], edx
lea rcx, [rbp + 0x358]
call fcn.1400082c0
mov rax, qword [rbp + 0x350]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x350], rax
mov rax, qword [rbp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x34c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x3f8], rax
lea rcx, [rbp + 0x3f8]
call fcn.14000fbf0
nop
lea rcx, [rbp + 0x300]
call fcn.14000a780
mov rcx, qword [rbp + 0x300]
mov qword [rbp + 0x300], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x328]
call fcn.14000a780
mov rcx, qword [rbp + 0x328]
mov qword [rbp + 0x328], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x198]
call fcn.14000a780
mov rcx, qword [rbp + 0x198]
mov qword [rbp + 0x198], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0xf8]
call fcn.14000a780
mov rcx, qword [rbp + 0xf8]
mov qword [rbp + 0xf8], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x148]
call fcn.14000a780
mov rcx, qword [rbp + 0x148]
mov qword [rbp + 0x148], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x120]
call fcn.14000a780
mov rcx, qword [rbp + 0x120]
mov qword [rbp + 0x120], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x1e8]
call fcn.14000a780
mov rcx, qword [rbp + 0x1e8]
mov qword [rbp + 0x1e8], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x210]
call fcn.14000a780
mov rcx, qword [rbp + 0x210]
mov qword [rbp + 0x210], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x238]
call fcn.14000a780
mov rcx, qword [rbp + 0x238]
mov qword [rbp + 0x238], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x260]
call fcn.14000a780
mov rcx, qword [rbp + 0x260]
mov qword [rbp + 0x260], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x288]
call fcn.14000a780
mov rcx, qword [rbp + 0x288]
mov qword [rbp + 0x288], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x2b0]
call fcn.14000a780
mov rcx, qword [rbp + 0x2b0]
mov qword [rbp + 0x2b0], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x2d8]
call fcn.14000a780
mov rcx, qword [rbp + 0x2d8]
mov qword [rbp + 0x2d8], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x1c0]
call fcn.14000a780
mov rcx, qword [rbp + 0x1c0]
mov qword [rbp + 0x1c0], r12
mov edx, 0x10
call fcn.14000d1d0
nop
lea rcx, [rbp + 0x170]
call fcn.14000a780
mov rcx, qword [rbp + 0x170]
mov qword [rbp + 0x170], r12
mov edx, 0x10
call fcn.14000d1d0
mov rcx, qword [rbp + 0x670]
xor rcx, rsp
call fcn.140010fd0
lea r11, [rsp + 0x780]
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
test dl, 4
je 0x140005eab
lea rbx, str.ios_base::badbit_set
jmp 0x140005ec0
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp - 0x10]
call fcn.140001eb0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.140002a70
lea rdx, [0x14008c9d8]
lea rcx, [rsp + 0x50]
call fcn.140014960
nop
call fcn.140001de0
int3
call fcn.140001de0
nop
call fcn.140001de0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.14000b9e0
nop
call fcn.140001de0
int3
call fcn.14000b9e0
int3