Function at 0x1400dfaa0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x360
mov rax, qword [0x14025a030]
xor rax, rsp
mov qword [rsp + 0x350], rax
mov r9, qword [0x140260778]
xor esi, esi
mov rbp, rdx
test r9, r9
je 0x1400dfaf3
lea r8, [0x1401cdd70]
lea rdx, [rsp + 0x30]
mov ecx, 0xe6
call fcn.1400dc2b0
jmp 0x1400dfc30
call fcn.1400de360
mov ecx, 0xe6
test eax, eax
je 0x1400dfb49
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rcx, [rsp + 0x140]
call fcn.1400de470
mov rbx, rax
test rax, rax
je 0x1400dfbcb
lea r8, [0x1401cdd70]
lea rdx, [rsp + 0x30]
mov r9, rax
mov ecx, 0xe6
call fcn.1400dc2b0
mov rcx, rbx
jmp 0x1400dfc2a
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov r12d, esi
test eax, eax
lea r8, [rsp + 0x140]
mov dword [rsp + 0x28], esi
sete r12b
or r9d, 0xffffffff
xor edx, edx
mov ecx, r12d
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
add edi, edi
movsxd rcx, edi
add rcx, rcx
call qword [sym.imp.MSVCR90.dll_malloc]
mov rbx, rax
test rax, rax
je 0x1400dfbcb
lea r8, [rsp + 0x140]
or r9d, 0xffffffff
xor edx, edx
mov ecx, r12d
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rbx
test eax, eax
jne 0x1400dfbf8
call qword [sym.imp.MSVCR90.dll_free]
mov eax, 7
mov rcx, qword [rsp + 0x350]
xor rcx, rsp
call fcn.140155650
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret
call fcn.1400de470
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.MSVCR90.dll_free]
test rdi, rdi
je 0x1400dfbcb
lea r8, [0x1401cdd70]
lea rdx, [rsp + 0x30]
mov r9, rdi
mov ecx, 0xe6
call fcn.1400dc2b0
mov rcx, rdi
call qword [sym.imp.MSVCR90.dll_free]
movzx edx, byte [rsp + 0x30]
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1400dfc4b
inc rax
cmp byte [rax], sil
jne 0x1400dfc43
sub eax, ecx
lea r8, str.etilqs_
mov rcx, r8
and eax, 0x3fffffff
nop dword [rax]
inc rcx
cmp byte [rcx], sil
jne 0x1400dfc60
sub ecx, r8d
and ecx, 0x3fffffff
lea eax, [rcx + rax + 0x11]
cmp eax, 0x105
jl 0x1400dfc86
mov eax, 1
jmp 0x1400dfbd0
lea rcx, [rsp + 0x30]
lea rax, [rsp + 0x30]
test dl, dl
je 0x1400dfc9c
inc rax
cmp byte [rax], sil
jne 0x1400dfc94
sub eax, ecx
and eax, 0x3fffffff
movsxd rcx, eax
je 0x1400dfcbd
lea rax, [rsp + 0x30]
nop dword [rax]
cmp byte [rax + rcx - 1], 0x5c
jne 0x1400dfcbd
sub rcx, 1
jne 0x1400dfcb0
mov byte [rsp + rcx + 0x30], sil
lea r9, [rsp + 0x30]
lea r8, str._setilqs_
mov rdx, rbp
mov ecx, 0xf4
call fcn.1400dc2b0
mov r11, rbp
test rbp, rbp
jne 0x1400dfce8
mov r11d, esi
jmp 0x1400dfd02
cmp byte [rbp], sil
je 0x1400dfcf8
nop
inc r11
cmp byte [r11], sil
jne 0x1400dfcf0
sub r11d, ebp
and r11d, 0x3fffffff
movsxd r12, r11d
mov ebx, reloc.WS2_32.dll_ntohs
lea rdi, [r12 + rbp]
cmp dword [0x14025a214], esi
je 0x1400dfd30
lea ecx, [rbx - 0xa]
call qword [0x14025a278]
mov rsi, rax
test rax, rax
je 0x1400dfd30
mov rcx, rax
call qword [0x14025a288]
call fcn.1400dc520
inc rdi
sub ebx, 1
mov byte [rdi - 1], al
jne 0x1400dfd30
test rsi, rsi
je 0x1400dfd4e
mov rcx, rsi
call qword [0x14025a298]
mov r8d, 3
movabs r9, 0x842108421084211
lea r10, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
nop word [rax + rax]
movzx ecx, byte [r12 + rbp]
mov rax, r9
add r12, 5
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 4]
mov byte [r12 + rbp - 5], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 3]
mov byte [r12 + rbp - 4], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 2]
mov byte [r12 + rbp - 3], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx eax, byte [rcx + r10]
movzx ecx, byte [r12 + rbp - 1]
mov byte [r12 + rbp - 2], al
mov rax, r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
sub r8, 1
movzx eax, byte [rcx + r10]
mov byte [r12 + rbp - 1], al
jne 0x1400dfd70
mov byte [r12 + rbp], r8b
xor eax, eax
jmp 0x1400dfbd0