Function at 0x4a5e90
Capabilities:
Get file version info

Disassembly:
push 0xffffffffffffffff
push 0x4d8a4c
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x510a84]
xor eax, esp
mov dword [esp + 0x220], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x510a84]
xor eax, esp
push eax
lea eax, [esp + 0x238]
mov dword fs:[0], eax
mov edi, dword [esp + 0x248]
mov eax, dword [esp + 0x24c]
lea ecx, [esp + 0x30]
push ecx
xor bl, bl
push edi
mov dword [esp + 0x34], eax
mov byte [esp + 0x1f], bl
call fcn.004ca7ae
mov esi, eax
test esi, esi
jbe 0x4a6192
push esi
call dword [0x4dc634]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4a618c
push ebx
push esi
push 0
push edi
call fcn.004ca7a8
test eax, eax
je 0x4a6182
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x2c]
push eax
push str.VarFileInfoTranslation
push ebx
call fcn.004ca7a2
mov edi, dword [esp + 0x20]
shr edi, 2
xor esi, esi
test edi, edi
jle 0x4a6182
mov ebp, dword [0x4dc77c]
lea ebx, [ebx]
mov eax, dword [esp + 0x28]
movzx ecx, word [eax + esi*4 + 2]
movzx edx, word [eax + esi*4]
push ecx
push edx
lea eax, [esp + 0x3c]
push str.StringFileInfo_04x_04xProductVersion
push eax
call ebp
add esp, 0x10
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.004ca7a2
test eax, eax
jne 0x4a5fa1
add esi, 1
cmp esi, edi
jl 0x4a5f50
push ebx
call dword [0x4dc630]
mov al, byte [esp + 0x1b]
add esp, 4
jmp 0x4a6194
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x1c]
call dword [0x4dc310]
mov dword [esp + 0x240], 0
call fcn.004a3b40
test eax, eax
je 0x4a6011
call fcn.004a3b40
cmp byte [eax + 0x91], 0
je 0x4a6011
push 0x8b3
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push str...MMFCSourceMacrOS.cpp
call dword [0x4dc4a0]
push str.Bare_version_is
push str.DEBUG
mov byte [esp + 0x268], 1
call fcn.004a3b40
mov ecx, eax
mov byte [esp + 0x268], 0
call fcn.004a4600
call fcn.004a3b40
test eax, eax
je 0x4a606d
call fcn.004a3b40
cmp byte [eax + 0x91], 0
je 0x4a606d
push 0x8b4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push str...MMFCSourceMacrOS.cpp
call dword [0x4dc4a0]
lea ecx, [esp + 0x38]
mov byte [esp + 0x260], 2
call dword [0x4dc3a0]
push eax
push str.DEBUG
call fcn.004a3b40
mov ecx, eax
mov byte [esp + 0x268], 0
call fcn.004a4700
push 0x2e
push 0x2c
lea ecx, [esp + 0x20]
call dword [0x4dc284]
push 0x4dca1c
push 0x4df8fc
lea ecx, [esp + 0x20]
call dword [0x4dc300]
cmp byte [esp + 0x250], 0
je 0x4a60ad
push 0x4debf4
push 0x4eba5c
lea ecx, [esp + 0x20]
call dword [0x4dc300]
call fcn.004a3b40
test eax, eax
je 0x4a6103
call fcn.004a3b40
cmp byte [eax + 0x91], 0
je 0x4a6103
push 0x8be
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push str...MMFCSourceMacrOS.cpp
call dword [0x4dc4a0]
push str.Formal_version_is
push str.DEBUG
mov byte [esp + 0x268], 3
call fcn.004a3b40
mov ecx, eax
mov byte [esp + 0x268], 0
call fcn.004a4600
call fcn.004a3b40
test eax, eax
je 0x4a615f
call fcn.004a3b40
cmp byte [eax + 0x91], 0
je 0x4a615f
push 0x8bf
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push str...MMFCSourceMacrOS.cpp
call dword [0x4dc4a0]
lea ecx, [esp + 0x38]
mov byte [esp + 0x260], 4
call dword [0x4dc3a0]
push eax
push str.DEBUG
call fcn.004a3b40
mov ecx, eax
mov byte [esp + 0x268], 0
call fcn.004a4700
lea ecx, [esp + 0x18]
call dword [0x4dc3a0]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.004a5570
lea ecx, [esp + 0x18]
mov byte [esp + 0x17], 1
call dword [0x4dc30c]
push ebx
call dword [0x4dc630]
add esp, 4
mov al, byte [esp + 0x17]
jmp 0x4a6194
mov al, bl
mov ecx, dword [esp + 0x238]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x220]
xor ecx, esp
call fcn.004c9dd8
add esp, 0x230
ret