Function at 0x1807506d
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov eax, dword [0x180af1d0]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, edx
push eax
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebx]
push ebx
call dword [ecx + 0x80]
xor esi, esi
cmp eax, esi
jl 0x18075311
mov eax, dword [ebx]
push edi
push ebx
call dword [eax + 0x88]
cmp eax, esi
jl 0x18075311
push dword [ebp - 0x78]
mov eax, dword [ebx]
push ebx
call dword [eax + 0x48]
cmp eax, esi
jl 0x18075311
cmp byte [ebp + 0x10], 0
mov eax, dword [ebx]
je 0x180750de
push esi
push 0x1809c304
push ebx
call dword [eax + 0x78]
mov edi, eax
jmp 0x18075180
push 0x2000
push ebx
call dword [eax + 0x70]
cmp eax, esi
jl 0x18075311
mov eax, dword [0x180b41a8]
mov ecx, 0x180b41a8
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x78], eax
mov eax, 0x101
mov dword [ebp - 0x90], eax
push eax
lea eax, [ebp - 0x78]
lea edi, [ebp - 0x9c]
call fcn.18002b40
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x90]
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov esi, dword [ebp - 0x9c]
neg eax
sbb al, al
inc al
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0x94]
call fcn.18003bbe
cmp byte [ebp - 0x71], 0
je 0x18075166
call fcn.1800d3ff
mov esi, eax
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
call fcn.18003e1e
mov eax, esi
jmp 0x18075311
mov eax, dword [ebx]
push 0
push dword [ebp - 0x78]
push ebx
call dword [eax + 0x78]
mov edi, eax
mov eax, dword [ebp - 0x78]
add eax, 0xfffffff0
call fcn.18003e1e
xor esi, esi
cmp edi, esi
jl 0x1807530f
call fcn.1800cc67
xor ecx, ecx
test al, al
setne cl
or eax, 0xffffffff
sub eax, ecx
mov ecx, dword [ebx]
push eax
push ebx
call dword [ecx + 0xa8]
cmp eax, esi
jl 0x18075311
cmp byte [ebp + 0x14], 0
je 0x180751c6
cmp byte [ebp + 0x10], 0
je 0x180751c6
mov eax, ebx
call fcn.18074eca
cmp eax, esi
jl 0x18075311
push dword [ebp + 0x18]
mov eax, ebx
call fcn.18074f55
cmp eax, esi
pop ecx
jl 0x18075311
mov eax, dword [ebx]
lea ecx, [ebp - 0x70]
push ecx
push 0x1809da28
push ebx
mov dword [ebp - 0x70], esi
call dword [eax]
mov eax, dword [ebp - 0x70]
cmp eax, esi
jne 0x180751fb
mov eax, 0x80004002
jmp 0x18075311
mov ecx, dword [eax]
push 1
push esi
push eax
call dword [ecx + 0x18]
mov edi, eax
cmp edi, esi
jl 0x18075302
cmp byte [ebp + 0x10], 0
mov eax, dword [ebp - 0x70]
je 0x18075228
cmp eax, esi
je 0x18075221
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x18075311
lea edx, [ebp - 0x7c]
push edx
mov dword [ebp - 0x7c], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
mov edi, eax
cmp edi, esi
jl 0x180752f9
mov eax, dword [ebp - 0x70]
cmp eax, esi
je 0x1807524f
mov dword [ebp - 0x70], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ebx, 0x1809c790
lea edi, [ebp - 0x6c]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
call fcn.18006a6d
lea eax, [ebp - 0x8c]
call fcn.1801cb97
test al, al
je 0x180752d9
mov eax, edi
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.18006864
test al, al
je 0x180752d9
mov ecx, dword [ebp - 0x7c]
push esi
push 0x1f01ff
mov eax, edi
push eax
push 1
call fcn.18004386
add esp, 0x10
lea ecx, [ebp - 0x6c]
mov edi, eax
call fcn.1800364c
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
call fcn.180069a7
push dword [ebp - 0x7c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
cmp edi, esi
mov eax, dword [ebp - 0x70]
jl 0x18075305
jmp 0x18075217
call fcn.1800d3ff
lea ecx, [ebp - 0x6c]
mov edi, eax
call fcn.1800364c
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], ebx
call fcn.180069a7
push dword [ebp - 0x7c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [ebp - 0x70]
cmp eax, esi
je 0x1807530f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.180761c5
leave
ret