Function at 0x1800555c0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2b0
mov rax, qword [0x180089b10]
xor rax, rsp
mov qword [rsp + 0x2a0], rax
mov rdi, qword [rsp + 0x48]
lea ebx, [r8 + 0x3a7]
mov qword [rsp + 0x60], rcx
mov eax, r8d
mov dword [rsp + 0x40], eax
mov r12, rdx
mov dword [rsp + 0x30], ebx
mov rsi, rcx
cmp r8d, ebx
jae 0x180055656
mov r13, qword [rsp + 0x48]
xor ebx, ebx
mov ebp, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x30]
mov qword [rsp + 0x58], rdi
cmp eax, 0x17f
ja 0x180055811
je 0x1800557f4
sub eax, 0x6f
je 0x1800557cd
sub eax, 0x55
je 0x18005569d
sub eax, 0x55
je 0x18005568e
sub eax, 0x11
je 0x180055684
cmp eax, 0x44
jne 0x180055947
mov rax, rdi
mov rcx, qword [rsp + 0x2a0]
xor rcx, rsp
call fcn.18006fee0
mov rbx, qword [rsp + 0x300]
add rsp, 0x2b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x70], rbx
jmp 0x180055947
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x58], rdi
jmp 0x180055947
cmp byte [r12], bl
je 0x180055947
mov rdi, qword [rsp + 0x38]
nop dword [rax]
mov r14d, SHSetInstanceExplorer
nop word [rax + rax]
cmp r14d, 0xab
je 0x180055752
cmp r14d, 0x2ec2
je 0x1800556ee
cmp r14d, 0x5cd9
jne 0x180055797
mov byte [rdi], bpl
inc rdi
jmp 0x180055797
movzx ecx, byte [r12]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
test eax, eax
je 0x180055797
mov esi, 0x104
mov eax, esi
sub eax, 0x104
je 0x180055743
cmp eax, 1
jne 0x180055746
movsx eax, byte [r12]
xor r9d, r9d
mov dword [rsp + 0x38], eax
xor edx, edx
lea rax, [rsp + 0x38]
xor ecx, ecx
mov qword [rsp + 0x28], rax
inc r12
lea r8d, [r9 + 0x74]
mov qword [rsp + 0x20], rbx
call fcn.180023460
or ebp, eax
jmp 0x180055746
shl ebp, 4
inc esi
cmp esi, 0x106
jb 0x180055706
jmp 0x180055797
movzx eax, byte [r12]
cmp al, 0x3a
je 0x180055763
cmp al, 0x2e
je 0x180055763
cmp al, 0x2d
jne 0x18005576c
movzx eax, byte [r12 + 1]
inc r12
movsx eax, al
xor r9d, r9d
mov dword [rsp + 0x38], eax
inc r12
lea rax, [rsp + 0x38]
xor edx, edx
mov qword [rsp + 0x28], rax
xor ecx, ecx
lea r8d, [r9 + 0x74]
mov qword [rsp + 0x20], rbx
call fcn.180023460
mov ebp, eax
add r14d, 0x2e17
cmp r14d, 0x8a45
jbe 0x1800556c0
mov qword [rsp + 0x38], rdi
cmp byte [r12], bl
jne 0x1800556b0
mov rdi, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
jmp 0x180055947
mov ecx, 6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x180055960
mov ecx, dword [rsp + 0x30]
jmp 0x180055947
mov ecx, dword [r12]
mov eax, ecx
shr eax, 0x18
shr ecx, 0x10
mov byte [rsp + 0x35], cl
mov ecx, dword [rsp + 0x30]
mov byte [rsp + 0x34], al
jmp 0x180055947
sub eax, 0x1d4
je 0x180055934
sub eax, 0x55
je 0x180055924
sub eax, 0x55
je 0x180055919
sub eax, 0x55
je 0x180055892
cmp eax, 0x55
jne 0x180055947
mov r9d, dword [rsp + 0x50]
lea rax, [rsp + 0x90]
mov r8, qword [rsp + 0x48]
mov edx, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathAndSubDirW]
lea rax, [rsp + 0x78]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180055873
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.180020ed0
mov ecx, dword [rsp + 0x30]
jmp 0x180055947
mov r14d, ebx
lea r15, [rsp + 0x34]
nop word [rax + rax]
mov esi, SHTestTokenMembership
cmp esi, 0xf4
je 0x1800558cd
cmp esi, 0x7be8
jne 0x1800558f4
movzx ecx, byte [r15]
mov r8d, 0xa
mov rdx, r13
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itoa]
mov r13, rax
jmp 0x1800558f4
test r14d, r14d
je 0x1800558f4
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rax + r13], bl
jne 0x1800558e0
add r13, rax
mov byte [r13], PathMakeUniqueName
inc r13
add esi, 0x7af4
cmp esi, 0xf5e8
jbe 0x1800558a5
inc r14d
inc r15
cmp r14d, 4
jb 0x1800558a0
mov ecx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
jmp 0x180055947
mov dword [rsp + 0x50], ebx
lea r13, [rsp + 0x78]
jmp 0x180055947
movzx eax, byte [r12]
mov byte [rsp + 0x37], al
mov qword [rsp + 0x48], rbx
jmp 0x180055947
mov eax, dword [r12]
shr eax, 8
mov byte [rsp + 0x36], al
mov dword [rsp + 0x44], 0x36
mov eax, dword [rsp + 0x40]
add eax, 0x55
mov dword [rsp + 0x40], eax
cmp eax, ecx
jb 0x180055624
jmp 0x180055656
mov rax, rbx
jmp 0x180055659