Function at 0x474bf0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c68c1
mov eax, dword fs:[0]
push eax
sub esp, 0x5cc
mov eax, dword [0x4fe37c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x208
lea eax, [ebp - 0x424]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call sub.PSAPI.DLL_GetModuleFileNameExW
test eax, eax
je 0x47512f
push 0
push 0xfde9
lea ecx, [ebp - 0x570]
call fcn.0040a290
mov dword [ebp - 0x5c4], eax
mov edx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x5c8]
mov ecx, dword [eax]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x424]
push edx
lea eax, [ebp - 0x58c]
push eax
call fcn.004bf860
add esp, 0x10
mov dword [ebp - 0x5cc], eax
push 0x4d3504
mov ecx, dword [ebp - 0x5cc]
push ecx
push 0x4d3508
mov edx, dword [ebp + 8]
push edx
call fcn.004156c0
add esp, 8
push eax
call fcn.00417320
add esp, 8
push eax
call fcn.004156c0
add esp, 8
lea ecx, [ebp - 0x58c]
call fcn.00406d00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x570]
call fcn.00439bd0
push 0xc
lea eax, [ebp - 0x438]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
call sub.PSAPI.DLL_GetModuleInformation
test eax, eax
je 0x474d75
push 0x4d3510
push 8
mov edx, dword [ebp - 0x434]
push edx
lea ecx, [ebp - 0x594]
call fcn.004114f0
push eax
push str.___________Image_Size:_______0x
push 0x4d3534
push 8
mov eax, dword [ebp - 0x438]
push eax
lea ecx, [ebp - 0x59c]
call fcn.004114f0
push eax
push str.___________Image_Base:_______0x
mov ecx, dword [ebp + 8]
push ecx
call fcn.004156c0
add esp, 8
push eax
call fcn.004743f0
add esp, 8
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.004743f0
add esp, 8
push eax
call fcn.004156c0
add esp, 8
lea edx, [ebp - 0x42c]
push edx
lea eax, [ebp - 0x424]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
jbe 0x47512f
mov ecx, dword [ebp - 0x428]
add ecx, 1
push ecx
call fcn.00442b2d
add esp, 4
mov dword [ebp - 0x5a0], eax
mov edx, dword [ebp - 0x5a0]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x43c]
push eax
mov ecx, dword [ebp - 0x428]
push ecx
mov edx, dword [ebp - 0x42c]
push edx
lea eax, [ebp - 0x424]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
mov dword [ebp - 0x44c], 0
lea ecx, [ebp - 0x450]
push ecx
lea edx, [ebp - 0x44c]
push edx
push 0x4d3558
mov eax, dword [ebp - 0x43c]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x474f7a
push 0x4d355c
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x14]
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x14]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x10]
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0x10]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
push str.___________Product_Version:
push 0x4d3580
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0xc]
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 0xc]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 8]
and edx, 0xffff
movzx eax, dx
push eax
push 0x2e
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ecx + 8]
shr edx, 0x10
and edx, 0xffff
movzx eax, dx
push eax
push str.___________File_Version:
mov ecx, dword [ebp + 8]
push ecx
call fcn.004156c0
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.00415470
add esp, 8
push eax
call fcn.0043c610
add esp, 8
push eax
call fcn.004156c0
add esp, 8
mov dword [ebp - 0x45c], 0x4d35a4
mov dword [ebp - 0x458], 0x4d35bc
mov dword [ebp - 0x454], 0x4d35dc
mov dword [ebp - 0x448], str.Company:
mov dword [ebp - 0x444], str.File_Description:
mov dword [ebp - 0x440], str.Product_Name:
mov dword [ebp - 0x460], 0
jmp 0x474fd1
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 3
jae 0x47512f
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x464]
push ecx
push str.VarFileInfoTranslation
mov edx, dword [ebp - 0x43c]
push edx
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x47512a
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp + eax*4 - 0x45c]
push ecx
mov edx, dword [ebp - 0x464]
mov eax, dword [edx]
shr eax, 0x10
and eax, 0xffff
movzx ecx, ax
push ecx
mov edx, dword [ebp - 0x464]
mov eax, dword [edx]
and eax, 0xffff
movzx ecx, ax
push ecx
push str.StringFileInfo_04x_04x_s
lea edx, [ebp - 0x56c]
push edx
call fcn.00409400
add esp, 0x14
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x468]
push ecx
lea edx, [ebp - 0x56c]
push edx
mov eax, dword [ebp - 0x43c]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x47512a
push 0
push 0xfde9
lea ecx, [ebp - 0x5a4]
call fcn.0040a290
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5d0]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x5d4]
mov eax, dword [edx]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x468]
push ecx
lea edx, [ebp - 0x5c0]
push edx
call fcn.004bf860
add esp, 0x10
mov dword [ebp - 0x5d8], eax
push 0x4d369c
mov eax, dword [ebp - 0x5d8]
push eax
mov ecx, dword [ebp - 0x460]
mov edx, dword [ebp + ecx*4 - 0x448]
push edx
push 0x4d36a0
mov eax, dword [ebp + 8]
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.004156c0
add esp, 8
push eax
call fcn.00417320
add esp, 8
push eax
call fcn.004156c0
add esp, 8
lea ecx, [ebp - 0x5c0]
call fcn.00406d00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5a4]
call fcn.00439bd0
jmp 0x474fc2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004443e3
mov esp, ebp
pop ebp
ret