Function at 0x14025e710
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x328
movaps xmmword [rsp + 0x310], xmm6
mov r14d, r9d
mov rbx, r8
mov r15, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov cl, byte [rdx]
test cl, cl
je 0x14025e7a9
mov rsi, rdx
add rsi, 1
xor eax, eax
mov edi, 0x5c
lea rbp, [rsp + 0x40]
nop word cs:[rax + rax]
nop
cmp cl, 0x2f
movzx ecx, cl
cmove ecx, edi
cmp al, 0xd
jg 0x14025e780
lea edx, [rax + 1]
mov byte [rsp + 0x4f], dl
movsx rax, al
mov byte [rsp + rax + 0x40], cl
jmp 0x14025e78b
movsx edx, cl
mov rcx, rbp
call fcn.14030b2c0
movzx ecx, byte [rsi]
test cl, cl
je 0x14025e79d
movzx eax, byte [rsp + 0x4f]
add rsi, 1
jmp 0x14025e760
mov bpl, byte [rsp + 0x4e]
mov rcx, qword [rsp + 0x40]
jmp 0x14025e7ad
xor ecx, ecx
xor ebp, ebp
test bpl, bpl
lea rax, [rsp + 0x40]
mov rdx, rcx
cmove rdx, rax
mov al, byte [rdx]
test al, al
je 0x14025e85d
test bpl, bpl
lea rbp, [rsp + 0x40]
cmove rcx, rbp
mov cl, byte [rcx + 1]
test cl, cl
je 0x14025e85d
cmp cl, 0x3a
je 0x14025e7f4
cmp al, 0x5c
jne 0x14025e7eb
cmp cl, 0x5c
je 0x14025e7f4
cmp al, 0x2f
jne 0x14025e85d
cmp cl, 0x2f
jne 0x14025e85d
lea rbp, [rsp + 0x2e8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x2f8], xmm0
movups xmmword [rsp + 0x2e8], xmm0
mov qword [rsp + 0x2e0], 0xffffffffffffffff
lea rcx, [rsp + 0x90]
call fcn.14025fac0
mov rdi, qword [rsp + 0x2e0]
mov esi, dword [rsp + 0x90]
lea rcx, [rsp + 0x90]
call fcn.14025f970
cmp rdi, 0xffffffffffffffff
je 0x14025e85d
and esi, 0x10
jne 0x14025e85d
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [r15], xmm0
jmp 0x14025ee1b
mov rsi, qword [rsp + 0x390]
xorps xmm6, xmm6
movaps xmmword [rsp + 0x50], xmm6
test rsi, rsi
je 0x14025e8c2
mov rcx, rsi
call sub.msvcrt.dll_strlen
movaps xmmword [rsp + 0x30], xmm6
cmp eax, 0xe
jg 0x14025e948
mov byte [rsp + 0x3f], al
movsxd r8, eax
cmp eax, 4
ja 0x14025ee3a
cmp eax, 1
ja 0x14025ee6a
test eax, eax
je 0x14025e958
mov al, byte [rsi]
mov byte [rsp + 0x30], al
test r14b, r14b
mov qword [rsp + 0x88], r15
jne 0x14025e965
jmp 0x14025e938
movaps xmmword [rsp + 0x30], xmm6
lea rsi, [rsp + 0x90]
mov ecx, 0x104
mov rdx, rsi
call qword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
mov r8d, 0xffffffff
nop word cs:[rax + rax]
nop dword [rax]
add r8d, 1
cmp word [rsi], 0
lea rsi, [rsi + 2]
jne 0x14025e8f0
lea rcx, [rsp + 0x20]
lea rdx, [rsp + 0x90]
call fcn.1402580e0
cmp byte [rsp + 0x3e], 0
je 0x14025e921
lea rcx, [rsp + 0x30]
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm0
test r14b, r14b
mov qword [rsp + 0x88], r15
jne 0x14025e965
xor esi, esi
test rbx, rbx
jne 0x14025ea51
jmp 0x14025edcf
lea rcx, [rsp + 0x30]
mov rdx, rsi
mov r8d, eax
call fcn.14030b0a0
test r14b, r14b
mov qword [rsp + 0x88], r15
je 0x14025e938
cmp byte [rsp + 0x4e], 0
je 0x14025e97f
mov rdx, qword [rsp + 0x40]
cmp byte [rsp + 0x3e], 0
jne 0x14025e98b
lea r8, [rsp + 0x30]
jmp 0x14025e990
lea rdx, [rsp + 0x40]
cmp byte [rsp + 0x3e], 0
je 0x14025e978
mov r8, qword [rsp + 0x30]
lea rcx, [rsp + 0x20]
call fcn.14025f0d0
cmp byte [rsp + 0x5e], 0
je 0x14025e9ab
lea rcx, [rsp + 0x50]
call fcn.14030abf0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
movabs rdx, 0xff000000000000
test rcx, rdx
lea rdx, [rsp + 0x50]
cmovne rdx, rax
lea rdi, [rsp + 0x2e8]
movups xmmword [rsp + 0x2f8], xmm0
movups xmmword [rsp + 0x2e8], xmm0
mov qword [rsp + 0x2e0], 0xffffffffffffffff
lea rcx, [rsp + 0x90]
call fcn.14025fac0
cmp qword [rsp + 0x2e0], 0xffffffffffffffff
setne sil
test byte [rsp + 0x90], 0x10
sete dil
lea rcx, [rsp + 0x90]
call fcn.14025f970
cmp byte [rsp + 0x2e], 0
je 0x14025ea45
lea rcx, [rsp + 0x20]
call fcn.14030abf0
and sil, dil
test rbx, rbx
je 0x14025edcf
test sil, sil
jne 0x14025edcf
xorps xmm6, xmm6
movaps xmmword [rsp + 0x90], xmm6
cmp byte [rsp + 0x5e], 0
xorps xmm0, xmm0
je 0x14025ea81
lea rcx, [rsp + 0x50]
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x50], xmm0
lea r12, [rsp + 0x60]
lea r13, [rsp + 0x90]
mov r14d, 0x5c
movabs r15, 0x100000000
jmp 0x14025ead7
cmp byte [rdi], 1
sbb rdi, 0xffffffffffffffff
mov sil, 1
mov rbx, rdi
cmp byte [rsp + 0x2e], 0
je 0x14025eace
lea rcx, [rsp + 0x20]
call fcn.14030abf0
test sil, sil
je 0x14025edcf
mov cl, byte [rbx]
test cl, cl
je 0x14025edcf
xor ebp, ebp
xor r8d, r8d
mov rdi, rbx
test cl, cl
je 0x14025eb08
nop dword [rax]
cmp cl, 0x3b
je 0x14025eb08
movzx ecx, byte [rdi + 1]
add rdi, 1
add r8, r15
add rbp, 1
test cl, cl
jne 0x14025eaf0
movaps xmmword [rsp + 0x20], xmm6
cmp ebp, 0xe
jg 0x14025eb40
mov byte [rsp + 0x2f], bpl
sar r8, 0x20
cmp ebp, 4
ja 0x14025eb70
cmp ebp, 1
ja 0x14025eb9c
test ebp, ebp
je 0x14025eb50
mov al, byte [rbx]
mov byte [rsp + 0x20], al
mov al, byte [rsp + 0x2e]
test al, al
jne 0x14025eb58
jmp 0x14025ebc0
lea rcx, [rsp + 0x20]
mov rdx, rbx
mov r8d, ebp
call fcn.14030b0a0
mov al, byte [rsp + 0x2e]
test al, al
je 0x14025ebc0
mov ecx, dword [rsp + 0x28]
test ecx, ecx
jne 0x14025ebcd
jmp 0x14025eab0
cmp ebp, 0x10
ja 0x14025ed61
cmp ebp, 8
ja 0x14025edac
mov eax, dword [rbx]
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + r8 - 4]
mov dword [rsp + r8 + 0x1c], eax
mov al, byte [rsp + 0x2e]
test al, al
jne 0x14025eb58
jmp 0x14025ebc0
movzx eax, word [rbx]
mov word [rsp + 0x20], ax
movzx eax, word [rbx + r8 - 2]
mov word [rsp + r8 + 0x1e], ax
mov al, byte [rsp + 0x2e]
test al, al
jne 0x14025eb58
nop dword [rax + rax]
movsx ecx, byte [rsp + 0x2f]
test ecx, ecx
je 0x14025eab0
lea rsi, [rsp + 0x20]
test al, al
je 0x14025ebdb
mov rsi, qword [rsp + 0x20]
movaps xmmword [rsp + 0x60], xmm6
mov dl, byte [rsi]
test dl, dl
je 0x14025ec30
add rsi, 1
xor ecx, ecx
nop dword [rax]
cmp dl, 0x2f
movzx eax, dl
cmove eax, r14d
cmp cl, 0xd
jg 0x14025ec10
lea edx, [rcx + 1]
mov byte [rsp + 0x6f], dl
movsx rcx, cl
mov byte [rsp + rcx + 0x60], al
jmp 0x14025ec1b
movsx edx, al
mov rcx, r12
call fcn.14030b2c0
movzx edx, byte [rsi]
test dl, dl
je 0x14025ec30
movzx ecx, byte [rsp + 0x6f]
add rsi, 1
jmp 0x14025ebf0
cmp byte [rsp + 0x4e], 0
lea r8, [rsp + 0x40]
je 0x14025ec41
mov r8, qword [rsp + 0x40]
lea rsi, [rsp + 0x78]
mov rcx, rsi
mov rdx, r12
call fcn.14025dbc0
cmp byte [rsp + 0x86], 0
mov rdx, rsi
je 0x14025ec63
mov rdx, qword [rsp + 0x78]
cmp byte [rsp + 0x3e], 0
lea r8, [rsp + 0x30]
je 0x14025ec74
mov r8, qword [rsp + 0x30]
mov rcx, r13
call fcn.14025f0d0
cmp byte [rsp + 0x2e], 0
je 0x14025ec8d
lea rcx, [rsp + 0x20]
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x90], xmm6
cmp byte [rsp + 0x86], 0
je 0x14025ecb4
mov rcx, rsi
call fcn.14030abf0
cmp byte [rsp + 0x6e], 0
je 0x14025ecc3
mov rcx, r12
call fcn.14030abf0
cmp byte [rsp + 0x2e], 0
lea rdx, [rsp + 0x20]
je 0x14025ecd4
mov rdx, qword [rsp + 0x20]
lea rax, [rsp + 0x2e8]
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rsp + 0x2e0], 0xffffffffffffffff
mov rbx, r13
mov rcx, r13
call fcn.14025fac0
mov rbp, qword [rsp + 0x2e0]
mov esi, dword [rsp + 0x90]
mov rcx, rbx
call fcn.14025f970
cmp rbp, 0xffffffffffffffff
je 0x14025eab0
and esi, 0x10
jne 0x14025eab0
cmp byte [rsp + 0x2e], 0
mov al, byte [rsp + 0x5e]
je 0x14025ed7f
test al, al
je 0x14025ed3d
lea rcx, [rsp + 0x50]
call fcn.14030abf0
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x20]
call fcn.14030aaa0
xor esi, esi
mov rbx, rdi
cmp byte [rsp + 0x2e], 0
jne 0x14025eac4
jmp 0x14025eace
lea rcx, [rsp + 0x20]
mov rdx, rbx
call fcn.140252bb0
mov al, byte [rsp + 0x2e]
test al, al
je 0x14025ebc0
jmp 0x14025eb58
test al, al
je 0x14025ed8d
lea rcx, [rsp + 0x50]
call fcn.14030abf0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm0
xor esi, esi
mov rbx, rdi
cmp byte [rsp + 0x2e], 0
jne 0x14025eac4
jmp 0x14025eace
mov rax, qword [rbx]
mov qword [rsp + 0x20], rax
mov rax, qword [rbx + r8 - 8]
mov qword [rsp + r8 + 0x18], rax
mov al, byte [rsp + 0x2e]
test al, al
jne 0x14025eb58
jmp 0x14025ebc0
movaps xmm0, xmmword [rsp + 0x50]
mov r15, qword [rsp + 0x88]
movups xmmword [r15], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
cmp byte [rsp + 0x3e], 0
je 0x14025ee0a
lea rcx, [rsp + 0x30]
call fcn.14030abf0
cmp byte [rsp + 0x5e], 0
je 0x14025ee0a
lea rcx, [rsp + 0x50]
call fcn.14030abf0
cmp byte [rsp + 0x4e], 0
je 0x14025ee1b
lea rcx, [rsp + 0x40]
call fcn.14030abf0
mov rax, r15
movaps xmm6, xmmword [rsp + 0x310]
add rsp, 0x328
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 0x10
ja 0x14025ee94
cmp eax, 8
ja 0x14025eeb7
mov eax, dword [rsi]
mov dword [rsp + 0x30], eax
mov eax, dword [rsi + r8 - 4]
mov dword [rsp + r8 + 0x2c], eax
test r14b, r14b
mov qword [rsp + 0x88], r15
jne 0x14025e965
jmp 0x14025e938
movzx eax, word [rsi]
mov word [rsp + 0x30], ax
movzx eax, word [rsi + r8 - 2]
mov word [rsp + r8 + 0x2e], ax
test r14b, r14b
mov qword [rsp + 0x88], r15
jne 0x14025e965
jmp 0x14025e938
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140252bb0
test r14b, r14b
mov qword [rsp + 0x88], r15
je 0x14025e938
jmp 0x14025e965
mov rax, qword [rsi]
mov qword [rsp + 0x30], rax
mov rax, qword [rsi + r8 - 8]
mov qword [rsp + r8 + 0x28], rax
test r14b, r14b
mov qword [rsp + 0x88], r15
jne 0x14025e965
jmp 0x14025e938