Function at 0x1014a140
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
cmp esi, 2
jb 0x1014a166
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x14e4]
cmp dword [0x102ddab4], eax
je 0x1014a384
movzx ecx, ax
mov dword [0x102ddab4], eax
mov dword [ebp - 4], ecx
cmp dword [ebx + 0x1504], edi
je 0x1014a1ab
mov edx, 0x404
cmp ax, dx
jne 0x1014a1ab
mov dword [0x102ddabc], edi
mov eax, 0x7000404
pop edi
mov dword [0x102ddab8], eax
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 0xe0080404
je 0x1014a1d2
cmp eax, 0xe0090404
je 0x1014a1d2
cmp eax, 0xe00a0404
je 0x1014a1d2
cmp eax, 0xe00b0404
je 0x1014a1d2
cmp eax, 0xe00e0804
jne 0x1014a378
push 0xff
lea ecx, [ebp - 0x110]
push ecx
push eax
call sub.IMM32.dll_ImmGetIMEFileNameA
test eax, eax
je 0x1014a378
cmp dword [ebx + 0x14ec], edi
jne 0x1014a378
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0xffffffffffffffff
push str.TINTLGNT.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x110]
push edx
push 1
push 0x409
call esi
cmp eax, 2
je 0x1014a2b4
push 0xffffffffffffffff
push str.CINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x110]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x1014a2b4
push 0xffffffffffffffff
push str.MSTCIPHA.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x110]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
je 0x1014a2b4
push 0xffffffffffffffff
push str.PINTLGNT.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x110]
push edx
push 1
push 0x409
call esi
cmp eax, 2
je 0x1014a2b4
push 0xffffffffffffffff
push str.MSSCIPYA.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x110]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x1014a2b4
mov ecx, dword [ebp + 8]
mov dword [0x102ddabc], edi
mov dword [0x102ddab8], edi
mov eax, dword [ecx*4 + 0x102ddab8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x110]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, edi
je 0x1014a375
push esi
call fcn.10136e50
mov edi, eax
add esp, 4
test edi, edi
je 0x1014a36a
mov ecx, dword [ebp - 8]
push edi
push esi
push ecx
lea edx, [ebp - 0x110]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x1014a36a
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xc]
push ecx
push 0x10256da4
push edi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x1014a36a
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 8]
movzx eax, cl
shl eax, 8
and ecx, 0xffff0000
or eax, ecx
mov ecx, dword [ebp - 4]
shl eax, 8
cmp dword [ebx + 0x14ec], 0
jne 0x1014a3ae
cmp ecx, 0x404
jne 0x1014a391
cmp eax, 0x4020000
je 0x1014a3ae
cmp eax, 0x4030000
je 0x1014a3ae
cmp eax, 0x4040000
je 0x1014a3ae
cmp eax, 0x5000000
je 0x1014a3ae
cmp eax, 0x5010000
je 0x1014a3ae
cmp eax, 0x5020000
je 0x1014a3ae
cmp eax, 0x6000000
je 0x1014a3ae
push edi
call fcn.10136e80
add esp, 4
xor edi, edi
mov esi, dword [ebp + 8]
mov dword [0x102ddabc], edi
mov dword [0x102ddab8], edi
mov eax, dword [esi*4 + 0x102ddab8]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp ecx, 0x804
jne 0x1014a36a
cmp eax, 0x4010000
je 0x1014a3ae
cmp eax, 0x4020000
je 0x1014a3ae
cmp eax, 0x5030000
jne 0x1014a36a
or eax, ecx
mov dword [0x102ddab8], eax
mov edx, dword [edx + 0xc]
push edi
mov dword [0x102ddabc], edx
call fcn.10136e80
mov eax, dword [0x102ddab8]
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret