Function at 0x407670
Capabilities:
Get session user name

Disassembly:
push 0x2b0
mov eax, 0x40fd26
call fcn.0040ec98
mov edi, dword [0x41c4a0]
mov ecx, 0x41e4b8
mov dword [ebp - 0x2bc], edi
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::empty_void_const]
test al, al
je 0x4076a2
xor eax, eax
inc eax
jmp 0x4079b9
call dword [sym.imp.Cmmlib.dll_public:_static_class_Cmm::CommandLine____cdecl_Cmm::CommandLine::ForCurrentProcess_void_]
mov esi, eax
xor ebx, ebx
test esi, esi
je 0x407801
push str.runaszvideo
lea ecx, [ebp - 0x298]
call fcn.00407488
lea eax, [ebp - 0x298]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call dword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_Cmm::CommandLine::GetSwitchValueASCII_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 2
call fcn.00407465
push str.TRUE
lea ecx, [ebp - 0x22c]
call fcn.004075e8
test al, al
jne 0x4079c1
push str.multipt
lea ecx, [ebp - 0x260]
call fcn.00407488
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x244]
mov ecx, esi
push eax
call dword [sym.imp.Cmmlib.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_Cmm::CommandLine::GetSwitchValueASCII_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x2b8], eax
cmp ecx, eax
je 0x40778b
mov edx, dword [ebp - 0x218]
cmp edx, 0x10
jb 0x40775b
mov ecx, dword [ebp - 0x22c]
inc edx
call fcn.00404ac8
mov eax, dword [ebp - 0x2b8]
push 0xf
pop edx
mov dword [ebp - 0x21c], ebx
lea edi, [ebp - 0x22c]
mov dword [ebp - 0x218], edx
mov esi, eax
mov byte [ebp - 0x22c], bl
push 6
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x2bc]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov byte [eax], bl
lea ecx, [ebp - 0x244]
call fcn.00407465
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 2
call fcn.00407465
push str.TRUE
lea ecx, [ebp - 0x22c]
call fcn.004075e8
test al, al
jne 0x4079c1
call fcn.00406d58
test eax, eax
je 0x4077e5
call fcn.00407107
test eax, eax
jne 0x4077e5
call fcn.004072f0
test eax, eax
jne 0x4077e5
call fcn.00407354
test eax, eax
je 0x4079c1
call fcn.0040726c
test eax, eax
jne 0x4079c1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.00407465
lea ecx, [ebp - 0x280]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CFileName::constructor_void_]
push ebx
lea ecx, [ebp - 0x280]
mov dword [ebp - 4], 4
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CFileName::GetModuleFileNameW_struct_HINSTANCE____]
lea ecx, [ebp - 0x280]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CFileName::GetName_void_const]
push eax
lea ecx, [ebp - 0x2b4]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
push 0x41e4b8
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 5
call dword [sym.imp.Cmmlib.dll_public:_bool___thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__const]
test al, al
je 0x40799c
lea ecx, [ebp - 0x264]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_void_]
push 0x200
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 6
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x2b8], 0xff
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x4078b1
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x264]
call dword [0x4110a8]
push str.Global_
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_void___thiscall_Cmm::CStringT_wchar_t_::constructor_wchar_t_const__]
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 7
call dword [sym.imp.Cmmlib.dll_public:_int___thiscall_Cmm::CStringT_wchar_t_::IsEmpty_void_const]
mov esi, 0x414c6c
test eax, eax
jne 0x4078fb
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
push esi
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push 0x41e4b8
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_class_Cmm::CStringT_wchar_t__const__]
call fcn.00407107
test eax, eax
je 0x407933
push esi
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push str.uploadCrashDump
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_char_const__]
call fcn.00407354
test eax, eax
je 0x40795a
push esi
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__]
push str.uploadFeedback
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_class_Cmm::CStringT_wchar_t_____thiscall_Cmm::CStringT_wchar_t_::operator_char_const__]
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public:_wchar_t_const____thiscall_Cmm::CStringT_wchar_t_::operator_wchar_t_const__void_const]
push eax
push 1
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi], eax
test eax, eax
je 0x4079d1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4079d1
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x264]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
xor ebx, ebx
inc ebx
lea ecx, [ebp - 0x2b4]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x280]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CFileName::destructor_void_]
mov eax, ebx
call fcn.0040ec53
ret 4
lea ecx, [ebp - 0x22c]
call fcn.00407465
jmp 0x40769a
lea ecx, [ebp - 0x248]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
lea ecx, [ebp - 0x264]
call dword [sym.imp.Cmmlib.dll_public_virtual:_void___thiscall_Cmm::CStringT_wchar_t_::destructor_void_]
jmp 0x40799f