Function at 0x1800c1040
Capabilities:
Get common file path

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x270], rbx
mov rax, qword [0x180183c70]
xor rax, rbp
mov qword [rbp + 0x220], rax
lea eax, [rcx - 0xa]
mov qword [rbp + 0x60], r9
xor ebx, ebx
mov qword [rbp + 0x28], r8
mov dword [rbp + 0x1c], ecx
mov rdi, r9
mov dword [rbp + 4], ecx
mov r10, r8
mov dword [rbp + 0x5c], eax
mov r12, rdx
mov r14d, ecx
mov r9d, ecx
cmp ecx, eax
jbe 0x1800c1758
mov r8, qword [rbp + 0x48]
lea rcx, [0x180000000]
mov rdx, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x48]
movzx r11d, byte [rbp + 8]
mov r14, qword [rbp + 0x48]
mov r13d, dword [rbp + 0x1c]
mov r15d, dword [rbp + 0x1c]
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x40], rbx
mov byte [rbp], r11b
mov qword [rbp + 0x50], r14
mov dword [rbp + 0x18], r13d
lea eax, [r9 - 0xc6]
mov esi, 0x124
cmp eax, 0x29
ja case.default.0x1800c1107
movzx eax, byte [rcx + rax + 0xc1970]
mov ecx, dword [rcx + rax*4 + 0xc1944]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
lea r8, [rbp + 0x68]
xor edx, edx
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExA]
test eax, eax
je 0x1800c1731
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
movzx r11d, byte [rbp]
jmp case.0x1800c1107.208
cmp dword [r10 + 8], 4
jae 0x1800c1158
mov eax, dword [r10 + 8]
inc rax
add rax, rax
mov qword [r10 + rax*8], rdi
mov eax, dword [r10 + 8]
add rax, rax
mov qword [r10 + rax*8 + 0x18], r12
jmp case.0x1800c1107.208
jbe 0x1800c1182
lea rcx, [r10 + 0x10]
mov dword [rbp + 0x10], edi
lea r9, [rbp + 0x10]
mov r8d, esi
mov rdx, r12
call fcn.1800fceb0
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
movzx r11d, byte [rbp]
jmp case.0x1800c1107.208
mov r14d, 0x67
mov r13d, 0x124
nop
mov eax, r14d
sub eax, 0x66
je 0x1800c1203
cmp eax, 1
jne 0x1800c125f
movups xmm0, xmmword [r10 + 0x10]
lea r8, [r10 + 0x10]
xor eax, eax
movups xmm1, xmmword [r8 + 0x10]
lea r9, [rbp + 0x10]
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x90], xmm0
lea rax, [rbp + 0x48]
movups xmm0, xmmword [r8 + 0x20]
lea rdx, [rbp + 8]
mov ecx, 0x109
movaps xmmword [rbp + 0xa0], xmm1
movups xmm1, xmmword [r8 + 0x30]
mov byte [rbp + 8], 0
movaps xmmword [rbp + 0xb0], xmm0
movaps xmmword [rbp + 0xc0], xmm1
mov dword [rbp + 0x10], 5
mov qword [rsp + 0x20], rax
call fcn.180138cc0
jmp 0x1800c125b
lea rsi, [r10 + 0x10]
mov edi, 4
lea rbx, [rbp + 0x98]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbx - 8]
lea r9, [rbp + 0x10]
mov rdx, qword [rbx]
mov r8d, r13d
mov rcx, rsi
mov dword [rbp + 0x10], eax
call fcn.1800fceb0
lea rbx, [rbx + 0x10]
sub rdi, 1
jne 0x1800c1220
mov rdi, qword [rbp + 0x60]
lea r9, [rbp + 0x10]
mov r8d, r13d
mov dword [rbp + 0x10], edi
mov rdx, r12
mov rcx, rsi
call fcn.1800fceb0
mov r10, qword [rbp + 0x28]
dec r14d
cmp r14d, 0x65
ja 0x1800c1190
mov rbx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
movzx r11d, byte [rbp]
jmp 0x1800c1704
xor edx, edx
lea r9, [rbp + 0xd0]
mov rcx, r10
lea r8d, [rdx + 0x35]
call fcn.18008e5a0
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
movzx r11d, byte [rbp]
jmp case.0x1800c1107.208
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r10 + r8], 0
jne 0x1800c12b0
mov qword [rbp + 0x20], r8
jmp case.0x1800c1107.208
inc dword [r10 + 8]
jmp case.0x1800c1107.208
mov eax, 0xde
cmp eax, 0xde
je 0x1800c1746
add eax, 0xc6
cmp eax, 0x1a4
jb 0x1800c12d1
cmp r8, 1
jb 0x1800c1315
cmp byte [r10 + 1], 0x3a
jne 0x1800c1315
movsx eax, byte [r10]
mov ecx, eax
sub al, 0x41
cmp al, 0x19
lea eax, [rcx - 0x41]
jbe 0x1800c1307
lea eax, [rcx - 0x61]
mov dword [r12 + 0x10], eax
mov dword [r12], eax
jmp case.0x1800c1107.208
cmp r8, 2
jb 0x1800c1344
movzx eax, byte [r10]
cmp al, 0x2f
je 0x1800c1327
cmp al, 0x5c
jne 0x1800c1344
movzx eax, byte [r10 + 1]
cmp al, 0x2f
je 0x1800c1334
cmp al, 0x5c
jne 0x1800c1344
xor eax, eax
mov dword [r12 + 0x10], eax
mov dword [r12], eax
jmp case.0x1800c1107.208
mov rsi, qword [rbp + 0x28]
mov ebx, 0x4c
nop dword [rax]
mov eax, ebx
sub eax, 0x4c
je 0x1800c1485
sub eax, 0x68
je 0x1800c13a0
cmp eax, 0x68
jne 0x1800c1496
lea rax, [rbp + 0x110]
mov r9d, 0xed
mov dword [rbp + 4], r9d
cmp rdx, rax
je 0x1800c149a
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x30]
jmp 0x1800c1496
mov edi, 0x79
mov eax, edi
sub eax, 0x79
je 0x1800c141f
cmp eax, 0x52
jne 0x1800c142e
cmp r13d, r15d
jb 0x1800c1446
test r13d, r13d
jne 0x1800c13ee
mov ecx, 0x47
mov eax, ecx
sub eax, 0x46
je 0x1800c147e
cmp eax, 1
jne 0x1800c13e5
mov dword [r12 + 0x10], 0xffffffff
mov dword [r12], 0xffffffff
dec ecx
cmp ecx, 0x45
ja 0x1800c13c4
jmp 0x1800c142e
mov ebx, 0x64
mov eax, ebx
sub eax, 0x64
je 0x1800c140e
cmp eax, 0x53
jne 0x1800c1412
mov ecx, r15d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp + 0x30], rax
jmp 0x1800c1412
lea r15d, [r13 + 1]
add ebx, 0x53
cmp ebx, 0x10a
jb 0x1800c13f3
jmp 0x1800c142e
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov r13d, eax
mov dword [rbp + 0x18], eax
mov rdx, qword [rbp + 0x30]
add edi, 0x52
cmp edi, 0x11d
jb 0x1800c13a5
jmp 0x1800c13a0
cmp byte [rdx + 1], 0x3a
jne 0x1800c146d
movsx eax, byte [rsi]
mov ecx, eax
sub al, 0x41
cmp al, 0x19
lea eax, [rcx - 0x41]
jbe 0x1800c145d
lea eax, [rcx - 0x61]
mov dword [r12 + 0x10], eax
mov ebx, 0xb4
mov dword [r12], eax
jmp 0x1800c1496
mov dword [r12 + 0x10], 0xffffffff
mov dword [r12], 0xffffffff
mov ebx, 0xb4
jmp 0x1800c1496
lea rdx, [rbp + 0x110]
mov r15d, 0x105
mov qword [rbp + 0x30], rdx
mov r9d, dword [rbp + 4]
add ebx, 0x68
cmp ebx, 0x184
jb 0x1800c1350
mov rbx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x20]
movzx r11d, byte [rbp]
jmp case.0x1800c1107.208
movzx eax, byte [r10 + 1]
mov dword [rbp + 0x38], eax
jmp case.0x1800c1107.208
lea rax, [rbp + 0xd0]
mov r9, r12
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xc8
xor ecx, ecx
call fcn.180071f90
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
movzx r11d, byte [rbp]
jmp case.0x1800c1107.208
xor edx, edx
mov word [r12 + 4], dx
mov dword [r12 + 0xa], edx
cmp dword [rdi], edx
je 0x1800c16c6
test dword [rbp + 0x68], 0x400
je 0x1800c16c6
mov esi, 0xb1
mov edi, edx
cmp edi, 5
ja case.default.0x1800c153e
lea r8, [0x180000000]
mov eax, edi
mov ecx, dword [r8 + rax*4 + 0xc199c]
add rcx, r8
jmp rcx
mov eax, 0x4000
mov byte [rbp], 0
call fcn.18015c450
sub rsp, rax
xor r9d, r9d
lea rax, [rbp + 0x58]
xor r8d, r8d
mov rcx, r14
mov qword [rsp + 0x38], rdx
lea rbx, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov edx, 0x900a8
mov dword [rsp + 0x28], 0x4000
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x40], rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne case.default.0x1800c153e
mov ebx, 0xf7
mov eax, ebx
sub eax, 0xf7
je 0x1800c15c5
sub eax, 0x6b
je 0x1800c15bc
cmp eax, 0x6b
jne 0x1800c15c5
nop dword [rax]
mov dword [rbp + 0x38], 0xffffffff
jmp 0x1800c1916
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add ebx, 0x6b
cmp ebx, 0x238
jb 0x1800c1596
jmp case.default.0x1800c153e
mov r14, rdx
mov qword [rbp + 0x50], rdx
jmp case.default.0x1800c153e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [rbx], 0xa000000c
jne case.default.0x1800c153e
mov ecx, 0x9b
mov r13d, 0x124
mov r14d, 0xa000
mov eax, ecx
sub eax, 0x9a
je 0x1800c161d
cmp eax, 1
jne 0x1800c1631
mov word [r12 + 6], r14w
jmp 0x1800c1631
test byte [rbp + 0x68], 1
mov eax, 0x1b6
cmovne ax, r13w
or word [r12 + 6], ax
dec ecx
cmp ecx, 0x99
ja 0x1800c1607
mov r13d, dword [rbp + 0x18]
mov r14, qword [rbp + 0x50]
jmp case.default.0x1800c153e
cmp r14, 0xffffffffffffffff
je 0x1800c15b0
jmp case.default.0x1800c153e
mov qword [rsp + 0x30], rdx
xor r9d, r9d
mov dword [rbp + 0x58], edx
xor r8d, r8d
mov dword [rsp + 0x28], 0x2200000
mov edx, 0x80000000
mov rcx, r10
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
mov qword [rbp + 0x50], rax
jmp case.default.0x1800c153e
test r11b, r11b
je case.default.0x1800c153e
mov r8, rbx
mov edx, 0xcd
xor ecx, ecx
call fcn.1800055b0
mov r10, qword [rbp + 0x28]
inc esi
mov rbx, qword [rbp + 0x40]
inc edi
movzx r11d, byte [rbp]
mov edx, 0
cmp esi, 0xb7
jb 0x1800c1521
mov r8, qword [rbp + 0x20]
mov r9d, dword [rbp + 4]
jmp case.0x1800c1107.208
mov edx, 0x27
mov r13d, 0x4049
cmp edx, 0x27
jne 0x1800c16f9
mov eax, dword [rbp + 0x68]
mov ecx, 0x8000
test al, 0x10
cmovne cx, r13w
test al, 1
mov eax, 0x1b6
cmovne ax, si
or cx, ax
mov word [r12 + 6], cx
add edx, 0x6a
cmp edx, 0x91
jb 0x1800c16d1
mov r13d, dword [rbp + 0x18]
lea rcx, [0x180000000]
mov r10, qword [rbp + 0x28]
dec r9d
mov dword [rbp + 4], r9d
cmp r9d, dword [rbp + 0x5c]
jbe 0x1800c1752
mov rdx, qword [rbp + 0x30]
mov r14, qword [rbp + 0x50]
mov rdi, qword [rbp + 0x60]
jmp 0x1800c10d9
mov rcx, qword [rbp + 0x28]
mov rdx, r12
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64i32]
mov dword [rbp + 0x38], eax
jmp 0x1800c1916
lea rax, [0x180181ed0]
jmp 0x1800c191a
mov r14d, dword [rbp + 0x1c]
xor ebx, ebx
lea esi, [r14 + 0x4a6]
cmp r14d, esi
jae 0x1800c1916
mov edi, dword [rbp + 0x1c]
mov r15d, 1
cmp r14d, 0x2cb
ja 0x1800c1874
je 0x1800c186a
mov eax, r14d
sub eax, 0xd1
je 0x1800c1916
sub eax, 0x1e
je 0x1800c17c4
sub eax, 0x77
je 0x1800c17b9
sub eax, 0x77
je 0x1800c1900
cmp eax, 0x77
jne 0x1800c1900
mov edi, dword [rbp + 0x88]
jmp 0x1800c1900
mov word [r12 + 8], r15w
jmp 0x1800c1900
test byte [rbp + 0x68], 0x10
jne 0x1800c1900
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r10 + rax], 0
jne 0x1800c17d5
cmp byte [rax + r10 - 4], 0x2e
jne 0x1800c1900
lea rbx, [r10 - 3]
mov r8d, 3
add rbx, rax
lea rdx, [0x180166128]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__memicmp]
test eax, eax
je 0x1800c185e
mov r8d, 3
lea rdx, [0x18016612c]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__memicmp]
test eax, eax
je 0x1800c185e
mov r8d, 3
lea rdx, [0x180166130]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__memicmp]
test eax, eax
je 0x1800c185e
mov r8d, 3
lea rdx, [0x180166134]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__memicmp]
test eax, eax
jne 0x1800c1900
or word [r12 + 6], 0x49
jmp 0x1800c1900
mov dword [r12 + 0x14], edi
jmp 0x1800c1900
mov eax, r14d
sub eax, 0x342
je 0x1800c18de
sub eax, 0x77
je 0x1800c18ba
sub eax, 0x77
je 0x1800c1893
cmp eax, 0x77
je 0x1800c1916
jmp 0x1800c1900
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x7c]
xor r8d, r8d
mov dword [rsp + 0x20], 0xdf
xor edx, edx
xor ecx, ecx
call fcn.180137ac0
mov qword [r12 + 0x20], rax
mov dword [rbp + 0x38], ebx
jmp 0x1800c1900
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x6c]
xor r8d, r8d
mov dword [rsp + 0x20], 0xdf
xor edx, edx
xor ecx, ecx
call fcn.180137ac0
mov qword [r12 + 0x28], rax
jmp 0x1800c1900
mov qword [rsp + 0x28], rbx
lea r9, [rbp + 0x74]
xor r8d, r8d
mov dword [rsp + 0x20], 0xdf
xor edx, edx
xor ecx, ecx
call fcn.180137ac0
mov qword [r12 + 0x18], rax
mov r10, qword [rbp + 0x28]
add r14d, 0x77
mov ebx, 0
cmp r14d, esi
jb 0x1800c1771
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x220]
xor rcx, rbp
call fcn.18015c4c0
mov rbx, qword [rbp + 0x270]
lea rsp, [rbp + 0x230]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret