Function at 0x415b60
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x455008]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x45667c]
push ebx
mov dword [ebp - 0x38], eax
mov ebx, ecx
mov eax, dword [0x4558e8]
push edi
mov edi, dword [0x456680]
test eax, eax
js 0x415e68
push esi
push 0x88c
lea eax, [ebx + 0xc]
push 0
lea esi, [ebx + 4]
push eax
mov dword [ebp - 0x3c], esi
call fcn.00417b90
mov dword [esi], 0x894
lea ecx, [ebx + 0xc]
mov esi, 0x44511c
mov dword [ebx + 8], 0xffffffff
add esp, 0xc
mov edx, 0x40
sub esi, ecx
lea eax, [edx + 0x7fffffbe]
test eax, eax
je 0x415be3
movzx eax, word [esi + ecx]
test ax, ax
je 0x415be3
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415bc5
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov word [eax], cx
mov eax, 0x8007007a
cmovne eax, ecx
je 0x415e67
lea ecx, [ebx + 0x8c]
mov esi, 0x44511c
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x415c30
movzx eax, word [esi + ecx]
test ax, ax
je 0x415c30
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415c12
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov word [eax], cx
mov eax, 0x8007007a
cmovne eax, ecx
je 0x415e67
lea ecx, [ebx + 0x18c]
mov esi, edi
mov edx, 0x80
sub esi, ecx
nop dword [eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x415c7e
movzx eax, word [esi + ecx]
test ax, ax
je 0x415c7e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415c60
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov word [eax], cx
mov eax, 0x8007007a
cmovne eax, ecx
je 0x415e67
mov esi, dword [ebp - 0x38]
lea ecx, [ebx + 0x28c]
mov edx, 0x104
sub esi, ecx
nop dword [eax + eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x415cce
movzx eax, word [esi + ecx]
test ax, ax
je 0x415cce
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415cb0
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov word [eax], cx
mov eax, 0x8007007a
cmovne eax, ecx
je 0x415e67
lea ecx, [ebx + 0x494]
mov esi, edi
mov edx, 0x200
sub esi, ecx
nop word [eax + eax]
lea eax, [edx + 0x7ffffdfe]
test eax, eax
je 0x415d1e
movzx eax, word [esi + ecx]
test ax, ax
je 0x415d1e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415d00
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
test edx, edx
mov word [eax], cx
mov eax, 0x8007007a
cmovne eax, ecx
je 0x415e67
add ebx, 0x89c
push ebx
push dword [ebp - 0x3c]
push dword [ebp + 8]
push 0x44511c
call dword [0x456700]
test eax, eax
js 0x415e67
push edi
push 0x452174
push 0
push dword [ebx]
call dword [0x456704]
test eax, eax
js 0x415e67
push 0x30
lea eax, [ebp - 0x34]
push 0
push eax
call fcn.00417b90
lea ecx, [ebp - 0x34]
mov esi, 0x452194
mov eax, ecx
add esp, 0xc
mov edx, 0x18
sub esi, eax
lea eax, [edx + 0x7fffffe6]
test eax, eax
je 0x415db2
movzx eax, word [ecx + esi]
test ax, ax
je 0x415db2
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415d94
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
push ecx
push dword [ebp - 0x38]
mov word [eax], cx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test edi, edi
je 0x415e54
push edi
call fcn.0041f021
mov esi, eax
add esp, 4
test esi, esi
je 0x415e54
push esi
push edi
push 0
push dword [ebp - 0x38]
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x415e4b
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x38], 0
push eax
push 0x4517c4
push esi
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x415e4b
cmp dword [ebp - 0x38], 0x34
jne 0x415e4b
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
movzx eax, cx
push eax
shr ecx, 0x10
push ecx
movzx eax, dx
push eax
shr edx, 0x10
lea eax, [ebp - 0x34]
push edx
push 0x4521a4
push 0x18
push eax
call fcn.00415a00
add esp, 0x1c
push esi
call fcn.0041f006
add esp, 4
lea eax, [ebp - 0x34]
push eax
push 0x4521bc
push 1
push dword [ebx]
call dword [0x456704]
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00415f69
mov esp, ebp
pop ebp
ret 0x10