Function at 0x1000d89e
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, dword [0x10247460]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x17c], edi
cmp eax, ebx
jne 0x1000d8d8
xor eax, eax
jmp 0x1000d9c1
push esi
mov esi, 0x103
push esi
lea eax, [ebp - 0x16b]
push ebx
push eax
mov byte [ebp - 0x16c], bl
call fcn.100971d0
push esi
push dword [ebp - 0x178]
lea eax, [ebp - 0x16c]
push eax
call fcn.10097f70
push 0x1e8
push ebx
push edi
call fcn.100971d0
add esp, 0x24
lea eax, [ebp - 0x184]
push eax
lea eax, [ebp - 0x16c]
push eax
mov dword [ebp - 0x184], ebx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x174], eax
cmp eax, ebx
je 0x1000d94a
push eax
call fcn.10063b52
mov esi, eax
pop ecx
mov dword [ebp - 0x178], esi
cmp esi, ebx
jne 0x1000d95b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + 8], eax
jmp 0x1000d9be
push dword [ebp - 0x174]
push ebx
push esi
call fcn.100971d0
add esp, 0xc
push esi
push dword [ebp - 0x174]
lea eax, [ebp - 0x16c]
push ebx
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
jne 0x1000d994
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + 8], eax
jmp 0x1000d9b7
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push 0x101e7170
push esi
mov dword [ebp - 0x170], ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x1000d9d1
push esi
call fcn.10063b5d
pop ecx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.100970b0
leave
ret 8
mov eax, dword [ebp - 0x170]
mov ecx, dword [eax + 8]
mov dword [edi], ecx
mov eax, dword [eax + 0xc]
mov dword [edi + 4], eax
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push str.VarFileInfoTranslation
push esi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x1000da0a
push esi
call fcn.10063b5d
pop ecx
mov eax, ebx
jmp 0x1000d9c0
mov eax, dword [ebp - 0x170]
movzx edi, word [eax]
movzx esi, word [eax + 2]
push 0x63
lea eax, [ebp - 0x67]
push ebx
push eax
mov byte [ebp - 0x68], bl
call fcn.100971d0
movzx esi, si
movzx edi, di
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e712c
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000da7a
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 8
push eax
call fcn.10097f70
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.100971d0
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e7108
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000dad6
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x148
push eax
call fcn.10097f70
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.100971d0
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e70e0
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000db32
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0xa8
push eax
call fcn.10097f70
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.100971d0
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e70b4
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000db8c
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x58
push eax
call fcn.10097f70
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.100971d0
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e7090
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000dbe8
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0xf8
push eax
call fcn.10097f70
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.100971d0
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e7068
push eax
call fcn.100991c5
add esp, 0x1c
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x178]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1000dc44
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x198
push eax
call fcn.10097f70
add esp, 0xc
mov esi, dword [ebp - 0x178]
xor ebx, ebx
inc ebx
jmp 0x1000d9ff