Function at 0x140050b60
Capabilities:
Impersonate user

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x638]
sub rsp, 0x710
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x600], rax
xor r13d, r13d
mov r14d, edx
mov r12, rcx
mov r15d, r13d
mov ebx, r13d
mov rcx, qword [str.___t_]
lea rdi, str.___t_
cmp rcx, rdi
je 0x140050bd9
test byte [rcx + 0x1c], 4
je 0x140050bd9
cmp byte [rcx + 0x19], 5
jb 0x140050bd9
mov rcx, qword [rcx + 0x10]
lea edx, [r13 + 0x2e]
lea r8, [0x140003c80]
call fcn.14000e618
mov ecx, 0x50
call fcn.140072274
mov rsi, rax
test rax, rax
jne 0x140050c23
mov rcx, qword [str.___t_]
cmp rcx, rdi
je 0x140050c19
test byte [rcx + 0x1c], 4
je 0x140050c19
lea edi, [rax + 2]
cmp byte [rcx + 0x19], dil
jb 0x140050c19
mov rcx, qword [rcx + 0x10]
lea edx, [rax + 0x2f]
lea r8, [0x140003c80]
call fcn.14000e618
mov eax, 8
jmp 0x14005102b
mov edi, 0x50
xor edx, edx
mov rcx, rax
mov r8d, edi
call sub.msvcrt.dll_memset
lea rcx, [0x14009a270]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [rsi], edi
mov eax, dword [0x14009a350]
mov dword [rsi + 0x40], eax
mov eax, dword [0x14009a330]
mov edi, 2
mov dword [rsi + 0x20], eax
mov eax, dword [0x14009a314]
mov dword [rsi + 4], eax
mov eax, dword [0x14009a318]
mov qword [rsi + 0x10], r13
mov dword [rsi + 8], eax
mov rcx, qword [0x14009a328]
test rcx, rcx
je 0x140050cc1
call fcn.1400730d0
mov qword [rsi + 0x18], rax
test rax, rax
jne 0x140050cc1
lea ebx, [rdi + 6]
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
lea edx, [rdi + 0x2e]
jmp 0x140050e22
mov rcx, qword [0x14009a338]
test rcx, rcx
je 0x140050d11
call fcn.1400730d0
mov qword [rsi + 0x28], rax
test rax, rax
jne 0x140050d11
lea ebx, [rax + 8]
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
lea edx, [rax + 0x31]
jmp 0x140050e22
mov rcx, qword [0x14009a340]
test rcx, rcx
je 0x140050d61
call fcn.1400730d0
mov qword [rsi + 0x30], rax
test rax, rax
jne 0x140050d61
lea ebx, [rax + 8]
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
lea edx, [rax + 0x32]
jmp 0x140050e22
lea rdx, [0x140002970]
mov r9d, 0x2001f
xor r8d, r8d
mov rcx, 0xffffffff80000002
call fcn.140075c60
mov r15, rax
test rax, rax
jne 0x140050dd4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x33]
lea r8, [0x140003c80]
mov r9d, eax
call fcn.14000e63c
jmp 0x140050fc9
lea r8, [0x1400022d0]
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.140081ffc
mov qword [rsi + 0x38], rax
test rax, rax
jne 0x140050e37
lea ebx, [rax + 8]
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
lea edx, [rax + 0x34]
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c80]
call fcn.14000e618
jmp 0x140050fc9
test r14d, r14d
je 0x140050fbe
cmp dword [0x14009a318], edi
jne 0x140050fbe
mov rcx, qword [0x14009a358]
test rcx, rcx
jne 0x140050f60
lea rcx, [rbp + 0x1f2]
xor edx, edx
mov r8d, 0x400
mov word [rbp + 0x1f0], r13w
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x42]
xor edx, edx
mov r8d, 0x2a0
mov word [rsp + 0x40], r13w
call sub.msvcrt.dll_memset
mov rcx, qword [0x14009a340]
lea r9, [rsp + 0x40]
lea rdx, [rbp + 0x1f0]
mov r8d, 0x201
mov dword [rsp + 0x20], 0x151
call qword [sym.imp.credui.dll_CredUIParseUserNameW]
mov ebx, eax
test eax, eax
je 0x140050ef2
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
mov edx, 0x35
jmp 0x140050fa0
mov r8, qword [rsi + 0x38]
lea rax, [rsp + 0x38]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rcx, [rbp + 0x1f0]
mov r9d, edi
mov dword [rsp + 0x20], r13d
call qword [sym.imp.ADVAPI32.dll_LogonUserW]
test eax, eax
jne 0x140050f54
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
mov edx, 0x36
jmp 0x140050fa0
mov rcx, qword [rsp + 0x38]
mov qword [0x14009a358], rcx
lea r8, [rsp + 0x30]
mov edx, 3
call qword [sym.imp.ADVAPI32.dll_DuplicateToken]
test eax, eax
jne 0x140050fb5
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [str.___t_]
lea r14, str.___t_
cmp rcx, r14
je 0x140050fc9
test byte [rcx + 0x1c], 4
je 0x140050fc9
cmp byte [rcx + 0x19], dil
jb 0x140050fc9
mov edx, 0x37
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c80]
mov r9d, eax
call fcn.14000e63c
jmp 0x140050fc9
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x48], rax
mov qword [r12], rsi
lea r14, str.___t_
lea rcx, [0x14009a270]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r15, r15
je 0x140051018
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x140051018
mov rcx, qword [str.___t_]
cmp rcx, r14
je 0x140051018
test byte [rcx + 0x1c], 4
je 0x140051018
cmp byte [rcx + 0x19], dil
jb 0x140051018
mov rcx, qword [rcx + 0x10]
lea r8, [0x140003c80]
mov edx, 0x38
mov r9d, eax
call fcn.14000e63c
test ebx, ebx
je 0x140051029
mov edx, 1
mov rcx, rsi
call fcn.140051070
mov eax, ebx
mov rcx, qword [rbp + 0x600]
xor rcx, rsp
call fcn.140088640
lea r11, [rsp + 0x710]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret