Function at 0x46deb0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x251c
call fcn.00473e00
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 0x46e83f
mov edx, dword [ebp + 8]
push edx
call fcn.00474580
add esp, 4
push eax
push 0x4e3d78
lea eax, [ebp - 0x1114]
push eax
call fcn.00473c05
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 0x46df4d
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.0046dc70
test eax, eax
jne 0x46df4d
xor eax, eax
jmp 0x46e841
mov dword [ebp - 0x1014], 4
lea eax, [ebp - 0x1014]
push eax
lea ecx, [ebp - 0x1010]
push ecx
push 0x4e3d84
lea ecx, [ebp - 0x181c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x1008]
push edx
call sub.version.dll_VerQueryValueA
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x100c], 0
je 0x46e83f
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 0x4e3da4
lea ecx, [ebp - 0x191c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x171c]
push ecx
call fcn.00473c05
add esp, 0x10
mov dword [ebp - 0x1014], 0
push 0x4e3dc4
lea ecx, [ebp - 0x1a1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x4e3dd4
lea eax, [ebp - 0x151c]
push eax
call fcn.00473c05
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 0x46e081
cmp dword [ebp - 0x1014], 0
jbe 0x46e06e
mov edx, dword [ebp - 0x1014]
push edx
mov eax, dword [ebp - 0x111c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004738d0
add esp, 0xc
jmp 0x46e07f
push 0x4f9d24
mov edx, dword [ebp + 0xc]
push edx
call fcn.00474490
add esp, 8
jmp 0x46e092
push 0x4f9d28
mov eax, dword [ebp + 0xc]
push eax
call fcn.00474490
add esp, 8
push 0x4e3ddc
lea ecx, [ebp - 0x1b1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x4e3dec
lea edx, [ebp - 0x151c]
push edx
call fcn.00473c05
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 0x46e12d
cmp dword [ebp - 0x1014], 0
jbe 0x46e114
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.004738d0
add esp, 0xc
jmp 0x46e12b
push 0x4f9d2c
mov ecx, dword [ebp + 0xc]
add ecx, 0x100
push ecx
call fcn.00474490
add esp, 8
jmp 0x46e144
push 0x4f9d30
mov edx, dword [ebp + 0xc]
add edx, 0x100
push edx
call fcn.00474490
add esp, 8
push 0x4e3df4
lea ecx, [ebp - 0x1c1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x4e3e08
lea ecx, [ebp - 0x151c]
push ecx
call fcn.00473c05
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 0x46e1df
cmp dword [ebp - 0x1014], 0
jbe 0x46e1c7
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.004738d0
add esp, 0xc
jmp 0x46e1dd
push 0x4f9d34
mov eax, dword [ebp + 0xc]
add eax, 0x200
push eax
call fcn.00474490
add esp, 8
jmp 0x46e1f6
push 0x4f9d38
mov ecx, dword [ebp + 0xc]
add ecx, 0x200
push ecx
call fcn.00474490
add esp, 8
push 0x4e3e10
lea ecx, [ebp - 0x1d1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x4e3e20
lea eax, [ebp - 0x151c]
push eax
call fcn.00473c05
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 0x46e292
cmp dword [ebp - 0x1014], 0
jbe 0x46e279
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.004738d0
add esp, 0xc
jmp 0x46e290
push 0x4f9d3c
mov edx, dword [ebp + 0xc]
add edx, 0x300
push edx
call fcn.00474490
add esp, 8
jmp 0x46e2a8
push 0x4f9d40
mov eax, dword [ebp + 0xc]
add eax, 0x300
push eax
call fcn.00474490
add esp, 8
push 0x4e3e28
lea ecx, [ebp - 0x1e1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x4e3e3c
lea edx, [ebp - 0x151c]
push edx
call fcn.00473c05
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 0x46e343
cmp dword [ebp - 0x1014], 0
jbe 0x46e32a
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.004738d0
add esp, 0xc
jmp 0x46e341
push 0x4f9d44
mov ecx, dword [ebp + 0xc]
add ecx, 0x400
push ecx
call fcn.00474490
add esp, 8
jmp 0x46e35a
push 0x4f9d48
mov edx, dword [ebp + 0xc]
add edx, 0x400
push edx
call fcn.00474490
add esp, 8
push 0x4e3e44
lea ecx, [ebp - 0x1f1c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x4e3e58
lea ecx, [ebp - 0x151c]
push ecx
call fcn.00473c05
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 0x46e3f5
cmp dword [ebp - 0x1014], 0
jbe 0x46e3dd
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.004738d0
add esp, 0xc
jmp 0x46e3f3
push 0x4f9d4c
mov eax, dword [ebp + 0xc]
add eax, 0x500
push eax
call fcn.00474490
add esp, 8
jmp 0x46e40c
push 0x4f9d50
mov ecx, dword [ebp + 0xc]
add ecx, 0x500
push ecx
call fcn.00474490
add esp, 8
push 0x4e3e60
lea ecx, [ebp - 0x201c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x4e3e74
lea eax, [ebp - 0x151c]
push eax
call fcn.00473c05
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 0x46e4a8
cmp dword [ebp - 0x1014], 0
jbe 0x46e48f
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.004738d0
add esp, 0xc
jmp 0x46e4a6
push 0x4f9d54
mov edx, dword [ebp + 0xc]
add edx, 0x600
push edx
call fcn.00474490
add esp, 8
jmp 0x46e4be
push 0x4f9d58
mov eax, dword [ebp + 0xc]
add eax, 0x600
push eax
call fcn.00474490
add esp, 8
push 0x4e3e7c
lea ecx, [ebp - 0x211c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x4e3e94
lea edx, [ebp - 0x151c]
push edx
call fcn.00473c05
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 0x46e559
cmp dword [ebp - 0x1014], 0
jbe 0x46e540
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.004738d0
add esp, 0xc
jmp 0x46e557
push 0x4f9d5c
mov ecx, dword [ebp + 0xc]
add ecx, 0x700
push ecx
call fcn.00474490
add esp, 8
jmp 0x46e570
push 0x4f9d60
mov edx, dword [ebp + 0xc]
add edx, 0x700
push edx
call fcn.00474490
add esp, 8
push 0x4e3e9c
lea ecx, [ebp - 0x221c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x4e3eb0
lea ecx, [ebp - 0x151c]
push ecx
call fcn.00473c05
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 0x46e60b
cmp dword [ebp - 0x1014], 0
jbe 0x46e5f3
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.004738d0
add esp, 0xc
jmp 0x46e609
push 0x4f9d64
mov eax, dword [ebp + 0xc]
add eax, 0x800
push eax
call fcn.00474490
add esp, 8
jmp 0x46e622
push 0x4f9d68
mov ecx, dword [ebp + 0xc]
add ecx, 0x800
push ecx
call fcn.00474490
add esp, 8
push 0x4e3eb8
lea ecx, [ebp - 0x231c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea edx, [ebp - 0x171c]
push edx
push 0x4e3ec8
lea eax, [ebp - 0x151c]
push eax
call fcn.00473c05
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 0x46e6be
cmp dword [ebp - 0x1014], 0
jbe 0x46e6a5
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.004738d0
add esp, 0xc
jmp 0x46e6bc
push 0x4f9d6c
mov edx, dword [ebp + 0xc]
add edx, 0x900
push edx
call fcn.00474490
add esp, 8
jmp 0x46e6d4
push 0x4f9d70
mov eax, dword [ebp + 0xc]
add eax, 0x900
push eax
call fcn.00474490
add esp, 8
push 0x4e3ed0
lea ecx, [ebp - 0x241c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea ecx, [ebp - 0x171c]
push ecx
push 0x4e3ee4
lea edx, [ebp - 0x151c]
push edx
call fcn.00473c05
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 0x46e76f
cmp dword [ebp - 0x1014], 0
jbe 0x46e756
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.004738d0
add esp, 0xc
jmp 0x46e76d
push 0x4f9d74
mov ecx, dword [ebp + 0xc]
add ecx, 0xa00
push ecx
call fcn.00474490
add esp, 8
jmp 0x46e786
push 0x4f9d78
mov edx, dword [ebp + 0xc]
add edx, 0xa00
push edx
call fcn.00474490
add esp, 8
push 0x4e3eec
lea ecx, [ebp - 0x251c]
call fcn.0046e850
mov ecx, eax
call fcn.0046e900
push eax
lea eax, [ebp - 0x171c]
push eax
push 0x4e3f00
lea ecx, [ebp - 0x151c]
push ecx
call fcn.00473c05
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 0x46e821
cmp dword [ebp - 0x1014], 0
jbe 0x46e809
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.004738d0
add esp, 0xc
jmp 0x46e81f
push 0x4f9d7c
mov eax, dword [ebp + 0xc]
add eax, 0xb00
push eax
call fcn.00474490
add esp, 8
jmp 0x46e838
push 0x4f9d80
mov ecx, dword [ebp + 0xc]
add ecx, 0xb00
push ecx
call fcn.00474490
add esp, 8
mov eax, 1
jmp 0x46e841
xor eax, eax
mov esp, ebp
pop ebp
ret 8