Function at 0x1400036f4
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov rax, qword [0x140077698]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov qword [rsp + 0x38], rdx
mov r13, rcx
call fcn.1400122fc
mov rcx, rax
test rax, rax
je 0x140003a19
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14001687a.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
mov rcx, qword [r13 + 0x10]
cmp dword [rcx - 0x10], 0
jl 0x140003768
lea rdx, [0x140058e88]
call fcn.14003533c
mov r14, rax
test rax, rax
jne 0x140003771
or rsi, 0xffffffffffffffff
mov r14d, esi
jmp 0x14000377c
sub r14, qword [r13 + 0x10]
sar r14, 1
or rsi, 0xffffffffffffffff
and qword [rsp + 0x40], 0
and qword [rsp + 0x48], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov r15d, eax
mov eax, 2
mul r15
cmovo rax, rsi
mov rcx, rax
call fcn.140011cc8
mov r12, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000397f
mov r8d, r15d
add r8, r8
xor edx, edx
mov rcx, rax
call fcn.140034210
mov rdx, r12
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x14000397f
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x50]
call fcn.140034210
lea r8, [0x140058ea0]
mov edx, 0x104
lea rcx, [rsp + 0x50]
call fcn.14003b424
mov rcx, r12
call fcn.1400383fc
mov rbx, rax
lea rcx, [rsp + 0x50]
call fcn.1400383fc
add rax, 2
add rbx, rax
mov eax, 2
mul rbx
cmovo rax, rsi
mov rcx, rax
call fcn.140011cc8
mov r15, rax
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000386f
lea r8, [rbx + rbx]
xor edx, edx
mov rcx, rax
call fcn.140034210
mov r8, r12
mov rdx, rbx
mov rcx, r15
call fcn.14003b424
lea r8, [rsp + 0x50]
mov rdx, rbx
mov rcx, r15
call fcn.14003b3a4
cmp r14d, esi
jne 0x1400038ac
xor r14d, r14d
mov r9, qword [rsp + 0x38]
mov rax, qword [r9]
lea rcx, [rsp + 0x30]
cmp dword [rax - 0x10], r14d
jne 0x140003898
lea rdx, str.TRANSFORMS__
call fcn.1400016a4
jmp 0x140003906
mov r9, rax
lea rdx, str.TRANSFORMS__s_s_
mov r8, r15
call fcn.1400016a4
jmp 0x140003906
add r14d, 0xa
mov rcx, qword [r13 + 0x10]
js 0x1400038de
cmp r14d, dword [rcx - 0x10]
jge 0x1400038de
movsxd rax, r14d
lea rcx, [rcx + rax*2]
mov edx, 0x22
call fcn.140035210
mov r14, rax
test rax, rax
je 0x1400038de
sub r14, qword [r13 + 0x10]
sar r14, 1
jmp 0x1400038e1
mov r14d, esi
inc r14d
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
cmp dword [rax - 0x10], 0
jne 0x140003908
mov r8, rax
lea rdx, [0x140058f08]
lea rcx, [rsp + 0x30]
call fcn.1400016a4
jmp 0x140003968
mov rcx, qword [r13 + 0x10]
test r14d, r14d
js 0x14000394c
cmp r14d, dword [rcx - 0x10]
jge 0x14000394c
movsxd rax, r14d
lea rcx, [rcx + rax*2]
mov edx, 0x5c
call fcn.140035210
test rax, rax
je 0x14000394c
sub rax, qword [r13 + 0x10]
sar rax, 1
cmp eax, esi
je 0x14000394c
mov r9, qword [rbx]
lea rdx, str._s_s_
lea rcx, [rsp + 0x30]
jmp 0x1400038a2
mov qword [rsp + 0x20], r12
mov r9, qword [rbx]
mov r8, r15
lea rdx, str._s_s__s_
lea rcx, [rsp + 0x30]
call fcn.1400016a4
mov rbx, qword [rsp + 0x30]
mov r8, rbx
mov edx, r14d
lea rcx, [r13 + 0x10]
call fcn.1400051ec
nop
jmp 0x1400039be
mov rcx, r12
call fcn.140012904
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400039a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
jmp 0x1400039f0
mov rcx, r15
call fcn.140012904
mov rcx, r12
call fcn.140012904
nop
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
add eax, esi
test eax, eax
jg 0x1400039f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14001687a.0]
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
call fcn.1400330d0
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x270
pop r15
pop r14
pop r13
pop r12
pop rsi
ret
mov ecx, 0x80004005
call fcn.140001474
int3