Function at 0x14005fa88
Capabilities:
Get session user name

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x1400ab2e8]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
xor r14d, r14d
mov dword [rbp - 0x29], r14d
lea rcx, [rbp - 0x21]
call fcn.14003ce68
mov eax, dword [rbp - 0x29]
test eax, eax
jne 0x14005fadd
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
nop dword [rax + rax]
mov dword [rbp - 0x29], eax
test eax, eax
jne 0x14005fb41
lea edx, [rax + 0x5c]
lea rcx, str.admin_appman_appv_shareduseruserinfo.cpp
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x14005fb01
inc rax
jmp 0x14005fb08
lea rax, str.admin_appman_appv_shareduseruserinfo.cpp
mov rdx, rax
lea rcx, [0x1400ac690]
call fcn.140013434
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
or rdi, rbx
movabs rax, 0x162500000000
or rdi, rax
jmp 0x14005fd9e
mov edx, 0x100
mov dword [rbp - 0x49], edx
lea rcx, [rbp - 0x41]
call fcn.14001bc28
nop
lea r8, [rbp - 0x49]
mov rdx, qword [rbp - 0x41]
mov ecx, SafeArrayGetDim
call qword [sym.imp.Secur32.dll_GetUserNameExW]
nop dword [rax + rax]
test al, al
jne 0x14005fc65
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
cmp eax, 0xea
je 0x14005fbda
mov edx, 0x5c
lea rcx, str.admin_appman_appv_shareduseruserinfo.cpp
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x14005fbab
inc rax
jmp 0x14005fbb2
lea rax, str.admin_appman_appv_shareduseruserinfo.cpp
mov rdx, rax
lea rcx, [0x1400ac690]
call fcn.140013434
shl rax, 0x34
mov rdi, rbx
or rdi, rax
movabs rax, 0x172500000000
jmp 0x14005fc5d
mov edx, dword [rbp - 0x49]
lea rcx, [rbp - 0x41]
call fcn.140035290
lea r8, [rbp - 0x49]
mov rdx, qword [rbp - 0x41]
mov ecx, SafeArrayGetDim
call qword [sym.imp.Secur32.dll_GetUserNameExW]
nop dword [rax + rax]
test al, al
jne 0x14005fc65
mov edx, 0x5c
lea rcx, str.admin_appman_appv_shareduseruserinfo.cpp
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x14005fc25
inc rax
jmp 0x14005fc2c
lea rax, str.admin_appman_appv_shareduseruserinfo.cpp
mov rdx, rax
lea rcx, [0x1400ac690]
call fcn.140013434
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edi, eax
or rdi, rbx
movabs rax, 0x182500000000
or rdi, rax
jmp 0x14005fd94
mov qword [rbp - 0x11], r14
mov qword [rbp - 1], r14
mov qword [rbp + 7], 7
mov word [rbp - 0x11], r14w
mov rdx, qword [rbp - 0x41]
lea rcx, [rbp - 0x11]
call fcn.140003d68
nop
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 8
cmovae rax, qword [rbp - 0x11]
mov edx, 0x5c
mov r9, qword [rbp - 1]
test r9, r9
je 0x14005fd43
mov rcx, r9
mov r8, rax
mov rbx, r14
cmp word [rax], dx
je 0x14005fcc9
cmp rcx, 1
je 0x14005fccc
dec rcx
add r8, 2
cmp word [r8], dx
jne 0x14005fcb6
mov rbx, r8
test rbx, rbx
je 0x14005fd43
sub rbx, rax
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x14005fd43
lea r8, [rbx + 1]
cmp r8, r9
je 0x14005fd43
test rbx, rbx
je 0x14005fd43
or r9, 0xffffffffffffffff
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x11]
call fcn.14003d564
mov rdx, rax
mov rcx, rdi
call fcn.14001bcc0
lea rcx, [rbp + 0xf]
call fcn.140003cf8
mov r9, rbx
xor r8d, r8d
lea rdx, [rbp + 0xf]
lea rcx, [rbp - 0x11]
call fcn.14003d564
mov rdx, rax
mov rcx, rsi
call fcn.14001bcc0
lea rcx, [rbp + 0xf]
call fcn.140003cf8
movabs rdi, 0x8000000000
jmp 0x14005fd8a
lea rcx, str.admin_appman_appv_shareduseruserinfo.cpp
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_strrchr]
nop dword [rax + rax]
test rax, rax
je 0x14005fd60
inc rax
jmp 0x14005fd67
lea rax, str.admin_appman_appv_shareduseruserinfo.cpp
mov rdx, rax
lea rcx, [0x1400ac690]
call fcn.140013434
mov rdi, rax
shl rdi, 0x34
movabs rax, 0x19250000000d
or rdi, rax
lea rcx, [rbp - 0x11]
call fcn.140003cf8
nop
lea rcx, [rbp - 0x41]
call fcn.14001bbbc
nop
cmp dword [rbp - 0x29], r14d
je 0x14005fdd2
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ADVAPI32.dll_SetThreadToken]
nop dword [rax + rax]
test eax, eax
jne 0x14005fdd2
xor r9d, r9d
xor r8d, r8d
lea edx, [rax + 1]
mov ecx, 0x29c
call qword [sym.imp.KERNEL32.dll_RaiseException]
lea rcx, [rbp - 0x21]
call fcn.14003cf00
mov rax, rdi
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140061ac0
add rsp, 0xa0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret