Function at 0x14002cae0
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x1e8]
sub rsp, 0x2c0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x140495598]
xor rax, rsp
mov qword [rbp + 0x1b0], rax
mov rdi, rcx
mov qword [rsp + 0x40], rcx
xor r12d, r12d
mov dword [rsp + 0x48], r12d
mov ebx, 0x208
mov qword [rsp + 0x40], rbx
cmp edx, 2
jne 0x14002cb58
cmp qword [0x1404964c8], r12
je 0x14002cf3d
lea rdx, [0x1404964b8]
call fcn.1400180e0
jmp 0x14002d1a2
cmp edx, 3
jne 0x14002cd3f
lea r8, [rsp + 0x40]
call fcn.140167b50
lea r14, [0x1404a46a0]
cmp eax, 0xfffff026
jne 0x14002cc23
lea rcx, [rsp + 0x78]
call fcn.1401679e0
test eax, eax
jne 0x14002cc25
mov r15, qword [rbp - 0x70]
mov rsi, 0xffffffffffffffff
nop word [rax + rax]
inc rsi
cmp byte [r15 + rsi], r12b
jne 0x14002cba0
cmp rsi, qword [rsp + 0x40]
jb 0x14002cbe2
call fcn.1403379a0
mov ebx, dword [rax]
mov rcx, qword [rsp + 0x78]
call qword [fcn.1403379d4]
call fcn.1403379a0
mov dword [rax], ebx
call fcn.1403379a0
mov ebx, dword [rax]
mov rcx, r15
call qword [fcn.1403379d4]
call fcn.1403379a0
mov dword [rax], ebx
jmp 0x14002cc27
lea r8, [rsi + 1]
mov rdx, r15
mov rcx, r14
call fcn.14032fed0
call fcn.1403379a0
mov ebx, dword [rax]
mov rcx, qword [rsp + 0x78]
call qword [fcn.1403379d4]
call fcn.1403379a0
mov dword [rax], ebx
call fcn.1403379a0
mov ebx, dword [rax]
mov rcx, r15
call qword [fcn.1403379d4]
call fcn.1403379a0
mov dword [rax], ebx
jmp 0x14002cc5e
test eax, eax
jns 0x14002cc59
movdqa xmm0, xmmword [0x14044eee0]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], r12b
xor r8d, r8d
lea rdx, [0x1403f6c6d]
lea rcx, [rsp + 0x78]
call fcn.140005040
lea rax, [rsp + 0x78]
mov ebx, 2
jmp 0x14002cc8b
mov rsi, qword [rsp + 0x40]
movdqa xmm0, xmmword [0x14044eee0]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r12b
mov r8, rsi
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.140005040
lea rax, [rsp + 0x58]
mov ebx, 4
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or ebx, 1
test bl, 4
je 0x14002ccf1
and ebx, 0xfffffffb
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14002ccf1
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cceb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1e8
call fcn.140311600
nop
test bl, 2
je 0x14002d1a2
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14002d1a2
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1ee
call fcn.140311600
jmp 0x14002d1a2
cmp edx, 4
jne 0x14002cf35
lea rdx, [rbp - 0x60]
mov ecx, 0x106
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov eax, eax
lea r14, [0x1404a46a0]
test rax, rax
je 0x14002ce08
cmp rax, 0x106
ja 0x14002ce1d
cmp word [rbp + rax*2 - 0x62], 0x5c
jne 0x14002cda2
cmp rax, 3
jne 0x14002cd8a
cmp word [rbp - 0x5e], 0x3a
je 0x14002cda2
dec rax
add rax, rax
cmp rax, 0x20c
jae 0x14002d1fa
mov word [rbp + rax - 0x60], r12w
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
mov rsi, 0xffffffffffffffff
mov r9d, esi
lea r8, [rbp - 0x60]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x14002ce08
cmp eax, ebx
ja 0x14002ce1d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
mov r9d, esi
lea r8, [rbp - 0x60]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x14002cf01
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14016e340
test eax, eax
jns 0x14002cf04
movdqa xmm0, xmmword [0x14044eee0]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r12b
xor r8d, r8d
lea rdx, [0x1403f6c6d]
lea rcx, [rsp + 0x58]
call fcn.140005040
lea rax, [rsp + 0x58]
mov ebx, 8
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or ebx, 1
test bl, 0x10
je 0x14002ceb3
and ebx, 0xffffffef
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14002ceb3
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cead
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1f4
call fcn.140311600
nop
test bl, 8
je 0x14002d1a2
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14002d1a2
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1d6
jmp 0x14002cd35
lea ebx, [rax - 1]
movdqa xmm0, xmmword [0x14044eee0]
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], r12b
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.140005040
lea rax, [rsp + 0x78]
mov ebx, reloc.WS2_32.dll_recv
jmp 0x14002ce4e
test edx, edx
jne 0x14002d072
lea rdx, [rsp + 0x40]
lea r14, [0x1404a46a0]
mov rcx, r14
call fcn.140166e10
test eax, eax
jns 0x14002cf69
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], r12b
jmp 0x14002d1a2
movdqa xmm0, xmmword [0x14044eee0]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r12b
mov r8, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x58]
call fcn.140005040
nop
lea rcx, [rsp + 0x58]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x70]
cmp r10, 0x10
cmovae rcx, r9
mov rsi, 0xffffffffffffffff
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x14002cfe3
lea rax, [rdx - 1]
mov r8, rsi
cmp rax, rsi
cmovb r8, rax
add r8, rcx
cmp byte [r8], 0x5c
je 0x14002cfde
nop
cmp r8, rcx
je 0x14002cfe3
dec r8
cmp byte [r8], 0x5c
jne 0x14002cfd0
sub r8, rcx
jmp 0x14002cfe6
mov r8, rsi
cmp r8, rsi
je 0x14002d05c
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], 0
cmp rdx, r8
cmovb r8, rdx
lea rdx, [rsp + 0x58]
cmp r10, 0x10
cmovae rdx, r9
mov rcx, rdi
call fcn.140005040
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14002d1a2
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1dc
jmp 0x14002cd35
movups xmm0, xmmword [rsp + 0x58]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rdi + 0x10], xmm1
jmp 0x14002d1a2
cmp edx, 1
jne 0x14002d193
lea rdx, [rsp + 0x40]
lea r14, [0x1404a46a0]
mov rcx, r14
call fcn.140166f10
movdqa xmm0, xmmword [0x14044eee0]
test eax, eax
jns 0x14002d0c6
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], r12b
xor r8d, r8d
lea rdx, [0x1403f6c6d]
lea rcx, [rsp + 0x58]
call fcn.140005040
lea rax, [rsp + 0x58]
mov ebx, 0x20
jmp 0x14002d0ec
movdqu xmmword [rbp - 0x78], xmm0
mov byte [rsp + 0x78], r12b
mov r8, qword [rsp + 0x40]
mov rdx, r14
lea rcx, [rsp + 0x78]
call fcn.140005040
lea rax, [rsp + 0x78]
mov ebx, 0x40
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
or ebx, 1
test bl, 0x40
je 0x14002d151
and ebx, 0xffffffbf
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x14002d151
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002d14b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1d0
call fcn.140311600
nop
test bl, 0x20
je 0x14002d1a2
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14002d1a2
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002cd35
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002d1e2
jmp 0x14002cd35
mov qword [rcx + 0x10], r12
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], r12b
mov rax, rdi
mov rcx, qword [rbp + 0x1b0]
xor rcx, rsp
call fcn.1403115a0
lea r11, [rsp + 0x2c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.1403331f4
nop
call fcn.1403331f4
int3
call fcn.1403331f4
int3
call fcn.1403331f4
nop
call fcn.1403331f4
nop
call fcn.1403331f4
nop
call fcn.1403331f4
nop
call fcn.140311d40
int3