Function at 0x414de0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x42f060]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x240], ecx
mov dword [ebp - 8], 0
xor eax, eax
mov word [ebp - 0x218], ax
push 0x206
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.00416110
add esp, 0xc
mov byte [ebp - 1], 0
push 0
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x240]
call fcn.00414870
movzx eax, al
test eax, eax
je 0x414e50
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x218]
push edx
call fcn.00415af0
add esp, 8
jmp 0x414ec2
lea eax, [ebp - 0x218]
push eax
push 0
push 0x42c384
mov ecx, dword [ebp - 0x240]
call fcn.00414b10
test eax, eax
je 0x414ec2
mov byte [ebp - 1], 1
push 0
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x240]
call fcn.00414510
test eax, eax
jne 0x414ec2
push 0
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x240]
call fcn.00414870
movzx ecx, al
test ecx, ecx
je 0x414eba
lea edx, [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x240]
call fcn.00414a50
mov eax, dword [ebp - 8]
jmp 0x4150f3
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x21e], cx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x21a], ax
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
cmp dword [ebp + 0xc], 0
je 0x414f09
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x218]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
jbe 0x4150aa
mov ecx, dword [ebp - 0x228]
push ecx
call fcn.00415b79
add esp, 4
mov dword [ebp - 0x238], eax
mov edx, dword [ebp - 0x238]
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0
je 0x4150aa
mov eax, dword [ebp - 0x22c]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
push 0
lea edx, [ebp - 0x218]
push edx
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x41508f
mov dword [ebp - 0x230], 0
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x230]
push ecx
push 0x42ad0c
mov edx, dword [ebp - 0x22c]
push edx
call sub.VERSION.dll_VerQueryValueA
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 8]
shr ecx, 0x10
and ecx, 0xffff
mov word [ebp - 0x220], cx
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 8]
and eax, 0xffff
mov word [ebp - 0x21e], ax
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0xc]
shr edx, 0x10
and edx, 0xffff
mov word [ebp - 0x21c], dx
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0xc]
and ecx, 0xffff
mov word [ebp - 0x21a], cx
mov edx, dword [ebp + 8]
push edx
movzx eax, word [ebp - 0x21a]
push eax
movzx ecx, word [ebp - 0x21c]
push ecx
movzx edx, word [ebp - 0x21e]
push edx
movzx eax, word [ebp - 0x220]
push eax
push str.GetFileVersion____d__d__d__d___s__n
call fcn.004139d0
add esp, 0x18
movzx ecx, word [ebp - 0x21e]
and ecx, 0xffff
movzx edx, cx
movzx eax, word [ebp - 0x220]
and eax, 0xffff
movzx ecx, ax
shl ecx, 0x10
or edx, ecx
mov dword [ebp - 8], edx
cmp dword [ebp + 0xc], 0
je 0x41508f
movzx edx, word [ebp - 0x21a]
and edx, 0xffff
movzx eax, dx
movzx ecx, word [ebp - 0x21c]
and ecx, 0xffff
movzx edx, cx
shl edx, 0x10
or eax, edx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x23c]
push eax
call fcn.00415ab7
add esp, 4
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x4150df
push 0
lea edx, [ebp - 0x218]
push edx
mov ecx, dword [ebp - 0x240]
call fcn.00414870
movzx eax, al
test eax, eax
je 0x4150df
lea ecx, [ebp - 0x218]
push ecx
mov ecx, dword [ebp - 0x240]
call fcn.00414a50
mov edx, dword [ebp - 8]
push edx
push str.GetFileVersion_returns_0x_08x_n
call fcn.00413880
add esp, 8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00415aa8
mov esp, ebp
pop ebp
ret 8