Function at 0x1400742e0
Capabilities:
Get common file path

Disassembly:
push r14
push r13
mov r13, rcx
mov rcx, rdx
push r12
push rbx
sub rsp, 0x38
test rdx, rdx
je 0x140074534
movzx eax, byte [rdx]
cmp al, 0x5c
je 0x140074336
cmp al, 0x2f
je 0x140074336
lea rdx, [0x1403ded40]
xor r12d, r12d
test byte [rdx + rax*2], 2
je 0x140074327
cmp byte [rcx + 1], 0x3a
jne 0x140074327
movzx eax, byte [rcx + 2]
cmp al, 0x5c
je 0x140074336
cmp al, 0x2f
je 0x140074336
add rsp, 0x38
mov rax, r12
pop rbx
pop r12
pop r13
pop r14
ret
test r13, r13
je 0x1400745e7
movzx eax, byte [r13]
cmp al, 0x5c
je 0x1400745a6
cmp al, 0x2f
je 0x1400745a6
lea rdx, [0x1403ded40]
test byte [rdx + rax*2], 2
je 0x14007436c
cmp byte [r13 + 1], 0x3a
je 0x140074595
xor r14d, r14d
test rcx, rcx
je 0x14007453d
xor r8d, r8d
mov rdx, r13
call fcn.1400740f0
mov rcx, r14
mov r12, rax
call sub.msvcrt.dll_free
mov rcx, r12
call fcn.1400f4750
mov rdx, rax
test rax, rax
je 0x1400745c2
lea rcx, [rax - 1]
lea r8, [r12 - 1]
cmp r12, rcx
jbe 0x1400743c8
jmp 0x140074601
mov byte [rcx], 0x5c
sub rcx, 1
cmp rcx, r8
je 0x140074528
movzx eax, byte [rcx]
cmp al, 0x5c
je 0x1400743b8
cmp al, 0x2f
je 0x1400743b8
cmp byte [rcx + 1], 0x5c
movzx eax, byte [rdx]
lea r9, [rcx + 1]
je 0x14007452b
mov rcx, rdx
sub rcx, r9
cmp rcx, 1
sete cl
movzx ecx, cl
add r9, rcx
mov rcx, r9
test al, al
je 0x140074476
nop
cmp al, 0x2f
je 0x140074410
cmp al, 0x5c
jne 0x140074430
nop dword [rax + rax]
movzx eax, byte [rdx + 1]
add rdx, 1
cmp al, 0x5c
je 0x140074410
cmp al, 0x2f
je 0x140074410
cmp al, 0x25
jne 0x140074434
nop dword [rax]
movzx eax, byte [rdx + 1]
add rdx, 1
cmp al, 0x25
je 0x140074428
cmp al, 0x2e
jne 0x140074459
jmp 0x1400744a8
mov r8, rcx
add rdx, 1
add rcx, 1
cmp al, 0x5c
je 0x140074490
cmp al, 0x2f
je 0x140074490
mov byte [rcx - 1], al
movzx eax, byte [rdx]
test al, al
jne 0x140074440
cmp r9, rcx
jae 0x140074476
movzx eax, byte [rcx - 1]
cmp al, 0x5c
je 0x1400745b6
cmp al, 0x2f
je 0x1400745b6
mov byte [rcx], 0
add rsp, 0x38
mov rax, r12
pop rbx
pop r12
pop r13
pop r14
ret
mov byte [r8], 0x5c
movzx eax, byte [rdx]
test al, al
jne 0x140074400
jmp 0x14007445d
movzx r8d, byte [rdx + 1]
test r8b, r8b
je 0x14007445d
cmp r8b, 0x5c
je 0x14007451f
cmp r8b, 0x2f
je 0x14007451f
cmp r8b, 0x2e
jne 0x140074440
movzx r10d, byte [rdx + 2]
test r10b, r10b
je 0x1400744e2
cmp r10b, 0x5c
je 0x1400744e2
cmp r10b, 0x2f
jne 0x140074440
cmp r9, rcx
jb 0x140074505
test r10b, r10b
je 0x14007445d
add rdx, 3
jmp 0x140074494
cmp r9, rcx
jae 0x1400744e7
movzx eax, byte [rcx - 2]
sub rcx, 1
cmp al, 0x5c
setne r8b
cmp al, 0x2f
setne al
test r8b, al
jne 0x140074500
jmp 0x1400744e7
add rdx, 2
jmp 0x140074494
movzx eax, byte [rdx]
lea r9, [rcx + 2]
jmp 0x1400743e4
test r13, r13
jne 0x14007433f
lea rdx, [rsp + 0x2c]
mov rbx, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, 2
xor r12d, r12d
call rbx
mov edx, eax
mov r14, rdx
test rdx, rdx
jne 0x1400745ef
mov ecx, r14d
mov rdx, r12
sub r14d, 1
call rbx
cmp eax, r14d
je 0x140074614
mov rcx, r12
call sub.msvcrt.dll_free
lea rcx, [0x1403dec42]
call fcn.1400fb5e0
mov r14, rax
mov rcx, r14
jmp 0x140074378
movzx eax, byte [r13 + 2]
cmp al, 0x5c
je 0x1400745a6
cmp al, 0x2f
jne 0x14007436c
mov rcx, r13
call fcn.1400fb5e0
mov r12, rax
jmp 0x14007438e
sub rcx, 1
mov byte [rcx], 0
jmp 0x140074479
mov rcx, r12
call sub.msvcrt.dll_free
add rsp, 0x38
mov rdx, r13
xor r8d, r8d
pop rbx
lea rcx, [0x1403dec42]
pop r12
pop r13
pop r14
jmp fcn.1400740f0
xor r14d, r14d
jmp 0x140074378
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r12, rax
jmp 0x140074561
movzx eax, byte [rax]
cmp al, 0x5c
je 0x14007452b
mov r9, rdx
jmp 0x1400743f7
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov edx, 0xffffffff
call fcn.140103410
mov rcx, r12
mov r14, rax
call sub.msvcrt.dll_free
test r14, r14
jne 0x14007458d
jmp 0x14007457e