Function at 0x474020
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d11fc
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x501fc0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x5c], 0
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 0
push 0
push eax
mov dword [ebp - 0x5c], 1
call fcn.00484120
lea eax, [ebp - 0x78]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0047e5f0
add esp, 0x10
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x58]
call fcn.00462b30
push 0x4e43d4
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 3
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__21]
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call dword [eax + 0x10]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x5c], 5
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 5
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__13]
test eax, eax
je 0x474188
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x5c], 0x85
push dword [eax - 0xc]
push eax
push 2
lea eax, [ebp - 0x60]
push 0x4e7990
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 7
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x60]
push 2
push 0x4e7988
mov dword [ebp - 0x5c], 0x185
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x5c], 5
mov byte [ebp - 4], 5
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push 0x4e4360
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__21]
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x58]
call dword [eax + 0x10]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x5c], 0xd
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
push dword [ebp - 0x7c]
mov byte [ebp - 4], 9
call fcn.00471ed0
add esp, 4
lea eax, [ebp - 0x28]
fstp qword [ebp - 0x74]
movsd xmm0, qword [ebp - 0x74]
push 0xa
push 0
sub esp, 8
movsd qword [esp], xmm0
push eax
call fcn.004b0760
add esp, 0x14
cmp dword [eax + 0x14], 7
mov byte [ebp - 4], 0xa
jbe 0x4741f6
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x6c]
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__21]
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xc
cmp ecx, 7
jbe 0x474240
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x474236
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x474236
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004bf0c8
add esp, 8
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x5c], 0x1d
push dword [eax - 0xc]
push eax
push 5
lea eax, [ebp - 0x60]
push str._Ver.
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xe
call dword [sym.imp.mfc140u.dll_Ordinal_5921]
push eax
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc140u.dll_Ordinal_285]
mov eax, dword [ebp - 0x60]
push 1
push str.__r_n_
mov dword [ebp - 0x5c], 0x3d
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::Concatenate]
add esp, 0x14
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x70]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x5c], 0xd
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x6c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x7c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x68]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x58]
call fcn.00465b90
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x68]
push eax
call fcn.0047ae30
add esp, 4
push eax
mov ecx, esi
mov dword [ebp - 4], 0xf
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x68]
push eax
call fcn.0047b070
add esp, 4
push eax
mov ecx, esi
mov dword [ebp - 4], 0x10
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x40]
push eax
call fcn.0047c260
push 0x4e2f00
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0x11
push eax
call fcn.0045ec30
add esp, 0x10
cmp dword [eax + 0x14], 7
mov byte [ebp - 4], 0x12
jbe 0x474390
mov eax, dword [eax]
push eax
mov ecx, esi
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x11
cmp ecx, 7
jbe 0x4743d3
mov edx, dword [ebp - 0x28]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4743c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x474416
push ecx
push edx
call fcn.004bf0c8
add esp, 8
mov ecx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 4], al
cmp ecx, 7
jbe 0x474426
mov edx, dword [ebp - 0x40]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x47441c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x47441c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004bf0c8
add esp, 8
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0x13
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea eax, [ebp - 0x68]
mov dword [ebp - 0x5c], 0x4d
push eax
push 0x101
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x68], 0x101
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::ReleaseBuffer]
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_3]
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bf563
mov esp, ebp
pop ebp
ret