Function at 0x9034f0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x18]
sub esp, 0x10
mov dword [eax], 0
mov eax, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [eax], 0
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0
lea eax, [ebp - 0xc]
push eax
push edi
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
test esi, esi
je 0x9036de
push ebx
push str.D:_tinderbox_add_7.0_srcVBoxAdditionscommonVBoxServiceVBoxServiceUtils.cpp
push esi
call fcn.0091be60
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x9036c1
push ebx
push esi
push dword [ebp - 0xc]
push edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x903686
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push str.StringFileInfo040904b0FileVersion
push ebx
call sub.VERSION.dll_VerQueryValueA
mov esi, dword [ebp + 0xc]
test eax, eax
je 0x903606
mov eax, dword [ebp - 8]
lea ecx, [ebp - 4]
push esi
push 0
push ecx
push eax
mov dword [ebp - 4], eax
call fcn.009165a0
add esp, 0x10
cmp eax, 0x4c
jne 0x903606
mov eax, dword [ebp - 4]
cmp byte [eax], 0x2e
jne 0x903606
push dword [ebp + 0x10]
lea ecx, [ebp - 4]
inc eax
push 0
push ecx
push eax
call fcn.009165a0
add esp, 0x10
cmp eax, 0x4c
jne 0x903606
mov eax, dword [ebp - 4]
cmp byte [eax], 0x2e
jne 0x903606
push dword [ebp + 0x14]
lea ecx, [ebp - 4]
inc eax
push 0
push ecx
push eax
call fcn.009165a0
add esp, 0x10
cmp eax, 0x4c
jne 0x903606
mov eax, dword [ebp - 4]
cmp byte [eax], 0x2e
jne 0x903606
push dword [ebp + 0x18]
lea ecx, [ebp - 4]
inc eax
push 0
push ecx
push eax
call fcn.009165a0
add esp, 0x10
test eax, eax
je 0x90364f
cmp eax, 0x4c
je 0x90364f
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x94ff90
push ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x903663
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
movzx eax, word [ecx + 0xa]
mov dword [esi], eax
movzx eax, word [ecx + 8]
mov dword [edx], eax
movzx eax, word [ecx + 0xe]
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
movzx eax, word [ecx + 0xc]
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
push ebx
xor esi, esi
call fcn.0091be80
add esp, 4
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0091bf10
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.No_file_version_value_for_file__s_available____d___rc_Rrc__n
push 3
jmp 0x9036a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0091bf10
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.GetFileVersionInfo__s______u____Rrc_n
push 0
call fcn.00902480
add esp, 0x14
push ebx
call fcn.0091be80
add esp, 4
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push edi
push esi
push str.Failed_to_allocate__u_byte_for_file_version_info_for__s_n
push 0
call fcn.00902480
add esp, 0x10
mov eax, 0xffffffec
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0091bf10
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push str.GetFileVersionInfoSize__s______u____Rrc_n
push 3
call fcn.00902480
add esp, 0x14
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret