Function at 0x140021040
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.140040ed8
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 0x1400210f0
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 0x1400210e9
mov rcx, rbx
call fcn.140040ee4
mov eax, esi
jmp 0x140021386
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.14000742c
nop
lea r8d, [rdi + 0x18]
lea rdx, str.SgrmSgrmAssertions.cat
lea rcx, [rsp + 0x50]
call fcn.1400142a4
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.140020e14
mov esi, eax
cmp byte [rsp + 0x40], dil
je 0x1400211a2
mov rdx, qword [rsp + 0x30]
mov r14, qword [rdx]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
test r14, r14
je 0x1400211a2
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 0x140021212
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 0x1400211f3
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.140006e10
nop
test rbx, rbx
je 0x14002120b
mov rcx, rbx
call fcn.140040ee4
mov eax, esi
jmp 0x140021386
mov rdx, rbx
lea rcx, [rsp + 0x50]
call fcn.14000742c
mov r8d, 0x18
lea rdx, str.SgrmSgrmAssertions.bin
lea rcx, [rsp + 0x50]
call fcn.1400142a4
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.140020e14
mov esi, eax
cmp byte [rsp + 0x40], dil
je 0x1400212ab
mov rdx, qword [rsp + 0x30]
mov r14, qword [rdx]
mov rcx, qword [rsp + 0x38]
mov qword [rdx], rcx
test r14, r14
je 0x1400212ab
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 0x14002134b
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 0x1400212ff
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 0x14002132f
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.140006e10
nop
test rbx, rbx
je 0x140021347
mov rcx, rbx
call fcn.140040ee4
mov eax, esi
jmp 0x140021386
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.140006e10
nop
test rbx, rbx
je 0x14002137e
mov rcx, rbx
call fcn.140040ee4
xor eax, eax
jmp 0x140021386
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140040640
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret