Function at 0x584608
Capabilities:
Get user security identifier

Disassembly:
push 0x280
mov eax, 0x6b7d1d
call fcn.0066d88e
xor ebx, ebx
push 0x40322c
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], 8
call fcn.0057706c
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
push ebx
lea eax, [ebp - 0x1c]
push eax
push ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x10], ebx
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov edi, dword [sym.imp.advapi32.dll_LookupAccountNameW]
push eax
call edi
test eax, eax
mov esi, dword [sym.imp.kernel32.dll_GetLastError]
jne 0x5846bc
call esi
cmp eax, 0x7a
mov dword [ebp - 0x14], eax
je 0x5846bc
mov ecx, dword [ebp + 0xc]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421f78
push dword [ebp - 0x14]
lea eax, [ebp - 0x28c]
push eax
call fcn.005b9bd7
add esp, 0x14
push 0x43
pop ecx
mov esi, eax
push 0x6c2560
lea eax, [ebp - 0x180]
lea edi, [ebp - 0x180]
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.005b9bd7
push dword [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.005b9bd7
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x74]
call fcn.005739de
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x14]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
call edi
test eax, eax
jne 0x58472b
mov ecx, dword [ebp + 0xc]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421f10
call esi
push eax
jmp 0x58468f
call fcn.00577e6f
test al, al
je 0x584758
mov ecx, dword [ebp + 0xc]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push dword [ebp - 0x18]
push 0x421e80
push 2
call fcn.00578284
add esp, 0x14
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x6c]
call dword [sym.imp.advapi32.dll_ConvertSidToStringSidW]
test eax, eax
push dword [ebp - 0x10]
jne 0x58478b
call dword [sym.imp.kernel32.dll_LocalFree]
mov ecx, dword [ebp + 0xc]
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
mov ecx, dword [ebp + 8]
push eax
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421e08
jmp 0x584723
mov ecx, dword [ebp + 0x10]
call fcn.005b9bd7
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_LocalFree]
test eax, eax
je 0x5847bc
push 0x421dd0
call esi
push eax
lea eax, [ebp - 0x28c]
push eax
call fcn.005b9bd7
add esp, 0xc
jmp 0x58469e
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], bl
call fcn.0056f659
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.00576231
call fcn.0066d966
ret 0xc