Function at 0x10051430
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x1013dd8c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x218], 0
mov byte [ebp - 0x108], 0
push 0x103
push 0
lea eax, [ebp - 0x107]
push eax
call fcn.100a57f0
add esp, 0xc
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x230], 4
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x220], 0
mov byte [ebp - 0x20c], 0
push 0x103
push 0
lea ecx, [ebp - 0x20b]
push ecx
call fcn.100a57f0
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
call fcn.100a9980
add esp, 4
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 4
jbe 0x10051507
push 0x100e9770
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + eax - 4]
push edx
call fcn.100adfd8
add esp, 8
test eax, eax
je 0x1005150e
xor eax, eax
jmp 0x100516d8
push str.ntoskrnl.exe
mov eax, dword [ebp + 0xc]
push eax
call fcn.100adfd8
add esp, 8
test eax, eax
je 0x1005154d
push str.ntkrnlpa.exe
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.100adfd8
add esp, 8
test eax, eax
je 0x1005154d
push str.ntkrnlmp.exe
mov edx, dword [ebp + 0xc]
push edx
call fcn.100adfd8
add esp, 8
test eax, eax
jne 0x10051554
xor eax, eax
jmp 0x100516d8
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0x100e97a8
push 0x103
lea edx, [ebp - 0x108]
push edx
call fcn.1004db60
add esp, 0x14
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x108]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
ja 0x1005159e
xor eax, eax
jmp 0x100516d8
push 1
mov edx, dword [ebp - 0x214]
push edx
call fcn.100adf4a
add esp, 8
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0
jne 0x100515c5
xor eax, eax
jmp 0x100516d8
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
lea eax, [ebp - 0x108]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
jne 0x100515f4
jmp 0x100516c3
lea ecx, [ebp - 0x220]
push ecx
lea edx, [ebp - 0x224]
push edx
push str.VarFileInfoTranslation
mov eax, dword [ebp - 0x210]
push eax
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x10051621
jmp 0x100516c3
cmp dword [ebp - 0x220], 4
jae 0x10051634
jmp 0x100516c3
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x224]
movzx ecx, word [eax + edx + 2]
push ecx
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x224]
movzx edx, word [ecx + eax]
push edx
push str.StringFileInfo_04x_04xCompanyName
push 0x103
lea eax, [ebp - 0x20c]
push eax
call fcn.1004db60
add esp, 0x14
lea ecx, [ebp - 0x230]
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
call sub.VERSION.dll_VerQueryValueA
test eax, eax
jne 0x1005169d
jmp 0x100516c3
push str.Microsoft_Corporation
mov edx, dword [ebp - 0x228]
push edx
call fcn.100adfd8
add esp, 8
test eax, eax
je 0x100516b9
jmp 0x100516c3
mov dword [ebp - 0x22c], 1
mov eax, dword [ebp - 0x210]
push eax
call fcn.100a9867
add esp, 4
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10065961
mov esp, ebp
pop ebp
ret