Function at 0x1000d89c
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, dword [0x10244460]
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 0x1000d8d6
xor eax, eax
jmp 0x1000d9bf
push esi
mov esi, 0x103
push esi
lea eax, [ebp - 0x16b]
push ebx
push eax
mov byte [ebp - 0x16c], bl
call fcn.10096e70
push esi
push dword [ebp - 0x178]
lea eax, [ebp - 0x16c]
push eax
call fcn.10097c10
push 0x1e8
push ebx
push edi
call fcn.10096e70
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 0x1000d948
push eax
call fcn.100637ec
mov esi, eax
pop ecx
mov dword [ebp - 0x178], esi
cmp esi, ebx
jne 0x1000d959
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + 8], eax
jmp 0x1000d9bc
push dword [ebp - 0x174]
push ebx
push esi
call fcn.10096e70
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 0x1000d992
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + 8], eax
jmp 0x1000d9b5
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push 0x101e5198
push esi
mov dword [ebp - 0x170], ebx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x1000d9cf
push esi
call fcn.100637f7
pop ecx
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.10096d51
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 0x1000da08
push esi
call fcn.100637f7
pop ecx
mov eax, ebx
jmp 0x1000d9be
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.10096e70
movzx esi, si
movzx edi, di
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e5154
push eax
call fcn.10098e65
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 0x1000da78
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 8
push eax
call fcn.10097c10
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10096e70
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e5130
push eax
call fcn.10098e65
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 0x1000dad4
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x148
push eax
call fcn.10097c10
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10096e70
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e5108
push eax
call fcn.10098e65
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 0x1000db30
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0xa8
push eax
call fcn.10097c10
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10096e70
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e50dc
push eax
call fcn.10098e65
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 0x1000db8a
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x58
push eax
call fcn.10097c10
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10096e70
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e50b8
push eax
call fcn.10098e65
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 0x1000dbe6
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0xf8
push eax
call fcn.10097c10
add esp, 0xc
push 0x64
lea eax, [ebp - 0x68]
push ebx
push eax
call fcn.10096e70
push esi
push edi
lea eax, [ebp - 0x68]
push 0x101e5090
push eax
call fcn.10098e65
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 0x1000dc42
mov eax, dword [ebp - 0x17c]
push 0x4f
push dword [ebp - 0x170]
add eax, 0x198
push eax
call fcn.10097c10
add esp, 0xc
mov esi, dword [ebp - 0x178]
xor ebx, ebx
inc ebx
jmp 0x1000d9fd