Function at 0x10063166
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x101f57c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, ecx
lea ecx, [ebp - 0x118]
push ecx
push eax
mov dword [ebp - 0x110], eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov ebx, eax
xor edi, edi
cmp ebx, edi
je 0x100634db
push ebx
call fcn.10001a71
pop ecx
push eax
push ebx
push dword [ebp - 0x118]
mov dword [ebp - 0x10c], eax
push dword [ebp - 0x110]
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x100634cf
push edi
push edi
push edi
push 0xffffffffffffffff
push 0x101eb5f8
call fcn.10001352
mov ebx, eax
add esp, 0x14
cmp ebx, edi
je 0x100634cf
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x108]
push eax
push ebx
push dword [ebp - 0x10c]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x10063336
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0xa]
push eax
push str.filemajorpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 8]
push eax
push str.fileminorpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0xe]
push eax
push str.filebuildpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0xc]
push eax
push str.fileprivatepart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0x12]
push eax
push str.productmajorpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0x10]
push eax
push str.productminorpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0x16]
push eax
push str.productbuildpart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
movzx eax, word [eax + 0x14]
push eax
push str.productprivatepart
call fcn.10062f96
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x1c]
and ecx, dword [eax + 0x18]
add esp, 0x40
and ecx, 1
push ecx
push str.isdebug
call fcn.10062fb2
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x1c]
and ecx, dword [eax + 0x18]
and ecx, 2
push ecx
push str.isprerelease
call fcn.10062fb2
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x1c]
and ecx, dword [eax + 0x18]
and ecx, 4
push ecx
push str.ispatched
call fcn.10062fb2
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x1c]
and ecx, dword [eax + 0x18]
and ecx, 8
push ecx
push str.isprivatebuild
call fcn.10062fb2
mov eax, dword [ebp - 0x108]
mov ecx, dword [eax + 0x1c]
and ecx, dword [eax + 0x18]
and ecx, 0x20
push ecx
push str.isspecialbuild
call fcn.10062fb2
add esp, 0x28
push ebx
call sym.mono.dll_g_free
push edi
push edi
push edi
push 0xffffffffffffffff
push str.VarFileInfoTranslation
call fcn.10001352
add esp, 0x18
mov dword [ebp - 0x110], eax
cmp eax, edi
je 0x100634cf
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x114]
push ecx
push eax
push dword [ebp - 0x10c]
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x100633f9
cmp dword [ebp - 0x11c], 4
jb 0x100634c3
mov ecx, dword [ebp - 0x114]
movzx eax, byte [ecx + 3]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
push 0x80
lea ecx, [ebp - 0x104]
movzx eax, ax
push ecx
push eax
call sub.KERNEL32.dll_VerLanguageNameW
cmp eax, edi
je 0x100633d9
push eax
lea eax, [ebp - 0x104]
push eax
push str.language
call fcn.10062f68
add esp, 0xc
mov eax, dword [ebp - 0x114]
movzx ecx, byte [eax + 1]
mov bl, byte [eax]
mov edi, dword [ebp - 0x10c]
push ecx
push esi
call fcn.1006304b
pop ecx
pop ecx
jmp 0x100634c3
push edi
mov ebx, 0x101a6288
push ebx
push str.comments
call fcn.10062f68
push edi
push ebx
push str.companyname
call fcn.10062f68
push edi
push ebx
push str.filedescription
call fcn.10062f68
push edi
push ebx
push str.fileversion
call fcn.10062f68
push edi
push ebx
push str.internalname
call fcn.10062f68
push edi
push ebx
push str.legalcopyright
call fcn.10062f68
add esp, 0x48
push edi
push ebx
push str.legaltrademarks
call fcn.10062f68
push edi
push ebx
push str.originalfilename
call fcn.10062f68
push edi
push ebx
push str.privatebuild
call fcn.10062f68
push edi
push ebx
push str.productname
call fcn.10062f68
push edi
push ebx
push str.productversion
call fcn.10062f68
push edi
push ebx
push str.specialbuild
call fcn.10062f68
add esp, 0x48
push 0x80
lea eax, [ebp - 0x104]
push eax
push 0x409
call sub.KERNEL32.dll_VerLanguageNameW
cmp eax, edi
je 0x100634c3
push eax
lea eax, [ebp - 0x104]
push eax
push str.language
call fcn.10062f68
add esp, 0xc
push dword [ebp - 0x110]
call sym.mono.dll_g_free
pop ecx
push dword [ebp - 0x10c]
call sym.mono.dll_g_free
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1011389e
leave
ret