Function at 0x180081624
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x338]
sub rsp, 0x410
mov r14, r9
mov r15, r8
mov rbx, rdx
mov rdi, rcx
lea r8, [rsp + 0x60]
call fcn.180087afc
xor r12d, r12d
test al, al
jne 0x1800816c2
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x380]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x378]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x368]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x360]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call qword [0x18010ae18]
jmp 0x180081c7f
mov cl, byte [rsp + 0x60]
test cl, cl
jne 0x18008173c
mov rax, qword [0x18010ae18]
mov qword [rsp + 0x58], rax
lea rax, [0x18010a700]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x380]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x378]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x368]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x360]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call fcn.180099448
jmp 0x180081c7f
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x48], r12
mov r13d, reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x40], r13
mov byte [rbp - 0x58], r12b
lea rdx, [rbp - 0x58]
call fcn.180084e00
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x180081bee
dec rax
or rsi, 0xffffffffffffffff
mov r8, rsi
cmp rax, rsi
cmovb r8, rax
add r8, rcx
jmp 0x180081798
cmp r8, rcx
je 0x180081bee
dec r8
cmp byte [r8], 0x5c
jne 0x18008178c
sub r8, rcx
cmp r8, rsi
je 0x180081bee
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x28], r12
mov qword [rbp - 0x20], r13
inc r8
mov r9, rsi
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x38]
call fcn.18000764c
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180081804
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800817ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180081ca6
call fcn.18009d1f4
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rbp - 0x58], xmm0
movups xmm1, xmmword [rbp - 0x28]
movups xmmword [rbp - 0x48], xmm1
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp + 0x100]
call fcn.1800a02d0
mov edx, 0x105
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
test eax, eax
je 0x180081bee
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x68], r12
mov r13d, 7
mov qword [rbp - 0x60], r13
mov word [rbp - 0x78], r12w
lea rax, [rbp + 0x100]
mov r8, rsi
inc r8
cmp word [rax + r8*2], r12w
jne 0x180081863
lea rdx, [rbp + 0x100]
lea rcx, [rbp - 0x78]
call fcn.180005fd8
nop
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r13
mov word [rsp + 0x68], r12w
mov r8d, 9
lea rdx, str._syswow64
lea rcx, [rbp - 0x78]
call fcn.180008a20
movabs rax, 0x7ffffffffffffffe
mov rcx, qword [rbp - 0x68]
sub rax, rcx
cmp rax, 0xe
jb 0x180081cac
lea r9, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r9, qword [rbp - 0x78]
mov qword [rsp + 0x30], reloc.WS2_32.dll_ntohl
lea rax, str._rundll32.exe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [rbp - 0x78]
mov dl, byte [rsp + 0x60]
lea rcx, [rbp - 0x38]
call fcn.180008fd0
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x18008193d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180081938
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180081cb2
call fcn.18009d1f4
movups xmm0, xmmword [rbp - 0x38]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rbp - 0x28]
movups xmmword [rsp + 0x78], xmm1
movdqa xmm0, xmmword [0x1800d7150]
movdqu xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x38], r12w
lea rcx, [rbp - 0x38]
call fcn.180006230
lea rdx, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae rdx, qword [rbp - 0x58]
lea rax, [rbp - 8]
mov qword [rbp - 0x10], rax
mov r8d, 3
lea rcx, [rbp - 0x10]
call fcn.180070c30
nop
mov rdx, qword [rbp - 0x10]
mov r8, rsi
inc r8
cmp word [rdx + r8*2], r12w
jne 0x180081997
lea rcx, [rsp + 0x68]
call fcn.180008a20
nop
lea rax, [rbp - 8]
mov rcx, qword [rbp - 0x10]
cmp rcx, rax
je 0x1800819be
call fcn.1800a89bc
mov r8d, reloc.WS2_32.dll_recv
lea rdx, str._RunProcWithDll
lea rcx, [rsp + 0x68]
call fcn.180008a20
mov r8, rsi
inc r8
cmp word [rbx + r8*2], r12w
jne 0x1800819d8
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.180008a20
mov rcx, qword [rsp + 0x78]
inc rcx
mov eax, 2
mul rcx
cmovo rax, rsi
lea rdx, [0x1800db740]
mov rcx, rax
call fcn.18009d8d0
mov rsi, rax
test rax, rax
jne 0x180081a77
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x380]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x378]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x368]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x360]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call qword [0x18010ae18]
mov ebx, eax
jmp 0x180081b4f
lea r8, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
inc rdx
mov rcx, rsi
call fcn.1800af140
call fcn.18000cdc4
test eax, eax
je 0x180081ae8
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.Wow64DisableWow64FsRedirection
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.Wow64RevertWow64FsRedirection
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rbx, rbx
je 0x180081ae8
lea rcx, [rbp - 0x18]
call rbx
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x380]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x368]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x360]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, r15
mov rdx, rsi
xor ecx, ecx
call qword [0x18010ae18]
mov ebx, eax
mov rcx, rsi
call fcn.18009d1f4
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x180081b90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180081b8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180081cb8
call fcn.18009d1f4
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r13
mov word [rsp + 0x68], r12w
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x180081bdf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180081bda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180081cbe
call fcn.18009d1f4
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r13
mov word [rbp - 0x78], r12w
jmp 0x180081c46
mov rax, qword [rbp + 0x388]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x380]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x378]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x368]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x360]
mov dword [rsp + 0x20], eax
mov r9, r14
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call qword [0x18010ae18]
mov ebx, eax
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x180081c7d
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180081c78
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180081ca0
call fcn.18009d1f4
mov eax, ebx
lea r11, [rsp + 0x410]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.180001e88
int3
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3