Function at 0x5181d0
Capabilities:
Acquire debug privileges
Get common file path

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x280
mov rbp, rsp
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x58], 0
nop
cmp qword [0x00b35008], 0
jne 0x51822e
lea rcx, [0x00518624]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x00518638]
call fcn.0041f960
mov qword [0x00b35008], rax
cmp qword [0x00b35010], 0
jne 0x51825a
lea rcx, [0x0051866a]
call sub.kernel32.dll_LoadLibraryW
mov rcx, rax
lea rdx, [0x0051867e]
call fcn.0041f960
mov qword [0x00b35010], rax
cmp qword [0x00b35028], 0
jne 0x518286
lea rcx, [0x005186a8]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x005186c2]
call fcn.0041f960
mov qword [0x00b35028], rax
cmp qword [0x00b35030], 0
jne 0x5182b2
lea rcx, [0x0051866a]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x005186f8]
call fcn.0041f960
mov qword [0x00b35030], rax
cmp qword [0x00b35000], 0
jne 0x5182de
lea rcx, [0x0051866a]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0051872a]
call fcn.0041f960
mov qword [0x00b35000], rax
cmp qword [0x00b35018], 0
jne 0x51830a
lea rcx, [0x00518754]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0051876a]
call fcn.0041f960
mov qword [0x00b35018], rax
cmp qword [0x00b35020], 0
jne 0x518336
lea rcx, [0x005186a8]
call sub.kernel32.dll_GetModuleHandleW
mov rcx, rax
lea rdx, [0x0051878a]
call fcn.0041f960
mov qword [0x00b35020], rax
mov dword [rbp + 0x64], 0
mov ecx, 5
xor rdx, rdx
xor r8, r8
lea r9, [rbp + 0x64]
call qword [0x00b35008]
xor rbx, rbx
cmp dword [rbp + 0x64], 0
jne 0x5183a8
mov dword [rbp + 0x64], 0x10000
mov eax, dword [rbp + 0x64]
add eax, eax
mov dword [rbp + 0x64], eax
mov ecx, ebx
call sub.kernel32.dll_LocalFree
mov ecx, 0x40
mov edx, dword [rbp + 0x64]
call sub.kernel32.dll_LocalAlloc
mov rbx, rax
mov ecx, 5
mov rdx, rbx
mov r8d, dword [rbp + 0x64]
xor r9, r9
call qword [0x00b35008]
test eax, eax
je 0x5183d7
cmp dword [rbp + 0x64], 0x400000
jne 0x518363
jmp 0x5183d7
mov eax, dword [rbp + 0x64]
add eax, eax
mov dword [rbp + 0x64], eax
mov ecx, 0x40
mov edx, dword [rbp + 0x64]
call sub.kernel32.dll_LocalAlloc
mov rbx, rax
mov ecx, 5
mov rdx, rbx
mov r8d, dword [rbp + 0x64]
xor r9, r9
call qword [0x00b35008]
test eax, eax
jne 0x5185b2
mov rsi, rbx
lea rcx, [0x005187b4]
mov dl, 1
call fcn.00516f10
mov rax, qword [rbp + 0x30]
lea rax, [rax + rbp + 0x2bc]
mov rcx, rbp
neg rcx
mov dword [rax + rcx], 0
mov rax, qword [rbp + 0x30]
lea rax, [rax + rbp + 0x2d0]
mov rcx, rbp
neg rcx
mov dword [rax + rcx], 0
cmp qword [rsi + 0x40], 0
je 0x51857c
lea rcx, [rbp + 0x58]
mov rdx, qword [rsi + 0x40]
call fcn.00411eb0
mov ecx, 0x410
xor rdx, rdx
mov r8d, dword [rsi + 0x4c]
call sub.kernel32.dll_OpenProcess
mov qword [rbp + 0x68], rax
cmp qword [rbp + 0x68], 0
je 0x518557
mov rcx, rbp
lea rdx, [rbp + 0x48]
call fcn.00517f80
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x48]
call fcn.00410750
cmp qword [rbp + 0x58], 0
je 0x518510
lea rcx, [0x005187e4]
mov rdx, qword [rbp + 0x58]
call fcn.00424760
test al, al
je 0x5184e4
lea rcx, [rbp + 0x76]
mov edx, 0x104
call sub.kernel32.dll_GetSystemDirectoryW
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x76]
mov r8d, 0x105
call fcn.00411f10
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x58]
mov r8d, 0x15
mov r9d, 0x7fffffff
call fcn.00412480
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x38]
call fcn.00412270
jmp 0x51851d
lea rcx, [0x0051881c]
mov rdx, qword [rbp + 0x58]
call fcn.004246b0
test al, al
je 0x51851d
lea rcx, [rbp + 0x58]
mov edx, 1
mov r8d, 4
call fcn.004124e0
jmp 0x51851d
lea rcx, [rbp + 0x58]
mov rdx, qword [rsi + 0x40]
call fcn.00411eb0
cmp qword [0x00b35000], 0
je 0x51854e
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x30]
lea rax, [rax + rbp + 0x2b0]
mov rdx, rbp
neg rdx
lea rdx, [rax + rdx]
mov r8d, 0x28
call qword [0x00b35000]
mov rcx, qword [rbp + 0x68]
call sub.kernel32.dll_CloseHandle
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x58]
mov r8d, dword [rsi + 0x4c]
mov r9d, dword [rsi + 0x58]
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x20], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x28], eax
call fcn.00517400
jmp 0x5185a2
mov rcx, qword [rbp + 0x30]
lea rdx, [0x00518834]
mov r8d, dword [rsi + 0x4c]
mov r9d, dword [rsi + 0x58]
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x20], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x28], eax
call fcn.00517400
cmp dword [rsi], 0
je 0x5185b1
mov eax, dword [rsi]
add rsi, rax
jmp 0x5183f0
nop
mov ecx, ebx
call sub.kernel32.dll_LocalFree
nop
lea rcx, [rbp + 0x38]
mov edx, 3
call fcn.00410160
lea rcx, [rbp + 0x58]
call fcn.00410080
lea rsp, [rbp + 0x280]
pop rbx
pop rsi
pop rbp
ret