Function at 0x140002010
Capabilities:
Check if file exists
Execute command
Get file attributes

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 - 0x1e0]
sub rsp, 0x2e0
mov r8d, 0x104
lea rdx, [rbp - 0x30]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor r12d, r12d
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
lea rax, [rbp - 0x30]
mov rdi, 0xffffffffffffffff
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x140002070
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x70]
call fcn.140002a90
lea rsi, [rsp + 0x70]
mov r14, qword [rsp + 0x70]
mov r15, qword [rbp - 0x78]
cmp r15, 0x10
cmovae rsi, r14
mov rbx, qword [rbp - 0x80]
test rbx, rbx
je 0x14000211b
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xe0]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x140001210]
lea rdx, [0x140001212]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0xe0], 1
inc rcx
cmp rcx, rdx
jne 0x1400020d0
lea rax, [rbx - 1]
mov rbx, rdi
cmp rax, rdi
cmovb rbx, rax
add rbx, rsi
movzx eax, byte [rbx]
cmp byte [rbp + rax + 0xe0], r12b
jne 0x140002116
cmp rbx, rsi
je 0x14000211b
dec rbx
movzx eax, byte [rbx]
cmp byte [rbp + rax + 0xe0], r12b
je 0x140002101
sub rbx, rsi
jmp 0x14000211e
mov rbx, rdi
cmp r15, 0x10
jb 0x140002158
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140002150
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002150
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140003120
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], r12b
lea rax, [rbp - 0x30]
inc rdi
cmp byte [rax + rdi], r12b
jne 0x140002174
mov r8, rdi
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x30]
call fcn.140002a90
nop
mov qword [rsp + 0x70], r12
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], 0
cmp qword [rsp + 0x40], rbx
cmovb rbx, qword [rsp + 0x40]
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rdx, qword [rsp + 0x30]
mov r8, rbx
lea rcx, [rsp + 0x70]
call fcn.140002a90
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14000220c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002207
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400025a4
call fcn.140003120
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r14, qword [rbp - 0x80]
sub rax, r14
cmp rax, 0x25
jb 0x14000261e
lea r12, [rsp + 0x70]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rbp - 0x78]
cmp r13, 0x10
cmovae r12, rsi
xor edx, edx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rdx
lea r15, [r14 + 0x25]
mov ebx, 0xf
lea rdi, [rsp + 0x50]
cmp r15, rbx
jbe 0x1400022db
mov rbx, r15
or rbx, 0xf
cmp rbx, rcx
jbe 0x14000229c
mov rbx, rcx
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.1400030e4
test rax, rax
je 0x1400025a4
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400022d6
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400022c4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140002624
jmp 0x14000227d
test rcx, rcx
je 0x1400022d3
call fcn.1400030e4
mov rdi, rax
jmp 0x1400022d6
mov rdi, rdx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [0x140001218]
movups xmmword [r14 + rdi], xmm0
movups xmm1, xmmword [0x140001228]
movups xmmword [r14 + rdi + 0x10], xmm1
mov eax, dword [0x140001238]
mov dword [r14 + rdi + 0x20], eax
movzx eax, byte [0x14000123c]
mov byte [r14 + rdi + 0x24], al
mov byte [rdi + r15], 0
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000254b
lea rbx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rbx, qword [rsp + 0x50]
xor edi, edi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], dil
lea r8d, [rdi + 0xc]
lea rdx, [0x140001240]
lea rcx, [rsp + 0x30]
call fcn.140002a90
nop
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x1400023c4
lea rax, [rcx + 1]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x30]
mov word [rax + rcx], 0x20
lea rax, [rsp + 0x30]
jmp 0x1400023e3
mov qword [rsp + 0x20], 1
lea r9, [0x140001250]
mov edx, 1
lea rcx, [rsp + 0x30]
call fcn.140002ed0
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8, rbx
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.140002c30
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14000245c
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002457
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002457
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003120
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1400024ac
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400024a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400024a7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003120
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
test eax, eax
jne 0x1400024e7
lea rdx, [0x140001258]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
jmp 0x1400024f5
lea rdx, [0x140001270]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002d00
lea rdx, [0x140002bf0]
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]
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140002570
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002544
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002544
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003120
jmp 0x140002570
lea rdx, [0x140001288]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140002d00
mov rcx, rax
lea rdx, [0x140002bf0]
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]
xor edi, edi
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x1400025b0
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400025ab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400025ab
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140003120
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 0xf
mov byte [rsp + 0x50], 0
cmp r13, 0x10
jb 0x1400025fd
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400025f5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400025f5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140003120
lea r11, [rsp + 0x2e0]
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.140001ff0
nop
call fcn.140001f50
int3