Function at 0x14004ae40
Capabilities:
Accept command line arguments
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 - 0x37]
sub rsp, 0xd0
mov rax, qword [0x140091088]
xor rax, rsp
mov qword [rbp + 0x2f], rax
movsxd rsi, ecx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ebx, eax
mov eax, 2
mul rbx
mov r14, 0xffffffffffffffff
cmovo rax, r14
mov rcx, rax
call fcn.1400528e4
mov rdi, rax
mov rdx, rax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
xor ebx, ebx
mov qword [rbp - 0x21], rbx
mov qword [rbp - 0x11], rbx
mov qword [rbp - 9], 7
mov word [rbp - 0x21], bx
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x21]
call fcn.14004e680
mov rcx, rdi
call fcn.1400528a0
nop
mov r8, rsi
lea r9, [rbp + 0x29]
movabs r10, 0xcccccccccccccccd
test esi, esi
jns 0x14004af30
neg r8
sub r9, 2
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x14004aef0
add r9, 0xfffffffffffffffe
mov eax, 0x2d
mov word [r9], ax
jmp 0x14004af60
sub r9, 2
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x14004af30
mov qword [rbp - 0x41], rbx
mov r15, rbx
mov qword [rbp - 0x31], rbx
mov r13d, 7
mov qword [rbp - 0x29], r13
mov word [rbp - 0x41], bx
lea rax, [rbp + 0x29]
cmp r9, rax
je 0x14004afa0
lea r8, [rbp + 0x29]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp - 0x41]
call fcn.14004e680
mov r15, qword [rbp - 0x31]
mov r13, qword [rbp - 0x29]
mov qword [rbp - 0x61], rbx
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x49], rbx
lea rsi, [rbp - 0x21]
mov r12, qword [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rsi, r12
movabs rax, 0x7ffffffffffffffe
movabs rdx, 0x7fffffffffffffff
mov rdi, qword [rbp - 0x11]
cmp rdi, 8
jae 0x14004afe9
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x61], xmm0
mov ebx, 7
jmp 0x14004b064
mov rbx, rdi
or rbx, 7
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x14004b457
add rcx, rcx
cmp rcx, 0x1000
jb 0x14004b03f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004b457
mov rcx, rax
call fcn.1400528a8
mov rcx, rax
test rax, rax
je 0x14004b463
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14004b04d
test rcx, rcx
je 0x14004b04b
call fcn.1400528a8
jmp 0x14004b04d
xor eax, eax
mov qword [rbp - 0x61], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call fcn.140054b10
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x51], rdi
mov rax, rbx
sub rax, rdi
lea rcx, [rbp - 0x61]
cmp rax, 1
jb 0x14004b0a0
lea rdx, [rdi + 1]
mov qword [rbp - 0x51], rdx
cmp rbx, 8
cmovae rcx, qword [rbp - 0x61]
movzx eax, word [0x140088418]
mov word [rcx + rdi*2], ax
xor esi, esi
mov word [rcx + rdx*2], si
jmp 0x14004b0bc
mov qword [rsp + 0x20], 1
lea r9, [0x140088418]
mov edx, 1
call fcn.140050100
xor esi, esi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r9, rax
inc r14
cmp word [rax + r14*2], 0
jne 0x14004b0c5
mov rcx, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x49]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x14004b10e
lea rdi, [rcx + r14]
mov qword [rbp - 0x51], rdi
lea rbx, [rbp - 0x61]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x61]
lea rcx, [rbx + rcx*2]
lea r8, [r14 + r14]
mov rdx, r9
call fcn.140054b10
mov word [rbx + rdi*2], si
jmp 0x14004b11f
mov qword [rsp + 0x20], r14
mov rdx, r14
lea rcx, [rbp - 0x61]
call fcn.140050100
mov r8, qword [rbp - 0x51]
mov r9, qword [rbp - 0x49]
mov rax, r9
sub rax, r8
lea rcx, [rbp - 0x61]
cmp rax, 1
jb 0x14004b15a
lea rdx, [r8 + 1]
mov qword [rbp - 0x51], rdx
cmp r9, 8
cmovae rcx, qword [rbp - 0x61]
movzx eax, word [0x140088418]
mov word [rcx + r8*2], ax
mov word [rcx + rdx*2], si
jmp 0x14004b174
mov qword [rsp + 0x20], 1
lea r9, [0x140088418]
mov edx, 1
call fcn.140050100
mov qword [rbp - 1], rsi
mov qword [rbp + 0xf], rsi
mov qword [rbp + 0x17], rsi
lea rbx, [rbp - 0x41]
cmp r13, 8
setae byte [rbp - 0x69]
mov r13, qword [rbp - 0x41]
mov rdi, qword [rbp - 0x29]
cmp rdi, 8
cmovae rbx, r13
cmp r15, 8
jae 0x14004b1b8
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 1], xmm0
mov r14d, 7
mov rsi, qword [rbp - 1]
jmp 0x14004b243
mov r14, r15
or r14, 7
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmova r14, rax
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x14004b451
add rcx, rcx
cmp rcx, 0x1000
jb 0x14004b21f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14004b451
mov rcx, rax
call fcn.1400528a8
test rax, rax
je 0x14004b45d
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14004b22c
test rcx, rcx
je 0x14004b22c
call fcn.1400528a8
mov rsi, rax
mov qword [rbp - 1], rsi
lea r8, [r15*2 + 2]
mov rdx, rbx
mov rcx, rsi
call fcn.140054b10
mov qword [rbp + 0x17], r14
mov qword [rbp + 0xf], r15
lea r9, [rbp - 1]
cmp r14, 8
cmovae r9, rsi
mov rcx, qword [rbp - 0x51]
mov rdx, qword [rbp - 0x49]
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x14004b29d
lea rdi, [r15 + rcx]
mov qword [rbp - 0x51], rdi
lea rbx, [rbp - 0x61]
cmp rdx, 8
cmovae rbx, qword [rbp - 0x61]
lea rcx, [rbx + rcx*2]
lea r8, [r15 + r15]
mov rdx, r9
call fcn.140054b10
xor r15d, r15d
mov word [rbx + rdi*2], r15w
mov rdi, qword [rbp - 0x29]
jmp 0x14004b2b9
mov qword [rsp + 0x20], r15
mov rdx, r15
lea rcx, [rbp - 0x61]
call fcn.140050100
mov r14, qword [rbp + 0x17]
mov rsi, qword [rbp - 1]
xor r15d, r15d
cmp r14, 8
jb 0x14004b2f4
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14004b2ec
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b45d
mov rcx, rsi
call fcn.1400528a0
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, qword [0x140095930]
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, rax
test rax, rax
je 0x14004b34d
mov ecx, dword [rax]
call qword [sym.imp.USER32.dll_AllowSetForegroundWindow]
lea rcx, [rbx + 4]
lea rdx, [rbp - 0x61]
cmp qword [rbp - 0x49], 8
cmovae rdx, qword [rbp - 0x61]
mov r8, qword [rbp - 0x51]
lea r8, [r8*2 + 2]
call fcn.140054b10
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, qword [0x140095948]
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov rdx, qword [rbp - 0x49]
cmp rdx, 8
jb 0x14004b39b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x61]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b396
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b463
call fcn.1400528a0
mov qword [rbp - 0x51], r15
mov qword [rbp - 0x49], 7
mov word [rbp - 0x61], r15w
cmp byte [rbp - 0x69], 0
je 0x14004b3e8
lea rdx, [rdi*2 + 2]
mov rax, r13
cmp rdx, 0x1000
jb 0x14004b3df
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b469
mov rcx, r13
call fcn.1400528a0
nop
mov rax, qword [rbp - 9]
cmp rax, 8
jb 0x14004b424
lea rdx, [rax*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x14004b41c
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b46f
mov rcx, r12
call fcn.1400528a0
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140052880
lea r11, [rsp + 0xd0]
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.140044130
nop
call fcn.140044130
nop
call fcn.14005cf9c
nop
call fcn.14005cf9c
nop
call fcn.14005cf9c
nop
call fcn.14005cf9c
int3