Function at 0x140043760
Capabilities:
Get common file path
Set current directory

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11b0]
mov eax, 0x12b0
call fcn.1401686c0
sub rsp, rax
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x12e8], rbx
mov qword [rsp + 0x12f0], rsi
mov qword [rsp + 0x12f8], rdi
mov rax, qword [0x14028e6b0]
xor rax, rsp
mov qword [rbp + 0x11a0], rax
mov rsi, rcx
lea rdx, [rsp + 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call fcn.14000cdd0
mov rbx, rax
lea rdx, [rax + 0x33188]
cmp qword [rdx + 0x18], 8
jb 0x1400437dd
mov rdx, qword [rdx]
mov qword [rsi + 0x10d8], rdx
mov eax, dword [rsi + 0x10e8]
or eax, 0x801200
mov dword [rsi + 0x10e8], eax
cmp byte [rbx + 0x841], 0
jne 0x140043817
or eax, 0x120
mov dword [rsi + 0x10e8], eax
lea rax, [0x140043080]
mov qword [rsi + 0x1100], rax
lea rcx, [rsi + 0x1088]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
mov edi, eax
cmp dword [rbx + 0x3dc], 1
jne 0x14004384c
lea rdx, [rsp + 0x50]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.1400d8450
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test edi, edi
je 0x140043b42
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
inc rcx
lea r14, [rsi + rcx*2]
xor edx, edx
mov r8d, 0x1040
lea rcx, [rbp + 0x160]
call fcn.140187ea0
xor r12d, r12d
cmp word [r14], r12w
jne 0x14004391d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r12
mov word [rsp + 0x28], r12w
cmp word [rsi], r12w
jne 0x1400438bc
mov r8d, r12d
jmp 0x1400438ca
or r8, 0xffffffffffffffff
inc r8
cmp word [rsi + r8*2], r12w
jne 0x1400438c0
mov rdx, rsi
lea rcx, [rsp + 0x28]
call fcn.140006f10
nop
lea rcx, [rsi + 0x1070]
lea rdx, [rsp + 0x28]
call fcn.140009520
nop
mov r8, qword [rsp + 0x40]
cmp r8, 8
jb 0x140043907
inc r8
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x28]
call fcn.140007680
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r12
mov word [rsp + 0x28], r12w
jmp 0x140043964
mov r8, rsi
mov edx, 0x820
lea rcx, [rbp + 0x160]
call fcn.14018fc10
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rcx, eax
cmp word [rbp + rcx*2 + 0x15e], 0x5c
je 0x140043964
lea r8, [0x1401d3668]
mov edx, 0x820
lea rcx, [rbp + 0x160]
call fcn.14018fad0
lea rcx, [rbp + 0x160]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [r14], 0
je 0x140043b39
cdqe
lea r15, [rax + rax]
movabs r13, 0x7fffffffffffffff
nop dword [rax]
cmp r15, 0x1040
jae 0x140043b33
mov word [rbp + r15 + 0x160], r12w
mov r8, r14
mov edx, 0x820
lea rcx, [rbp + 0x160]
call fcn.14018fad0
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r12
mov word [rsp + 0x28], r12w
cmp word [rbp + 0x160], 0
jne 0x1400439e7
mov r8, r12
jmp 0x1400439fd
lea rax, [rbp + 0x160]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400439f2
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x28]
call fcn.140006f10
nop
lea rbx, [rsi + 0x1070]
mov rax, qword [rbx + 8]
lea rcx, [rsp + 0x28]
cmp rcx, rax
jae 0x140043a61
mov rcx, qword [rbx]
lea rdx, [rsp + 0x28]
cmp rcx, rdx
ja 0x140043a61
lea rdi, [rsp + 0x28]
sub rdi, rcx
cmp rax, qword [rbx + 0x10]
jne 0x140043a4c
mov edx, 1
mov rcx, rbx
call fcn.140006290
mov rcx, qword [rbx + 8]
and rdi, 0xffffffffffffffe0
add rdi, qword [rbx]
test rcx, rcx
je 0x140043a97
mov rdx, rdi
jmp 0x140043a82
cmp rax, qword [rbx + 0x10]
jne 0x140043a74
mov edx, 1
mov rcx, rbx
call fcn.140006290
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140043a97
lea rdx, [rsp + 0x28]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], r12
mov word [rcx], r12w
call fcn.140004900
add qword [rbx + 8], 0x20
mov rax, qword [rsp + 0x40]
cmp rax, 8
jb 0x140043ae4
inc rax
mov rcx, qword [rsp + 0x28]
cmp rax, r13
ja 0x140043b2d
add rax, rax
cmp rax, 0x1000
jb 0x140043adf
test cl, 0x1f
jne 0x140043b27
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x140043b21
sub rcx, rax
cmp rcx, 8
jb 0x140043b1b
cmp rcx, 0x27
ja 0x140043b15
mov rcx, rax
call fcn.140167f5c
mov qword [rsp + 0x40], 7
mov qword [rsp + 0x38], r12
mov word [rsp + 0x28], r12w
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
lea r14, [r14 + rax*2]
cmp word [r14], 0
je 0x140043b39
jmp 0x140043990
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14018acfc
int3
call fcn.14016881c
int3
lea rax, [rsi + 0x1070]
jmp 0x140043b44
xor eax, eax
mov rcx, qword [rbp + 0x11a0]
xor rcx, rsp
call fcn.140168660
lea r11, [rsp + 0x12b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret