Function at 0x1400038c0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x140060060]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov rcx, qword [0x1403b7420]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140003907
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rsi, [0x1403b73a0]
mov rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rsi + r8], bl
jne 0x140003931
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.140009390
nop
lea rcx, [rsp + 0x30]
call fcn.1400157b0
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140003990
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000398b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003e6b
call fcn.140018f00
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0xc0]
call fcn.14001b770
lea rdx, [rbp + 0xc0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
lea rcx, [rbp + 0xc0]
mov rax, rdi
inc rax
cmp byte [rcx + rax], 0
jne 0x1400039c0
cmp byte [rbp + rax + 0xbf], 0x5c
jne 0x1400039ea
dec rax
cmp rax, 0x104
jae 0x140003e77
mov byte [rbp + rax + 0xc0], 0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rbp + 0xc0]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140003a10
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140009390
nop
mov r8d, 1
lea rdx, [0x14004fae4]
lea rcx, [rsp + 0x30]
call fcn.1400094f0
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140003a80
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x90]
call fcn.1400094f0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0x10
jb 0x140003b0b
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003b06
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003e71
call fcn.140018f00
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140003b61
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003b5c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003e7d
call fcn.140018f00
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp - 0x80]
call fcn.14001b770
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rdx, qword [rsp + 0x60]
lea rcx, [rbp - 0x80]
call fcn.1400073e0
nop
call fcn.1400231e0
movsxd rcx, eax
movabs rax, 0x1c926b9d39431d5f
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x23d6df
sub rcx, rax
add ecx, 0x1649d
movsxd rdi, ecx
mov rcx, rdi
call fcn.1400196d0
mov rsi, rax
test rdi, rdi
je 0x140003c18
call fcn.1400231e0
mov r9d, eax
mov eax, 0x80808081
imul r9d
add edx, r9d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r9d, ecx
mov byte [rbx + rsi], r9b
inc rbx
cmp rbx, rdi
jb 0x140003be6
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.140007500
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x140003d44
movabs rax, 0xe4c546b109fd1ff5
mov qword [rbp + 0x90], rax
movabs rax, 0xd26923cc383734ee
mov qword [rbp + 0x98], rax
movabs rax, 0xcedabe7e4a8e4c7
mov qword [rbp + 0xa0], rax
movabs rax, 0xdde3f2d2226e1ec0
mov qword [rbp + 0xa8], rax
movabs rax, 0x5782e3cd03084e79
mov qword [rbp + 0xb0], rax
movabs rcx, 0xa00f4918872c8ec2
mov qword [rbp + 0xb8], rcx
movabs rax, 0x8bb734f429a03eae
mov qword [rsp + 0x30], rax
movabs rax, 0xbc0053a14d53149c
mov qword [rsp + 0x38], rax
movabs rax, 0x65cddf8e8cdbc4a0
mov qword [rsp + 0x40], rax
movabs rax, 0xb597d2b746076dae
mov qword [rsp + 0x48], rax
movabs rax, 0x578288be6a6c6e1c
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rbp + 0x90]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
pxor xmm1, xmmword [rbp + 0xa0]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [0x1403b5b20]
call fcn.14000a920
mov rcx, rax
call fcn.14000ab90
lea rcx, [rbp - 0x78]
call fcn.140008d80
test rax, rax
jne 0x140003d7e
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea r9, [rbp - 0x80]
add rcx, r9
mov edx, 6
mov eax, 2
cmp qword [rcx + 0x48], 0
cmovne edx, eax
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140002ce0
mov rcx, rsi
call fcn.140018f00
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
call fcn.1400230fc
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x80], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x7c], edx
lea rcx, [rbp - 0x78]
call fcn.140007130
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x80], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x7c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x28]
call fcn.1400180a0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140003e3d
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003e38
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003e65
call fcn.140018f00
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.140018ee0
lea r11, [rsp + 0x2e0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret
call fcn.1400226a0
int3
call fcn.1400226a0
nop
call fcn.1400226a0
nop
call fcn.1400192b0
nop
call fcn.1400226a0
int3