Function at 0x180043630
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x360
mov rax, qword [0x1800ff5a8]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r9, qword [0x180100740]
xor ebp, ebp
mov rsi, rdx
mov r15d, ecx
test r9, r9
je 0x180043684
lea r8, [0x1800cd984]
mov ecx, 0xe6
lea rdx, [rsp + 0x30]
call fcn.18002a9b0
jmp 0x1800437bc
call fcn.180044bb0
mov ecx, 0xe6
test eax, eax
je 0x1800436da
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rsp + 0x140]
call fcn.18008afc0
mov rbx, rax
test rax, rax
je 0x18004375a
mov r9, rax
lea r8, [0x1800cd984]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.18002a9b0
mov rcx, rbx
jmp 0x1800437b7
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov r14d, ebp
mov dword [rsp + 0x28], ebp
test eax, eax
mov qword [rsp + 0x20], rbp
lea r8, [rsp + 0x140]
sete r14b
or r9d, 0xffffffff
mov ecx, r14d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
add edi, edi
movsxd rcx, edi
add rcx, rcx
call fcn.1800a7c08
mov rbx, rax
test rax, rax
je 0x18004375a
mov dword [rsp + 0x28], edi
lea r8, [rsp + 0x140]
or r9d, 0xffffffff
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, r14d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rbx
test eax, eax
jne 0x180043786
call fcn.18009f338
mov eax, 7
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.180099e90
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x360
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.18008afc0
mov rcx, rbx
mov rdi, rax
call fcn.18009f338
test rdi, rdi
je 0x18004375a
mov r9, rdi
lea r8, [0x1800cd984]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.18002a9b0
mov rcx, rdi
call fcn.18009f338
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1800437d8
nop
inc rax
cmp byte [rax], bpl
jne 0x1800437d0
sub eax, ecx
lea r8, str.etilqs_
and eax, 0x3fffffff
mov rcx, r8
nop dword [rax]
inc rcx
cmp byte [rcx], bpl
jne 0x1800437f0
sub ecx, r8d
add eax, 0x11
and ecx, 0x3fffffff
add eax, ecx
cmp eax, r15d
jl 0x180043815
mov eax, 1
jmp 0x18004375f
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x18004382b
inc rax
cmp byte [rax], bpl
jne 0x180043823
sub eax, ecx
and eax, 0x3fffffff
mov ecx, eax
je 0x18004384d
lea rax, [rsp + 0x30]
nop dword [rax + rax]
cmp byte [rax + rcx - 1], 0x5c
jne 0x18004384d
sub rcx, 1
jne 0x180043840
cmp rcx, 0x105
jae 0x180043a13
mov byte [rsp + rcx + 0x30], bpl
lea r9, [rsp + 0x30]
lea ecx, [r15 - 0x11]
mov rdx, rsi
lea r8, str._setilqs_
call fcn.18002a9b0
mov rax, rsi
test rsi, rsi
jne 0x180043883
mov eax, ebp
jmp 0x180043897
cmp byte [rsi], bpl
je 0x180043890
inc rax
cmp byte [rax], bpl
jne 0x180043888
sub eax, esi
and eax, 0x3fffffff
cmp dword [0x1800fe174], ebp
mov ebx, 0xf
mov r14d, eax
lea rdi, [rsi + r14]
je 0x1800438c5
lea ecx, [rbx - 0xa]
call qword [0x1800fe1e0]
mov rbp, rax
test rax, rax
je 0x1800438c5
mov rcx, rax
call qword [0x1800fe1f0]
call fcn.18004d6d0
mov byte [rdi], al
lea rdi, [rdi + 1]
sub ebx, 1
jne 0x1800438c5
test rbp, rbp
je 0x1800438e3
mov rcx, rbp
call qword [0x1800fe200]
lea rcx, [rsi + 1]
mov r8, rsi
mov r11, rsi
lea r9, [r14 + rcx]
mov rbx, rsi
lea r15, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
sub r8, rcx
sub r11, rcx
sub rbx, rcx
mov rdi, rsi
sub rdi, rcx
movabs rbp, 0x842108421084211
mov r10d, 3
nop word [rax + rax]
movzx ecx, byte [r8 + r9]
lea r9, [r9 + 5]
mov rax, rbp
mul rcx
mov eax, ecx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r15]
mov byte [r8 + r9 - 5], al
mov rax, rbp
movzx ecx, byte [r9 - 5]
mul rcx
mov eax, ecx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r15]
movzx ecx, byte [r11 + r9 - 3]
mov byte [r9 - 5], al
mov rax, rbp
mul rcx
mov eax, ecx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r15]
movzx ecx, byte [rbx + r9 - 2]
mov byte [r11 + r9 - 3], al
mov rax, rbp
mul rcx
mov eax, ecx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r15]
movzx ecx, byte [rdi + r9 - 1]
mov byte [rbx + r9 - 2], al
mov rax, rbp
mul rcx
mov eax, ecx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r15]
mov byte [rdi + r9 - 1], al
sub r10, 1
jne 0x180043920
mov byte [rsi + r14 + 0xf], r10b
xor eax, eax
jmp 0x18004375f
call fcn.18009abcc
int3