Function at 0x1401894b0
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 [0x1402d9850]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r9, qword [0x1402e11b8]
xor ebp, ebp
mov rsi, rdx
mov r15d, ecx
test r9, r9
je 0x140189504
lea r8, [0x140239fd0]
mov ecx, 0xe6
lea rdx, [rsp + 0x30]
call fcn.140171f50
jmp 0x14018963c
call fcn.14018a970
mov ecx, 0xe6
test eax, eax
je 0x14018955a
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rsp + 0x140]
call fcn.1401d0ba0
mov rbx, rax
test rax, rax
je 0x1401895da
mov r9, rax
lea r8, [0x140239fd0]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.140171f50
mov rcx, rbx
jmp 0x140189637
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.140132458
mov rbx, rax
test rax, rax
je 0x1401895da
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 0x140189606
call fcn.14012efe0
mov eax, 7
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.14012a1e0
mov rbx, qword [rsp + 0x3a0]
add rsp, 0x360
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.1401d0ba0
mov rcx, rbx
mov rdi, rax
call fcn.14012efe0
test rdi, rdi
je 0x1401895da
mov r9, rdi
lea r8, [0x140239fd0]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.140171f50
mov rcx, rdi
call fcn.14012efe0
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x140189658
nop
inc rax
cmp byte [rax], bpl
jne 0x140189650
sub eax, ecx
lea r8, str.etilqs_
and eax, 0x3fffffff
mov rcx, r8
nop dword [rax]
inc rcx
cmp byte [rcx], bpl
jne 0x140189670
sub ecx, r8d
add eax, 0x11
and ecx, 0x3fffffff
add eax, ecx
cmp eax, r15d
jl 0x140189695
mov eax, 1
jmp 0x1401895df
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1401896ab
inc rax
cmp byte [rax], bpl
jne 0x1401896a3
sub eax, ecx
and eax, 0x3fffffff
movsxd rcx, eax
je 0x1401896cd
lea rax, [rsp + 0x30]
nop dword [rax]
cmp byte [rax + rcx - 1], 0x5c
jne 0x1401896cd
sub rcx, 1
jne 0x1401896c0
cmp rcx, 0x105
jae 0x140189893
mov byte [rsp + rcx + 0x30], bpl
lea r9, [rsp + 0x30]
lea ecx, [r15 - 0x11]
mov rdx, rsi
lea r8, str._setilqs_
call fcn.140171f50
mov rax, rsi
test rsi, rsi
jne 0x140189703
mov eax, ebp
jmp 0x140189717
cmp byte [rsi], bpl
je 0x140189710
inc rax
cmp byte [rax], bpl
jne 0x140189708
sub eax, esi
and eax, 0x3fffffff
cmp dword [0x1402da4f4], ebp
mov ebx, reloc.WS2_32.dll_ntohs
movsxd r14, eax
lea rdi, [rsi + r14]
je 0x140189745
lea ecx, [rbx - 0xa]
call qword [0x1402da558]
mov rbp, rax
test rax, rax
je 0x140189745
mov rcx, rax
call qword [0x1402da568]
call fcn.140193210
mov byte [rdi], al
lea rdi, [rdi + 1]
sub ebx, 1
jne 0x140189745
test rbp, rbp
je 0x140189763
mov rcx, rbp
call qword [0x1402da578]
lea rcx, [rsi + 1]
mov r8, rsi
mov r11, rsi
lea r9, [rcx + r14]
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 0x1401897a0
mov byte [rsi + r14 + 0xf], r10b
xor eax, eax
jmp 0x1401895df
call fcn.14012a714
int3