Function at 0x584154
Capabilities:
Get file version info

Disassembly:
push 0x770
mov eax, 0x6b7cac
call fcn.0066d8c1
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 0x4c]
push esi
call fcn.005b9bd7
test al, al
mov ecx, esi
jne 0x5841af
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421cf0
lea eax, [ebp - 0x134]
push 0x14
push eax
call fcn.005b9bd7
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x240]
rep movsd dword es:[edi], dword [esi]
push 0x6c2560
lea eax, [ebp - 0x240]
push eax
call fcn.005b9bd7
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], edi
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
lea ecx, [ebp - 0x18]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov ebx, eax
cmp ebx, edi
ja 0x584212
mov ecx, esi
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421cf0
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.005b9bd7
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x564]
rep movsd dword es:[edi], dword [esi]
push 0x6c2560
lea eax, [ebp - 0x564]
jmp 0x5841a9
push 1
push 0x82
push 0x421bb4
push ebx
call fcn.0058b7f6
mov edi, eax
mov ecx, esi
mov dword [ebp - 0x1c], edi
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
test edi, edi
jne 0x58426d
push eax
push 0x421c90
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.005b9bd7
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x458]
rep movsd dword es:[edi], dword [esi]
push 0x6c2560
lea eax, [ebp - 0x458]
jmp 0x5841a9
push edi
push ebx
push dword [ebp - 0x18]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
jne 0x5842bc
mov ecx, esi
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421c40
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
lea eax, [ebp - 0x134]
push eax
call fcn.005b9bd7
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x670]
rep movsd dword es:[edi], dword [esi]
push 0x6c2560
lea eax, [ebp - 0x670]
jmp 0x5841a9
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x402e78
push edi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
jne 0x584313
mov ecx, esi
call sym.osetup.dll_public:_struct_FlexUI::IDataSource____thiscall_FlexUI::FlexValue::GetDataSource_void_const
push eax
push 0x421bf0
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
lea eax, [ebp - 0x77c]
push eax
call fcn.005b9bd7
add esp, 0x10
push 0x43
pop ecx
mov esi, eax
lea edi, [ebp - 0x34c]
rep movsd dword es:[edi], dword [esi]
push 0x6c2560
lea eax, [ebp - 0x34c]
jmp 0x5841a9
push 0x30
call fcn.005b9bd7
pop ecx
mov ecx, eax
mov dword [ebp - 0x28], ecx
test ecx, ecx
mov byte [ebp - 4], 1
je 0x584346
mov eax, dword [ebp - 0x14]
movzx edx, word [eax + 0xc]
push edx
movzx edx, word [eax + 0xe]
push edx
movzx edx, word [eax + 8]
movzx eax, word [eax + 0xa]
push edx
push eax
call fcn.00586394
jmp 0x584348
xor eax, eax
mov ecx, dword [ebp - 0x24]
push eax
add ecx, 0x90
mov byte [ebp - 4], 0
call fcn.005b9bd7
call fcn.0066d966
ret