Function at 0x41b4b0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x464471
mov eax, dword fs:[0]
push eax
sub esp, 0x274
mov eax, dword [0x488fdc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], 0
push 0x468f59
lea ecx, [ebp - 0x138]
call fcn.00404f80
mov dword [ebp - 4], 1
mov byte [ebp - 0x11c], 0
push 0x104
push 0
lea eax, [ebp - 0x11b]
push eax
call fcn.004456b0
add esp, 0xc
push 0x104
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x11c]
push edx
call fcn.00449100
add esp, 0xc
mov dword [ebp - 0x13c], 0
lea eax, [ebp - 0x13c]
push eax
lea ecx, [ebp - 0x11c]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x41b790
mov dword [ebp - 0x144], 0
mov edx, dword [ebp - 0x140]
push edx
call fcn.00448ca5
add esp, 4
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
lea eax, [ebp - 0x11c]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
jne 0x41b5c9
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.004485b5
add esp, 4
mov dword [ebp - 0x144], 0
jmp 0x41b790
mov dword [ebp - 0x148], 0
lea edx, [ebp - 0x148]
push edx
lea eax, [ebp - 0x14c]
push eax
push str.VarFileInfoTranslation
mov ecx, dword [ebp - 0x144]
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b777
mov edx, dword [ebp - 0x148]
shr edx, 2
mov dword [ebp - 0x150], edx
mov dword [ebp - 0x154], 0
jmp 0x41b624
mov eax, dword [ebp - 0x154]
add eax, 1
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x150]
jge 0x41b777
push str.FileVersion
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + edx*4 + 2]
push ecx
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x14c]
movzx ecx, word [eax + edx*4]
push ecx
push str.StringFileInfo_04x_04x_s
lea edx, [ebp - 0x254]
push edx
call fcn.00445608
add esp, 0x14
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0
jl 0x41b772
mov dword [ebp - 0x25c], 0
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x260]
push ecx
lea edx, [ebp - 0x254]
push edx
mov eax, dword [ebp - 0x144]
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x41b772
call fcn.0041ba80
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x260]
push ecx
call fcn.00414790
add esp, 4
push eax
lea ecx, [ebp - 0x138]
call fcn.0040fdb0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x278], 0
jmp 0x41b703
mov edx, dword [ebp - 0x278]
add edx, 1
mov dword [ebp - 0x278], edx
lea ecx, [ebp - 0x138]
call fcn.00408d30
cmp dword [ebp - 0x278], eax
jae 0x41b770
mov eax, dword [ebp - 0x278]
push eax
lea ecx, [ebp - 0x138]
call fcn.00416630
movsx ecx, byte [eax]
cmp ecx, 0x2e
jne 0x41b76e
mov edx, dword [ebp - 0x274]
add edx, 1
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 3
jne 0x41b76e
lea ecx, [ebp - 0x138]
call fcn.00408d30
sub eax, dword [ebp - 0x278]
push eax
mov eax, dword [ebp - 0x278]
push eax
lea ecx, [ebp - 0x138]
call fcn.00405370
jmp 0x41b770
jmp 0x41b6f4
jmp 0x41b777
jmp 0x41b615
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.004485b5
add esp, 4
mov dword [ebp - 0x144], 0
lea edx, [ebp - 0x138]
push edx
mov ecx, dword [ebp + 8]
call fcn.00405070
mov eax, dword [ebp - 0x27c]
or eax, 1
mov dword [ebp - 0x27c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x138]
call fcn.004058d0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044545a
mov esp, ebp
pop ebp
ret 8