Function at 0x1000fd60
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
mov eax, dword [0x10061070]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x10059a98
lea ecx, [ebp - 0x134]
call fcn.10004bb0
mov byte [ebp - 0x135], 0
xor eax, eax
mov word [ebp - 0x104], ax
push 0xfe
push 0
lea ecx, [ebp - 0x102]
push ecx
call fcn.1002ef20
add esp, 0xc
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x13c], 0
push 0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jne 0x1000fddd
jmp 0x1000fff2
xor ecx, ecx
mov eax, dword [ebp - 0x144]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1002c5d8
add esp, 4
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x1000fe1c
jmp 0x1000fff2
mov ecx, dword [ebp - 0x13c]
push ecx
mov edx, dword [ebp - 0x144]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x1000fe43
mov byte [ebp - 0x136], 1
jmp 0x1000fe4a
mov byte [ebp - 0x136], 0
mov cl, byte [ebp - 0x136]
mov byte [ebp - 0x135], cl
movzx edx, byte [ebp - 0x135]
test edx, edx
jne 0x1000fe66
jmp 0x1000fff2
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x148]
push ecx
push str.VarFileInfoTranslation
mov edx, dword [ebp - 0x13c]
push edx
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1000fe93
mov byte [ebp - 0x137], 1
jmp 0x1000fe9a
mov byte [ebp - 0x137], 0
mov al, byte [ebp - 0x137]
mov byte [ebp - 0x135], al
movzx ecx, byte [ebp - 0x135]
test ecx, ecx
jne 0x1000feb6
jmp 0x1000fff2
mov dword [ebp - 0x140], 0
jmp 0x1000fed1
mov edx, dword [ebp - 0x140]
add edx, 1
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x154]
shr eax, 2
cmp dword [ebp - 0x140], eax
jae 0x1000fff2
lea ecx, [ebp - 0x11c]
call fcn.10012170
push 0x100
push 0
lea ecx, [ebp - 0x104]
push ecx
call fcn.1002ef20
add esp, 0xc
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + edx*4 + 2]
push ecx
mov edx, dword [ebp - 0x140]
mov eax, dword [ebp - 0x148]
movzx ecx, word [eax + edx*4]
push ecx
push str.StringFileInfo_04x_04x_
lea edx, [ebp - 0x104]
push edx
call fcn.10016a60
add esp, 0x10
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10011f70
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x11c]
call fcn.10011f50
lea edx, [ebp - 0x158]
push edx
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x11c]
call fcn.10004b20
push eax
mov ecx, dword [ebp - 0x13c]
push ecx
call dword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x1000ff96
mov byte [ebp - 0x138], 1
jmp 0x1000ff9d
mov byte [ebp - 0x138], 0
mov dl, byte [ebp - 0x138]
mov byte [ebp - 0x135], dl
movzx eax, byte [ebp - 0x135]
test eax, eax
je 0x1000ffe2
mov ecx, dword [ebp - 0x158]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.100370ce
add esp, 0xc
mov byte [ebp - 0x135], 1
lea ecx, [ebp - 0x11c]
call fcn.10004b60
jmp 0x1000fff2
lea ecx, [ebp - 0x11c]
call fcn.10004b60
jmp 0x1000fec2
cmp dword [ebp - 0x13c], 0
je 0x10010016
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x15c]
push edx
call fcn.1002bcff
add esp, 4
movzx eax, byte [ebp - 0x135]
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x134]
call fcn.10004b60
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002bcee
mov esp, ebp
pop ebp
ret 8