Function at 0x41f705
Capabilities:
Get file version info

Disassembly:
push 0x460
mov eax, 0x4cc80b
call fcn.0044dabe
mov edi, dword [ebp + 8]
xor ebx, ebx
lea eax, [edi + 0x10]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x46c], eax
mov dword [eax + 0x10], ebx
jb 0x41f738
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
call fcn.0041f62b
mov dword [edi + 0x38], eax
lea eax, [ebp - 0x448]
push eax
push fcn.0041f705
push 6
mov dword [edi + 0x3c], edx
mov dword [ebp - 0x448], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x41f76e
xor al, al
call fcn.0044db41
ret
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call fcn.00447b70
add esp, 0xc
push 0x104
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x448]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x41f766
lea eax, [ebp - 0x460]
push eax
lea eax, [ebp - 0x21c]
push eax
mov dword [ebp - 0x460], ebx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0x43c], eax
cmp eax, ebx
je 0x41f766
lea esi, [ebp - 0x458]
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x450], ebx
call fcn.0041fbce
mov dword [ebp - 4], ebx
push dword [ebp - 0x458]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x43c]
push ebx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x41f81a
lea esi, [ebp - 0x458]
call fcn.0041a6ce
jmp 0x41f766
mov esi, dword [sym.imp.VERSION.dll_VerQueryValueW]
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x444]
push eax
push 0x4e0ca0
push dword [ebp - 0x458]
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x468], 4
call esi
test eax, eax
je 0x41f80a
mov eax, dword [ebp - 0x444]
movzx ecx, word [eax + 0xa]
mov dword [edi], ecx
mov edx, dword [eax + 8]
mov ecx, 0xffff
and edx, ecx
mov dword [edi + 4], edx
movzx edx, word [eax + 0xe]
mov dword [edi + 8], edx
mov eax, dword [eax + 0x30]
and eax, ecx
mov dword [edi + 0xc], eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x45c]
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x458]
mov dword [ebp - 0x440], 4
call esi
test eax, eax
jne 0x41f8b2
lea esi, [ebp - 0x458]
call fcn.0041a6ce
mov al, bl
jmp 0x41f768
xor eax, eax
push 0x1fe
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push ebx
push eax
call fcn.00447b70
add esp, 0xc
xor edi, edi
test dword [ebp - 0x440], 0xfffffffc
jbe 0x41f986
mov eax, dword [ebp - 0x45c]
lea eax, [eax + edi*4]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ecx
push eax
lea eax, [ebp - 0x41c]
push str.StringFileInfo_04x_04xFileDescription
push eax
call fcn.0041fd29
add esp, 0x10
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x458]
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x43c], ebx
call esi
test eax, eax
je 0x41f93d
cmp dword [ebp - 0x43c], ebx
jne 0x41f94d
mov eax, dword [ebp - 0x440]
inc edi
shr eax, 2
cmp edi, eax
jb 0x41f8e2
jmp 0x41f986
push dword [ebp - 0x43c]
lea eax, [ebp - 0x438]
push eax
call fcn.00404c84
mov ecx, dword [ebp - 0x46c]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 1
call fcn.00405528
push 1
xor edi, edi
lea esi, [ebp - 0x438]
call fcn.00401198
mov bl, 1
jmp 0x41f8a0