Function at 0x404dc3
Capabilities:
Get session user name

Disassembly:
push 0x18
mov eax, 0x410060
call fcn.0040125e
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x14]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::constructor_void_]
mov dword [ebp - 4], esi
mov byte [ebp - 4], 1
mov ebx, dword [ebp + 0x14]
cmp dword [ebp + 0x1c], 1
jne 0x404e07
push 0x4054a4
mov ecx, ebx
call dword [sym.imp.framedynos.dll_public:_int___thiscall_CHString::Compare_unsigned_short_int_const__const]
test eax, eax
je 0x408ec5
mov ecx, edi
call dword [sym.imp.framedynos.dll_protected:_struct_CHStringData____thiscall_CHString::GetData_void_const]
mov eax, dword [eax + 4]
test eax, eax
jne 0x408e66
push dword [ebp + 0x20]
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp + 0x18]
push esi
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00404e6a
mov ebx, eax
mov dword [ebp - 0x1c], ebx
mov esi, dword [ebp - 0x18]
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp ebx, 1
jne 0x408e87
or dword [ebp - 4], reloc.KERNEL32.dll_VerSetConditionMask
lea ecx, [ebp - 0x14]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::destructor_void_]
xor eax, eax
inc eax
call fcn.00401923
ret 0x1c
mov eax, esi
xor ecx, ecx
inc ecx
cmp dword [ebp + 0x1c], eax
jne 0x408e74
mov eax, dword [ebx]
mov ecx, esi
push dword [ebp + 0x20]
lea edx, [ebp - 0x18]
push edx
push ecx
push dword [ebp + 0x18]
push eax
push dword [edi]
jmp 0x404e27
mov eax, 0x80041064
cmp esi, eax
je 0x408eb3
mov eax, 0x80070005
cmp esi, eax
je 0x408eb3
push esi
call fcn.0040703d
or dword [ebp - 4], reloc.KERNEL32.dll_VerSetConditionMask
lea ecx, [ebp - 0x14]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::destructor_void_]
xor eax, eax
jmp 0x404e5d
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp + 0x1c], 0
je 0x408e9f
mov ebx, dword [ebp + 0x14]
xor esi, esi
mov ecx, edi
call dword [sym.imp.framedynos.dll_protected:_struct_CHStringData____thiscall_CHString::GetData_void_const]
mov eax, dword [eax + 4]
test eax, eax
jne 0x408f05
mov dword [ebp + 0x1c], esi
lea eax, [ebp + 0x1c]
push eax
push esi
push 2
mov esi, dword [sym.imp.Secur32.dll_GetUserNameExW]
call esi
push dword [ebp + 0x1c]
mov ecx, edi
call dword [sym.imp.framedynos.dll_public:_unsigned_short_int____thiscall_CHString::GetBufferSetLength_int_]
lea ecx, [ebp + 0x1c]
push ecx
push eax
push 2
call esi
test al, al
jne 0x408f05
call fcn.0040355c
jmp 0x408e9f
push 0x100
mov ecx, ebx
call dword [sym.imp.framedynos.dll_public:_unsigned_short_int____thiscall_CHString::GetBufferSetLength_int_]
mov esi, eax
push dword [edi]
push 0x157d
call fcn.00401b33
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.framedynos.dll_public:_void___cdecl_CHString::Format_unsigned_short_int_const__]
add esp, 0xc
lea ecx, [ebp - 0x14]
call dword [sym.imp.framedynos.dll_protected:_struct_CHStringData____thiscall_CHString::GetData_void_const]
mov eax, dword [eax + 4]
push 0
lea ecx, [ebp - 0x20]
push ecx
push eax
push dword [ebp - 0x14]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleW]
push 0x100
mov ecx, esi
call fcn.0040cdad
mov dword [ebp - 0x1c], eax
cmp eax, 1
jne 0x408e9f
push 0xffffffffffffffff
mov ecx, ebx
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::ReleaseBuffer_int_]
push dword [ebp + 0x20]
push 0
push 0
push dword [ebp + 0x18]
push dword [ebx]
push dword [edi]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00404e6a
mov esi, eax
mov dword [ebp - 0x1c], esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call dword [sym.imp.framedynos.dll_public:_void___thiscall_CHString::destructor_void_]
mov eax, esi
jmp 0x404e5d