Function at 0x418e44
Capabilities:
Get file version info

Disassembly:
push 0x460
mov eax, 0x4e5835
call fcn.0044b05e
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 0x418e77
mov eax, dword [eax]
xor ecx, ecx
mov word [eax], cx
call fcn.00418d6a
mov dword [edi + 0x38], eax
lea eax, [ebp - 0x448]
push eax
push fcn.00418e44
push 6
mov dword [edi + 0x3c], edx
mov dword [ebp - 0x448], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x418ead
xor al, al
call fcn.0044b0e1
ret
xor eax, eax
push 0x206
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
call fcn.004459b0
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 0x418ea5
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 esi, eax
cmp esi, ebx
je 0x418ea5
lea eax, [ebp - 0x458]
mov dword [ebp - 0x458], ebx
mov dword [ebp - 0x454], ebx
mov dword [ebp - 0x450], ebx
call fcn.00419183
mov dword [ebp - 4], ebx
push dword [ebp - 0x458]
lea eax, [ebp - 0x21c]
push esi
push ebx
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
jne 0x418f50
lea esi, [ebp - 0x458]
call fcn.0041d4a8
jmp 0x418ea5
mov esi, dword [sym.imp.VERSION.dll_VerQueryValueW]
lea eax, [ebp - 0x468]
push eax
lea eax, [ebp - 0x444]
push eax
push 0x4f6f4c
push dword [ebp - 0x458]
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x468], 4
call esi
test eax, eax
je 0x418f40
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 - 0x43c]
push eax
lea eax, [ebp - 0x45c]
push eax
push str.VarFileInfoTranslation
push dword [ebp - 0x458]
mov dword [ebp - 0x43c], 4
call esi
test eax, eax
jne 0x418fe8
lea esi, [ebp - 0x458]
call fcn.0041d4a8
mov al, bl
jmp 0x418ea7
xor eax, eax
push 0x1fe
mov word [ebp - 0x41c], ax
lea eax, [ebp - 0x41a]
push ebx
push eax
call fcn.004459b0
add esp, 0xc
xor edi, edi
test dword [ebp - 0x43c], 0xfffffffc
jbe 0x4190bc
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.00419308
add esp, 0x10
lea eax, [ebp - 0x464]
push eax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x458]
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x440], ebx
call esi
test eax, eax
je 0x419073
cmp dword [ebp - 0x440], ebx
jne 0x419083
mov eax, dword [ebp - 0x43c]
inc edi
shr eax, 2
cmp edi, eax
jb 0x419018
jmp 0x4190bc
push dword [ebp - 0x440]
lea eax, [ebp - 0x438]
push eax
call fcn.0040525a
mov ecx, dword [ebp - 0x46c]
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x438]
mov byte [ebp - 4], 1
call fcn.004029a2
push 1
xor edi, edi
lea esi, [ebp - 0x438]
call fcn.00402a3c
mov bl, 1
jmp 0x418fd6