Function at 0x10008282
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x2dc
mov eax, dword [0x10274398]
xor eax, ebp
mov dword [ebp + 0x64], eax
mov ecx, dword [ebp + 0x70]
mov eax, dword [ebp + 0x78]
push ebx
mov ebx, dword [ebp + 0x7c]
push esi
xor esi, esi
push edi
mov dword [ebp - 0x26c], ecx
cmp ecx, esi
je 0x1000859a
cmp dword [ebp + 0x74], esi
je 0x1000859a
cmp eax, esi
je 0x1000859a
cmp word [eax], si
je 0x1000859a
push eax
lea eax, [ebp - 0x25c]
push 0x104
push eax
call fcn.100075c8
add esp, 0xc
mov dword [ebp - 0x268], esi
push 6
pop ecx
mov esi, 0x101f1e8c
lea edi, [ebp + 0x4c]
rep movsd dword es:[edi], dword [esi]
push 7
pop ecx
mov esi, 0x101f1e6c
lea edi, [ebp + 0x2c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor edi, edi
cmp ebx, edi
je 0x1000830f
cmp word [ebx], di
jne 0x10008312
lea ebx, [ebp + 0x4c]
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x25c]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0x264], eax
cmp eax, edi
jne 0x1000835d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, 0x714
je 0x10008356
push esi
lea eax, [ebp - 0x25c]
push eax
push str.AIL:GetFileVersionInfoSize__s__err_d
push 2
call fcn.101d1209
add esp, 0x10
mov eax, esi
jmp 0x1000859d
push eax
call fcn.101d2044
mov esi, eax
pop ecx
mov dword [ebp - 0x274], esi
lea eax, [ebp - 0x25c]
cmp esi, edi
jne 0x1000838f
push 8
push eax
push str.AIL:GetFileVersionInfo__s__malloc_err_d
push 2
call fcn.101d1209
add esp, 0x10
push 8
jmp 0x1000859c
push esi
push dword [ebp - 0x264]
push dword [ebp - 0x270]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x10008556
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x260]
push eax
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x10008422
cmp dword [ebp - 0x264], edi
je 0x10008422
mov eax, dword [ebp - 0x260]
movzx ecx, word [eax + 2]
movzx eax, word [eax]
push ebx
push ecx
push eax
push str.StringFileInfo_04hX_04hX_s
lea eax, [ebp - 0x54]
push 0x40
push eax
call fcn.1001d140
add esp, 0x18
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x54]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x10008422
cmp dword [ebp - 0x264], edi
je 0x10008422
cmp dword [ebp - 0x260], edi
jne 0x100084a2
push ebx
push str.StringFileInfo040904b0_s
lea eax, [ebp - 0x54]
push 0x40
push eax
call fcn.1001d140
add esp, 0x10
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x54]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x10008462
cmp dword [ebp - 0x264], edi
je 0x10008462
cmp dword [ebp - 0x260], edi
jne 0x100084a2
push ebx
push 0x101f1ce8
lea eax, [ebp - 0x54]
push 0x40
push eax
call fcn.1001d140
add esp, 0x10
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x54]
push eax
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x100084be
cmp dword [ebp - 0x264], edi
je 0x100084be
cmp dword [ebp - 0x260], edi
je 0x100084be
push dword [ebp - 0x260]
push dword [ebp + 0x74]
push dword [ebp - 0x26c]
call fcn.10016ac1
add esp, 0xc
jmp 0x10008562
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x260]
push eax
push 0x101f1ce4
push esi
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x1000854a
cmp dword [ebp - 0x264], edi
je 0x1000854a
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov esi, dword [ebp - 0x260]
lea eax, [ebp + 0x4c]
push eax
push ebx
call edi
test eax, eax
jne 0x1000850f
movzx eax, word [esi + 0xc]
push eax
movzx eax, word [esi + 0xe]
push eax
movzx eax, word [esi + 8]
push eax
movzx eax, word [esi + 0xa]
jmp 0x1000852d
lea eax, [ebp + 0x2c]
push eax
push ebx
call edi
test eax, eax
jne 0x10008548
movzx eax, word [esi + 0x14]
push eax
movzx eax, word [esi + 0x16]
push eax
movzx eax, word [esi + 0x10]
push eax
movzx eax, word [esi + 0x12]
push eax
push 0x101f1ccc
push dword [ebp + 0x74]
push dword [ebp - 0x26c]
call fcn.1001d140
add esp, 0x1c
xor edi, edi
jmp 0x10008562
xor edi, edi
mov dword [ebp - 0x268], 0x103
jmp 0x10008562
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x268], eax
push dword [ebp - 0x274]
call fcn.101d1bfb
pop ecx
cmp dword [ebp - 0x268], edi
je 0x10008592
push dword [ebp - 0x268]
lea eax, [ebp - 0x25c]
push eax
push str.AIL:GetFileVersionInfo__s__err_d
push 2
call fcn.101d1209
add esp, 0x10
mov eax, dword [ebp - 0x268]
jmp 0x1000859d
push 0x57
pop eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101d14d7
add ebp, 0x68
leave
ret