Function at 0x403523
Capabilities:
Get file version info

Disassembly:
push ebx
mov edx, 7
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x403529
call fcn.00451930
push dword [esp + 0x28]
call fcn.00429210
mov edx, dword [esp + 0x24]
lea ecx, [esp]
call fcn.00429060
push 0
mov eax, dword [esp + 4]
push eax
call sub.VERSION.DLL_GetFileVersionInfoSizeW
mov dword [esp + 4], eax
mov ebx, dword [esp + 4]
cmp ebx, 1
jge 0x40358e
mov edx, 0x4e8040
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.00451890
pop eax
push eax
call fcn.004291e0
pop edx
add eax, edx
jmp 0x4037e2
push dword [esp + 4]
call fcn.00450580
mov dword [esp + 0xc], eax
push dword [esp + 0xc]
push dword [esp + 8]
push 0
mov eax, dword [esp + 0xc]
push eax
call sub.VERSION.DLL_GetFileVersionInfoW
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x14]
push eax
push dword [0x6fe398]
push dword [esp + 0x18]
call sub.VERSION.DLL_VerQueryValueW
cmp dword [esp + 0x10], 0
je 0x4037aa
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [0x6fe394]
push 4
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [esp + 0x28]
pop eax
call fcn.00429190
cdq
push edx
push eax
call fcn.0044f320
call fcn.004291f2
add dword [esp], edx
call fcn.0044f3a0
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [0x6fe394]
push 4
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
mov ebx, dword [esp + 0x2c]
add ebx, 2
push ebx
pop eax
call fcn.00429190
cdq
push edx
push eax
call fcn.0044f320
call fcn.004291f2
add dword [esp], edx
call fcn.0044f3a0
pop eax
lea eax, [esp + 0x18]
push eax
call fcn.00451800
push edx
call fcn.004517c0
pop edx
push eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x18]
push eax
mov edx, dword [0x6fe38c]
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.00451890
mov edx, dword [esp + 0x24]
push edx
call fcn.00451890
mov edx, 0x4e8d4c
push edx
call fcn.00451890
call fcn.00451990
push dword [esp + 0x1c]
call fcn.004291f2
add dword [esp + 4], edx
call sub.VERSION.DLL_VerQueryValueW
call fcn.00429210
and eax, eax
je 0x403719
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [esp + 0x20]
call fcn.004505a0
call fcn.004291f2
add dword [esp], edx
call fcn.0044f560
lea eax, [esp + 0x1c]
push eax
call fcn.00451800
jmp 0x4037aa
push edx
call fcn.004517c0
pop edx
push eax
lea eax, [esp + 0xc]
push eax
lea eax, [esp + 0x18]
push eax
mov edx, dword [0x6fe390]
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.00451890
mov edx, 0x4ed874
push edx
call fcn.00451890
call fcn.00451990
push dword [esp + 0x1c]
call fcn.004291f2
add dword [esp + 4], edx
call sub.VERSION.DLL_VerQueryValueW
call fcn.00429210
and eax, eax
je 0x4037aa
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [esp + 0x20]
call fcn.004505a0
call fcn.004291f2
add dword [esp], edx
call fcn.0044f560
lea eax, [esp + 0x1c]
push eax
call fcn.00451800
push dword [esp + 0xc]
call fcn.004505f0
push edx
call fcn.004517c0
pop edx
push eax
push edx
call fcn.004517c0
pop edx
push eax
push dword [esp + 0x20]
call fcn.0044f560
pop eax
push eax
call fcn.004291e0
pop edx
add eax, edx
jmp 0x4037e2
push dword [esp + 0x14]
call fcn.004519f0
push dword [esp]
call fcn.004519f0
push dword [esp + 0x18]
call fcn.004519f0
add esp, 0x1c
pop ebx
ret 4