Function at 0x695c90
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x4f1c
call fcn.006d70a0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.version.dll_GetFileVersionInfoSizeA
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x696622
mov edx, dword [ebp + 8]
push edx
call fcn.006d6f50
add esp, 4
push eax
push 0x7ad378
lea eax, [ebp - 0x1114]
push eax
call fcn.006d6ef0
add esp, 0xc
lea ecx, [ebp - 0x1008]
push ecx
push 0x1000
push 0
mov edx, dword [ebp + 8]
push edx
call sub.version.dll_GetFileVersionInfoA
test eax, eax
jne 0x695d30
mov dword [ebp - 0x1118], 0x1000
lea eax, [ebp - 0x1008]
push eax
lea ecx, [ebp - 0x1118]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00695a50
add esp, 0xc
test eax, eax
jne 0x695d30
xor eax, eax
jmp 0x696624
mov dword [ebp - 0x1014], 4
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1010]
push ecx
push 0x7ad384
lea ecx, [ebp - 0x1b1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x100c], 0
je 0x696622
mov eax, dword [ebp - 0x1010]
mov ecx, dword [eax]
shr ecx, 0x10
and ecx, 0xffff
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 0x1010]
xor eax, eax
mov ax, word [edx]
push eax
push 0x7ad3a4
lea ecx, [ebp - 0x1f1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea ecx, [ebp - 0x171c]
push ecx
call fcn.006d6ef0
add esp, 0x10
mov dword [ebp - 0x1014], 0
push 0x7ad3c4
lea ecx, [ebp - 0x231c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x7ad3d4
lea eax, [ebp - 0x151c]
push eax
call fcn.006d6ef0
add esp, 0x10
lea ecx, [ebp - 0x1014]
push ecx
lea edx, [ebp - 0x111c]
push edx
lea eax, [ebp - 0x151c]
push eax
lea ecx, [ebp - 0x1008]
push ecx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x695e64
cmp dword [ebp - 0x1014], 0
jbe 0x695e51
mov edx, dword [ebp - 0x1014]
push edx
mov eax, dword [ebp - 0x111c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.006d6a60
add esp, 0xc
jmp 0x695e62
push 0x7cffa8
mov edx, dword [ebp + 0xc]
push edx
call fcn.006d6e00
add esp, 8
jmp 0x695e75
push 0x7cffac
mov eax, dword [ebp + 0xc]
push eax
call fcn.006d6e00
add esp, 8
push 0x7ad3dc
lea ecx, [ebp - 0x271c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x7ad3ec
lea edx, [ebp - 0x151c]
push edx
call fcn.006d6ef0
add esp, 0x10
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x111c]
push ecx
lea edx, [ebp - 0x151c]
push edx
lea eax, [ebp - 0x1008]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x695f10
cmp dword [ebp - 0x1014], 0
jbe 0x695ef7
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x111c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x100
push eax
call fcn.006d6a60
add esp, 0xc
jmp 0x695f0e
push 0x7cffb0
mov ecx, dword [ebp + 0xc]
add ecx, 0x100
push ecx
call fcn.006d6e00
add esp, 8
jmp 0x695f27
push 0x7cffb4
mov edx, dword [ebp + 0xc]
add edx, 0x100
push edx
call fcn.006d6e00
add esp, 8
push 0x7ad3f4
lea ecx, [ebp - 0x2b1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x7ad408
lea ecx, [ebp - 0x151c]
push ecx
call fcn.006d6ef0
add esp, 0x10
lea edx, [ebp - 0x1014]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x151c]
push ecx
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x695fc2
cmp dword [ebp - 0x1014], 0
jbe 0x695faa
mov eax, dword [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x111c]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x200
push edx
call fcn.006d6a60
add esp, 0xc
jmp 0x695fc0
push 0x7cffb8
mov eax, dword [ebp + 0xc]
add eax, 0x200
push eax
call fcn.006d6e00
add esp, 8
jmp 0x695fd9
push 0x7cffbc
mov ecx, dword [ebp + 0xc]
add ecx, 0x200
push ecx
call fcn.006d6e00
add esp, 8
push 0x7ad410
lea ecx, [ebp - 0x2f1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x7ad420
lea eax, [ebp - 0x151c]
push eax
call fcn.006d6ef0
add esp, 0x10
lea ecx, [ebp - 0x1014]
push ecx
lea edx, [ebp - 0x111c]
push edx
lea eax, [ebp - 0x151c]
push eax
lea ecx, [ebp - 0x1008]
push ecx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x696075
cmp dword [ebp - 0x1014], 0
jbe 0x69605c
mov edx, dword [ebp - 0x1014]
push edx
mov eax, dword [ebp - 0x111c]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x300
push ecx
call fcn.006d6a60
add esp, 0xc
jmp 0x696073
push 0x7cffc0
mov edx, dword [ebp + 0xc]
add edx, 0x300
push edx
call fcn.006d6e00
add esp, 8
jmp 0x69608b
push 0x7cffc4
mov eax, dword [ebp + 0xc]
add eax, 0x300
push eax
call fcn.006d6e00
add esp, 8
push 0x7ad428
lea ecx, [ebp - 0x331c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x7ad43c
lea edx, [ebp - 0x151c]
push edx
call fcn.006d6ef0
add esp, 0x10
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x111c]
push ecx
lea edx, [ebp - 0x151c]
push edx
lea eax, [ebp - 0x1008]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x696126
cmp dword [ebp - 0x1014], 0
jbe 0x69610d
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x111c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x400
push eax
call fcn.006d6a60
add esp, 0xc
jmp 0x696124
push 0x7cffc8
mov ecx, dword [ebp + 0xc]
add ecx, 0x400
push ecx
call fcn.006d6e00
add esp, 8
jmp 0x69613d
push 0x7cffcc
mov edx, dword [ebp + 0xc]
add edx, 0x400
push edx
call fcn.006d6e00
add esp, 8
push 0x7ad444
lea ecx, [ebp - 0x371c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x7ad458
lea ecx, [ebp - 0x151c]
push ecx
call fcn.006d6ef0
add esp, 0x10
lea edx, [ebp - 0x1014]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x151c]
push ecx
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x6961d8
cmp dword [ebp - 0x1014], 0
jbe 0x6961c0
mov eax, dword [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x111c]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x500
push edx
call fcn.006d6a60
add esp, 0xc
jmp 0x6961d6
push 0x7cffd0
mov eax, dword [ebp + 0xc]
add eax, 0x500
push eax
call fcn.006d6e00
add esp, 8
jmp 0x6961ef
push 0x7cffd4
mov ecx, dword [ebp + 0xc]
add ecx, 0x500
push ecx
call fcn.006d6e00
add esp, 8
push 0x7ad460
lea ecx, [ebp - 0x3b1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x7ad474
lea eax, [ebp - 0x151c]
push eax
call fcn.006d6ef0
add esp, 0x10
lea ecx, [ebp - 0x1014]
push ecx
lea edx, [ebp - 0x111c]
push edx
lea eax, [ebp - 0x151c]
push eax
lea ecx, [ebp - 0x1008]
push ecx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x69628b
cmp dword [ebp - 0x1014], 0
jbe 0x696272
mov edx, dword [ebp - 0x1014]
push edx
mov eax, dword [ebp - 0x111c]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x600
push ecx
call fcn.006d6a60
add esp, 0xc
jmp 0x696289
push 0x7cffd8
mov edx, dword [ebp + 0xc]
add edx, 0x600
push edx
call fcn.006d6e00
add esp, 8
jmp 0x6962a1
push 0x7cffdc
mov eax, dword [ebp + 0xc]
add eax, 0x600
push eax
call fcn.006d6e00
add esp, 8
push 0x7ad47c
lea ecx, [ebp - 0x3f1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x7ad494
lea edx, [ebp - 0x151c]
push edx
call fcn.006d6ef0
add esp, 0x10
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x111c]
push ecx
lea edx, [ebp - 0x151c]
push edx
lea eax, [ebp - 0x1008]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x69633c
cmp dword [ebp - 0x1014], 0
jbe 0x696323
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x111c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x700
push eax
call fcn.006d6a60
add esp, 0xc
jmp 0x69633a
push 0x7cffe0
mov ecx, dword [ebp + 0xc]
add ecx, 0x700
push ecx
call fcn.006d6e00
add esp, 8
jmp 0x696353
push 0x7cffe4
mov edx, dword [ebp + 0xc]
add edx, 0x700
push edx
call fcn.006d6e00
add esp, 8
push 0x7ad49c
lea ecx, [ebp - 0x431c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x7ad4b0
lea ecx, [ebp - 0x151c]
push ecx
call fcn.006d6ef0
add esp, 0x10
lea edx, [ebp - 0x1014]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x151c]
push ecx
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x6963ee
cmp dword [ebp - 0x1014], 0
jbe 0x6963d6
mov eax, dword [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x111c]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x800
push edx
call fcn.006d6a60
add esp, 0xc
jmp 0x6963ec
push 0x7cffe8
mov eax, dword [ebp + 0xc]
add eax, 0x800
push eax
call fcn.006d6e00
add esp, 8
jmp 0x696405
push 0x7cffec
mov ecx, dword [ebp + 0xc]
add ecx, 0x800
push ecx
call fcn.006d6e00
add esp, 8
push 0x7ad4b8
lea ecx, [ebp - 0x471c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x7ad4c8
lea eax, [ebp - 0x151c]
push eax
call fcn.006d6ef0
add esp, 0x10
lea ecx, [ebp - 0x1014]
push ecx
lea edx, [ebp - 0x111c]
push edx
lea eax, [ebp - 0x151c]
push eax
lea ecx, [ebp - 0x1008]
push ecx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x6964a1
cmp dword [ebp - 0x1014], 0
jbe 0x696488
mov edx, dword [ebp - 0x1014]
push edx
mov eax, dword [ebp - 0x111c]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x900
push ecx
call fcn.006d6a60
add esp, 0xc
jmp 0x69649f
push 0x7cfff0
mov edx, dword [ebp + 0xc]
add edx, 0x900
push edx
call fcn.006d6e00
add esp, 8
jmp 0x6964b7
push 0x7cfff4
mov eax, dword [ebp + 0xc]
add eax, 0x900
push eax
call fcn.006d6e00
add esp, 8
push 0x7ad4d0
lea ecx, [ebp - 0x4b1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x7ad4e4
lea edx, [ebp - 0x151c]
push edx
call fcn.006d6ef0
add esp, 0x10
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x111c]
push ecx
lea edx, [ebp - 0x151c]
push edx
lea eax, [ebp - 0x1008]
push eax
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x696552
cmp dword [ebp - 0x1014], 0
jbe 0x696539
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp - 0x111c]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0xa00
push eax
call fcn.006d6a60
add esp, 0xc
jmp 0x696550
push 0x7cfff8
mov ecx, dword [ebp + 0xc]
add ecx, 0xa00
push ecx
call fcn.006d6e00
add esp, 8
jmp 0x696569
push 0x7cfffc
mov edx, dword [ebp + 0xc]
add edx, 0xa00
push edx
call fcn.006d6e00
add esp, 8
push 0x7ad4ec
lea ecx, [ebp - 0x4f1c]
call fcn.00686b30
mov ecx, eax
call fcn.00686b60
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x7ad500
lea ecx, [ebp - 0x151c]
push ecx
call fcn.006d6ef0
add esp, 0x10
lea edx, [ebp - 0x1014]
push edx
lea eax, [ebp - 0x111c]
push eax
lea ecx, [ebp - 0x151c]
push ecx
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x696604
cmp dword [ebp - 0x1014], 0
jbe 0x6965ec
mov eax, dword [ebp - 0x1014]
push eax
mov ecx, dword [ebp - 0x111c]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0xb00
push edx
call fcn.006d6a60
add esp, 0xc
jmp 0x696602
push 0x7d0000
mov eax, dword [ebp + 0xc]
add eax, 0xb00
push eax
call fcn.006d6e00
add esp, 8
jmp 0x69661b
push 0x7d0004
mov ecx, dword [ebp + 0xc]
add ecx, 0xb00
push ecx
call fcn.006d6e00
add esp, 8
mov eax, 1
jmp 0x696624
xor eax, eax
mov esp, ebp
pop ebp
ret