Function at 0x140020f10
Capabilities:
Get common file path

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x14005ab08]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r12, r9
mov rsi, r8
mov r15, rdx
mov r13, rcx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
nop dword [rax + rax]
mov edi, eax
mov eax, 2
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140040db8
mov rbx, rax
mov qword [rsp + 0x48], rax
mov edx, edi
mov rcx, rax
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemDirectoryW]
nop dword [rax + rax]
inc eax
cmp eax, edi
je 0x140020fc0
mov rcx, qword [rsp + 0xb8]
mov esi, 0x8000ffff
mov r9d, esi
lea r8, str.onecore_amcoreoctagon_broker_sourcelib_assists.cpp
mov edx, 0x6b3
call fcn.140005a3c
nop
test rbx, rbx
je 0x140020fb9
mov rcx, rbx
call fcn.140040dc4
mov eax, esi
jmp 0x140021256
xor edi, edi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], 7
mov word [rsp + 0x50], di
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000740c
nop
lea r8d, [rdi + 0x18]
lea rdx, str.SgrmSgrmAssertions.cat
lea rcx, [rsp + 0x50]
call fcn.140014188
mov qword [rsp + 0x20], rdi
lea rax, [rsp + 0x20]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x40], 1
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rdx, rsi
call fcn.140020ce4
mov esi, eax
cmp byte [rsp + 0x40], dil
je 0x140021072
mov rdx, qword [rsp + 0x30]
mov r14, qword [rdx]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
test r14, r14
je 0x140021072
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
test esi, esi
jns 0x1400210e2
mov rcx, qword [rsp + 0xb8]
mov r9d, esi
lea r8, str.onecore_amcoreoctagon_broker_sourcelib_assists.cpp
mov edx, 0x6b9
call fcn.140005a3c
nop
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
test r14, r14
je 0x1400210c3
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x50]
call fcn.140006df0
nop
test rbx, rbx
je 0x1400210db
mov rcx, rbx
call fcn.140040dc4
mov eax, esi
jmp 0x140021256
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000740c
mov r8d, 0x18
lea rdx, str.SgrmSgrmAssertions.bin
lea rcx, [rsp + 0x50]
call fcn.140014188
mov qword [rsp + 0x28], rdi
lea rax, [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdi
mov byte [rsp + 0x40], 1
lea rcx, [rsp + 0x50]
cmp qword [rsp + 0x68], 8
cmovae rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x38]
mov rdx, r13
call fcn.140020ce4
mov esi, eax
cmp byte [rsp + 0x40], dil
je 0x14002117b
mov rdx, qword [rsp + 0x30]
mov r14, qword [rdx]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
test r14, r14
je 0x14002117b
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
test esi, esi
jns 0x14002121b
mov rcx, qword [rsp + 0xb8]
mov r9d, esi
lea r8, str.onecore_amcoreoctagon_broker_sourcelib_assists.cpp
mov edx, 0x6bf
call fcn.140005a3c
mov r14, qword [rsp + 0x28]
mov qword [rsp + 0x28], rdi
test r14, r14
je 0x1400211cf
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
nop
mov r14, qword [rsp + 0x20]
mov qword [rsp + 0x20], rdi
test r14, r14
je 0x1400211ff
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
nop dword [rax + rax]
mov rcx, rax
mov r8, r14
xor edx, edx
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
nop dword [rax + rax]
nop
lea rcx, [rsp + 0x50]
call fcn.140006df0
nop
test rbx, rbx
je 0x140021217
mov rcx, rbx
call fcn.140040dc4
mov eax, esi
jmp 0x140021256
mov rax, qword [rsp + 0x28]
mov qword [r15], rax
mov rax, qword [rsp + 0x20]
mov qword [r12], rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x50]
call fcn.140006df0
nop
test rbx, rbx
je 0x14002124e
mov rcx, rbx
call fcn.140040dc4
xor eax, eax
jmp 0x140021256
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140040520
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret