Function at 0x140097570
Capabilities:
Accept command line arguments
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0x90
cmp word [0x1404a0400], 0
lea r14, [0x1404a0400]
jne 0x140097a26
xor esi, esi
mov qword [rbp + 0xf], rsi
mov qword [rbp + 0x17], rsi
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r9b, 1
lea r8, [rbp + 0xf]
mov rcx, rax
lea rdx, str._basedir
call fcn.140087da0
mov eax, dword [rbp + 0x17]
test eax, eax
je 0x1400976b5
cmp eax, 1
je 0x1400976b5
lea r9, [0x1402ac29c]
mov dword [rsp + 0x20], 1
lea r8, [0x1402ac344]
lea rdx, [rbp - 0x19]
lea rcx, [rbp + 0xf]
call fcn.14002d700
mov rbx, rax
lea rax, [rbp + 0xf]
cmp rax, rbx
je 0x140097630
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140097616
call fcn.14003e1e0
mov rcx, qword [rbx]
mov qword [rbp + 0xf], rcx
mov qword [rbx], rsi
mov eax, dword [rbx + 8]
mov dword [rbp + 0x17], eax
mov eax, dword [rbx + 0xc]
mov dword [rbp + 0x1b], eax
mov qword [rbx + 8], rsi
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14009763e
call fcn.14003e1e0
mov ecx, dword [rbp + 0x17]
lea ebx, [rcx - 1]
test ecx, ecx
jg 0x14009764a
mov ebx, esi
test ecx, ecx
mov eax, esi
mov edx, ecx
setle al
inc eax
add ecx, eax
mov dword [rbp + 0x17], ecx
cmp ecx, dword [rbp + 0x1b]
jle 0x140097668
lea rcx, [rbp + 0xf]
call fcn.140014910
mov rax, qword [rbp + 0xf]
mov edx, 0x2f
movsxd rcx, ebx
mov word [rax + rcx*2], dx
lea eax, [rbx + 1]
movsxd rcx, eax
lea rbx, [0x14025d748]
mov rax, qword [rbp + 0xf]
mov word [rax + rcx*2], si
mov rcx, r14
cmp dword [rbp + 0x17], esi
cmovne rbx, qword [rbp + 0xf]
sub rcx, rbx
nop dword [rax + rax]
movzx eax, word [rbx]
mov word [rcx + rbx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x1400976a0
jmp 0x140097a18
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, str._BaseFromWorkingDir
call fcn.140031f80
test rax, rax
je 0x140097815
mov rdx, r14
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp word [0x1404a0400], si
mov rcx, rsi
mov qword [rbp - 9], rcx
mov qword [rbp - 1], rsi
je 0x140097730
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], cx
jne 0x140097700
inc edi
mov dword [rbp - 1], edi
test edi, edi
jle 0x140097722
xor edx, edx
lea rcx, [rbp - 9]
call fcn.140014910
mov rcx, qword [rbp - 9]
movsxd r8, edi
mov rdx, r14
add r8, r8
call fcn.140027910
lea r9, [0x1402ac36c]
mov dword [rsp + 0x20], 1
lea r8, [0x1402ac44c]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.14002d700
mov rbx, rax
lea rax, [rbp - 9]
cmp rax, rbx
je 0x140097787
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x14009776d
call fcn.14003e1e0
mov rcx, qword [rbx]
mov qword [rbp - 9], rcx
mov qword [rbx], rsi
mov eax, dword [rbx + 8]
mov dword [rbp - 1], eax
mov eax, dword [rbx + 0xc]
mov dword [rbp + 3], eax
mov qword [rbx + 8], rsi
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140097795
call fcn.14003e1e0
mov ecx, dword [rbp - 1]
lea ebx, [rcx - 1]
test ecx, ecx
jg 0x1400977a1
mov ebx, esi
test ecx, ecx
mov eax, esi
mov edx, ecx
setle al
inc eax
add ecx, eax
mov dword [rbp - 1], ecx
cmp ecx, dword [rbp + 3]
jle 0x1400977bf
lea rcx, [rbp - 9]
call fcn.140014910
mov rax, qword [rbp - 9]
mov edx, 0x2f
movsxd rcx, ebx
mov word [rax + rcx*2], dx
lea eax, [rbx + 1]
movsxd rcx, eax
lea rbx, [0x14025d748]
mov rax, qword [rbp - 9]
mov rdx, r14
mov word [rax + rcx*2], si
cmp dword [rbp - 1], esi
mov rcx, qword [rbp - 9]
cmovne rbx, rcx
sub rdx, rbx
nop word [rax + rax]
movzx eax, word [rbx]
mov word [rbx + rdx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x140097800
jmp 0x140097a0e
lea r8, [rbp + 0x67]
mov ecx, 6
lea rdx, [fcn.140097570]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
mov rcx, qword [rbp + 0x67]
mov r8d, 0x200
test eax, eax
mov rdx, r14
cmove rcx, qword [0x14049bd58]
mov qword [rbp + 0x67], rcx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
or rdi, 0xffffffffffffffff
mov qword [rbp - 1], rsi
cmp word [0x1404a0400], si
mov rcx, rsi
mov qword [rbp - 9], rcx
je 0x1400978a0
mov rbx, rdi
nop word [rax + rax]
inc rbx
cmp word [r14 + rbx*2], cx
jne 0x140097870
inc ebx
mov dword [rbp - 1], ebx
test ebx, ebx
jle 0x140097892
xor edx, edx
lea rcx, [rbp - 9]
call fcn.140014910
mov rcx, qword [rbp - 9]
movsxd r8, ebx
mov rdx, r14
add r8, r8
call fcn.140027910
lea r9, [0x1402ac4b4]
mov dword [rsp + 0x20], 1
lea r8, [0x1402ac4c4]
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 9]
call fcn.14002d700
mov rbx, rax
lea rax, [rbp - 9]
cmp rax, rbx
je 0x1400978f7
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x1400978dd
call fcn.14003e1e0
mov rcx, qword [rbx]
mov qword [rbp - 9], rcx
mov qword [rbx], rsi
mov eax, dword [rbx + 8]
mov dword [rbp - 1], eax
mov eax, dword [rbx + 0xc]
mov dword [rbp + 3], eax
mov qword [rbx + 8], rsi
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140097905
call fcn.14003e1e0
cmp dword [rbp - 1], esi
lea rbx, [0x14025d748]
mov rcx, rbx
mov rdx, r14
cmovne rcx, qword [rbp - 9]
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x140097920
mov rax, rdi
inc rax
cmp word [r14 + rax*2], si
jne 0x140097933
test eax, eax
jle 0x140097972
dec eax
movsxd rcx, eax
test eax, eax
jle 0x140097972
lea rdx, [r14 - 2]
lea rdx, [rdx + rcx*2]
movzx r8d, word [rdx]
cmp r8w, 0x2f
je 0x140097972
cmp r8w, 0x5c
je 0x140097972
dec eax
dec rcx
sub rdx, 2
test rcx, rcx
jg 0x140097952
cdqe
add rax, rax
cmp rax, 0x400
jae 0x140097a41
mov word [rax + r14], si
cmp word [0x1404a0400], si
mov qword [rbp + 0x27], rsi
mov qword [rbp + 0x2f], rsi
je 0x1400979d3
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], si
jne 0x1400979a0
inc edi
mov dword [rbp + 0x2f], edi
test edi, edi
jle 0x1400979c2
xor edx, edx
lea rcx, [rbp + 0x27]
call fcn.140014910
mov rsi, qword [rbp + 0x27]
movsxd r8, edi
mov rdx, r14
add r8, r8
mov rcx, rsi
call fcn.140027910
lea rcx, [rbp + 0x27]
call fcn.140079640
cmp dword [rbp + 0x2f], 0
mov rdx, r14
mov rcx, qword [rbp + 0x27]
cmovne rbx, rcx
sub rdx, rbx
nop
movzx eax, word [rbx]
mov word [rbx + rdx], ax
lea rbx, [rbx + 2]
test ax, ax
jne 0x1400979f0
test rcx, rcx
je 0x140097a0a
call fcn.14003e1e0
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x140097a18
call fcn.14003e1e0
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140097a26
call fcn.14003e1e0
lea r11, [rsp + 0x90]
mov rax, r14
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret
call fcn.140236ad4
int3