Function at 0x467d78
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc
push 0
push 0
dec ecx
jne 0x467d80
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], edx
mov edi, eax
xor eax, eax
push ebp
push 0x46809a
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [edi + 0x334], 0
je 0x467db7
lea eax, [ebp - 0x20]
mov edx, dword [edi + 0x334]
call fcn.004041d8
jmp 0x467dc1
lea edx, [ebp - 0x20]
xor eax, eax
call fcn.00402a34
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x20]
call fcn.00404600
mov ebx, eax
push ebx
call sub.version.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x46804d
mov edx, dword [ebp - 0x14]
add edx, 1
jae 0x467def
call fcn.004032ac
lea eax, [ebp - 0xc]
call fcn.0040478c
mov eax, dword [ebp - 0xc]
call fcn.00404600
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0
push ebx
call sub.version.dll_GetFileVersionInfoA
test eax, eax
je 0x467f71
lea eax, [ebp - 0x20]
mov edx, 0x4680b0
call fcn.004041d8
push ebp
lea edx, [ebp - 0x2c]
mov eax, 0x4680b0
call fcn.00467cbc
pop ecx
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
mov ecx, 4
call fcn.00402908
push 0x4680d4
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x18]
movzx eax, ax
mov edx, 4
call fcn.004088d4
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x18]
call fcn.00406d30
movzx eax, ax
lea ecx, [ebp - 0x34]
mov edx, 4
call fcn.004088d4
push dword [ebp - 0x34]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004044c0
push ebp
lea eax, [ebp - 0x3c]
mov ecx, 0x4680f0
mov edx, dword [ebp - 0x1c]
call fcn.0040444c
mov eax, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
call fcn.00467cbc
pop ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [edi + 0x310]
call fcn.00445e68
push ebp
lea eax, [ebp - 0x44]
mov ecx, 0x468108
mov edx, dword [ebp - 0x1c]
call fcn.0040444c
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x40]
call fcn.00467cbc
pop ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [edi + 0x30c]
call fcn.00445e68
push ebp
lea eax, [ebp - 0x4c]
mov ecx, 0x468124
mov edx, dword [ebp - 0x1c]
call fcn.0040444c
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.00467cbc
pop ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [edi + 0x308]
call fcn.00445e68
push ebp
lea eax, [ebp - 0x54]
mov ecx, 0x46813c
mov edx, dword [ebp - 0x1c]
call fcn.0040444c
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.00467cbc
pop ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edi + 0x300]
call fcn.00445e68
lea edx, [ebp - 0x58]
mov eax, dword [edi + 0x300]
call fcn.00445e38
mov edx, dword [ebp - 0x58]
mov eax, 0x468150
call fcn.00404744
test eax, eax
jne 0x467f71
mov eax, dword [edi + 0x300]
mov edx, 0x468160
call fcn.00445e68
mov eax, dword [edi + 0x300]
mov eax, dword [eax + 0x68]
mov edx, 0xff
call fcn.0041fad4
mov edx, dword [ebp - 0x10]
mov eax, dword [edi + 0x310]
call fcn.00445e38
xor eax, eax
mov dword [edi + 0x338], eax
lea eax, [ebp - 0x24]
call fcn.00404140
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
call fcn.00404400
mov esi, eax
xor eax, eax
mov dword [ebp - 0x28], eax
test esi, esi
jle 0x468023
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
dec esi
test eax, eax
je 0x467fb3
cmp esi, dword [eax - 4]
jb 0x467fb8
call fcn.004032a4
inc esi
mov bl, byte [eax + esi - 1]
cmp bl, 0x2e
je 0x467fda
lea eax, [ebp - 0x5c]
mov edx, ebx
call fcn.00404328
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
call fcn.0040444c
cmp bl, 0x2e
sete al
cmp esi, 1
sete dl
or al, dl
je 0x468015
mov eax, dword [ebp - 0x24]
call fcn.0040892c
and eax, 0xff
mov ecx, dword [ebp - 0x28]
shl eax, cl
or dword [edi + 0x338], eax
add dword [ebp - 0x28], 8
jno 0x46800d
call fcn.004032ac
lea eax, [ebp - 0x24]
call fcn.00404140
sub esi, 1
jno 0x46801f
call fcn.004032ac
test esi, esi
jg 0x467fa4
lea edx, [ebp - 0x64]
mov ebx, dword [edi + 0x310]
mov eax, ebx
call fcn.00445e38
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x60]
mov edx, 0x468190
call fcn.0040444c
mov edx, dword [ebp - 0x60]
mov eax, ebx
call fcn.00445e68
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4680a1
lea eax, [ebp - 0x64]
call fcn.00404140
lea eax, [ebp - 0x60]
mov edx, 2
call fcn.00404164
lea eax, [ebp - 0x58]
call fcn.00404140
lea eax, [ebp - 0x54]
mov edx, 0xb
call fcn.00404164
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.00404164
lea eax, [ebp - 0xc]
call fcn.00404140
ret