Function at 0x6ca43b20
Capabilities:
Get file version info

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
push ebx
sub esp, 0x134
mov edx, dword [eax + 0x14ec]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
cmp dword [0x6cb1cc08], edx
je 0x6ca43bf8
mov ebx, eax
mov eax, dword [eax + 0x150c]
mov dword [0x6cb1cc08], edx
test eax, eax
jne 0x6ca43c10
cmp edx, 0xe0080404
je 0x6ca43bad
cmp edx, 0xe0090404
je 0x6ca43bad
cmp edx, 0xe00a0404
setne cl
cmp edx, 0xe00b0404
setne al
test cl, al
je 0x6ca43bad
cmp edx, 0xe00e0804
jne 0x6ca43be4
lea esi, [ebp - 0x110]
mov dword [esp], edx
mov dword [esp + 8], 0xff
mov dword [esp + 4], esi
mov dword [ebp - 0x120], edx
call sub.IMM32.DLL_ImmGetIMEFileNameA
mov edx, dword [ebp - 0x120]
sub esp, 0xc
test eax, eax
je 0x6ca43be4
mov eax, dword [ebx + 0x14f4]
test eax, eax
je 0x6ca43c38
mov dword [0x6cb1cc00], 0
mov dword [0x6cb1cc04], 0
mov eax, dword [edi*4 + 0x6cb1cc00]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret
cmp dx, 0x404
jne 0x6ca43b7f
mov eax, 0x7000404
xor edx, edx
mov dword [0x6cb1cc00], eax
mov eax, 0x7000404
mov dword [0x6cb1cc04], edx
jmp 0x6ca43bff
mov eax, dword [sym.imp.KERNEL32.dll_CompareStringA]
mov dword [ebp - 0x124], edx
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], str.TINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x409
mov dword [ebp - 0x120], eax
call eax
mov edx, dword [ebp - 0x124]
sub esp, 0x18
cmp eax, 2
je 0x6ca43da0
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x10], str.CINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
mov edx, dword [ebp - 0x124]
sub esp, 0x18
cmp eax, 2
je 0x6ca43da0
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x10], str.MSTCIPHA.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
mov edx, dword [ebp - 0x124]
sub esp, 0x18
cmp eax, 2
je 0x6ca43da0
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x10], str.PINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
mov edx, dword [ebp - 0x124]
sub esp, 0x18
cmp eax, 2
je 0x6ca43da0
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [ebp - 0x120]
mov dword [esp + 0x10], str.MSSCIPYA.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
mov edx, dword [ebp - 0x124]
sub esp, 0x18
cmp eax, 2
jne 0x6ca43be4
lea esi, [esi]
nop
lea eax, [ebp - 0x11c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x120], edx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edx, dword [ebp - 0x120]
sub esp, 8
test eax, eax
je 0x6ca43be4
mov dword [esp], eax
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x124], eax
call fcn.6c9d3a30
mov dword [ebp - 0x120], eax
test eax, eax
je 0x6ca43e14
mov dword [esp + 0xc], eax
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x11c]
mov dword [esp], esi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call sub.VERSION.dll_GetFileVersionInfoA
mov edx, dword [ebp - 0x128]
sub esp, 0x10
test eax, eax
jne 0x6ca43e27
mov eax, dword [ebp - 0x120]
mov dword [esp], eax
call fcn.6c9d3b40
jmp 0x6ca43be4
lea eax, [ebp - 0x114]
mov dword [esp + 4], 0x6ca96bd3
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x118]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x124], edx
mov dword [esp], eax
call sub.VERSION.dll_VerQueryValueA
sub esp, 0x10
test eax, eax
je 0x6ca43e14
mov esi, dword [ebp - 0x118]
mov edx, dword [ebp - 0x124]
mov eax, dword [esi + 8]
movzx edx, dx
shl eax, 8
and eax, 0xff000000
mov ecx, eax
mov eax, dword [esi + 8]
shl eax, 0x10
and eax, 0xff0000
or eax, ecx
mov ecx, dword [ebx + 0x14f4]
test ecx, ecx
jne 0x6ca43ebe
cmp edx, 0x404
je 0x6ca43ef5
cmp edx, 0x804
jne 0x6ca43e14
lea ebx, [eax - 0x4010000]
and ebx, 0xfffe0000
je 0x6ca43ebe
cmp eax, 0x5030000
jne 0x6ca43e14
or edx, eax
mov eax, dword [ebp - 0x120]
movss xmm1, dword [esi + 0xc]
mov dword [ebp - 0x124], edx
movss xmm0, dword [ebp - 0x124]
mov dword [esp], eax
unpcklps xmm0, xmm1
movlps qword [0x6cb1cc00], xmm0
call fcn.6c9d3b40
mov eax, dword [0x6cb1cc00]
jmp 0x6ca43bff
mov ebx, eax
and ebx, 0xfffeffff
cmp ebx, 0x4020000
je 0x6ca43ebe
cmp eax, 0x4040000
je 0x6ca43ebe
cmp ebx, 0x5000000
je 0x6ca43ebe
cmp eax, 0x5020000
je 0x6ca43ebe
cmp eax, 0x6000000
jne 0x6ca43e14
jmp 0x6ca43ebe