Function at 0x6c9f6fc0
Capabilities:
Get file version info

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x12c
mov ebp, dword [eax + 0x14ec]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
cmp dword [reloc.GDI32.dll_CreateFontW], ebp
je 0x6c9f7042
mov ecx, dword [eax + 0x150c]
mov dword [reloc.GDI32.dll_CreateFontW], ebp
test ecx, ecx
jne 0x6c9f7054
cmp ebp, 0xe0080404
je 0x6c9f7080
cmp ebp, 0xe0090404
je 0x6c9f7080
cmp ebp, 0xe00a0404
setne cl
cmp ebp, 0xe00b0404
setne bl
test cl, bl
je 0x6c9f7080
cmp ebp, 0xe00e0804
je 0x6c9f7080
mov dword [reloc.GDI32.dll_CreateFontIndirectW], 0
mov dword [reloc.GDI32.dll_CreateDIBSection], 0
mov eax, dword [edx*4 + 0x6ca3f130]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp bp, 0x404
jne 0x6c9f7000
mov dword [reloc.GDI32.dll_CreateDIBSection], 0x7000404
mov eax, 0x7000404
mov dword [reloc.GDI32.dll_CreateFontIndirectW], 0
jmp 0x6c9f70c8
lea edi, [esp + 0x2c]
mov dword [esp + 8], 0xff
mov esi, edx
mov ebx, eax
mov dword [esp + 4], edi
mov dword [esp], ebp
call sub.IMM32.DLL_ImmGetIMEFileNameA
sub esp, 0xc
test eax, eax
je 0x6c9f70ad
mov eax, dword [ebx + 0x14f4]
test eax, eax
je 0x6c9f70d3
mov dword [reloc.GDI32.dll_CreateFontIndirectW], 0
mov dword [reloc.GDI32.dll_CreateDIBSection], 0
mov eax, dword [esi*4 + 0x6ca3f130]
add esp, 0x12c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [sym.imp.KERNEL32.dll_CompareStringA]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], str.TINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x409
mov dword [esp + 0x18], eax
call eax
sub esp, 0x18
cmp eax, 2
je 0x6c9f7201
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], str.CINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
sub esp, 0x18
cmp eax, 2
je 0x6c9f7201
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], str.MSTCIPHA.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
sub esp, 0x18
cmp eax, 2
je 0x6c9f7201
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], str.PINTLGNT.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
sub esp, 0x18
cmp eax, 2
je 0x6c9f7201
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], str.MSSCIPYA.IME
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], 0x409
call eax
sub esp, 0x18
cmp eax, 2
jne 0x6c9f70ad
lea eax, [esp + 0x20]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
sub esp, 8
test eax, eax
je 0x6c9f70ad
mov dword [esp], eax
mov dword [esp + 0x18], eax
call fcn.6c99ecd0
mov edx, eax
test eax, eax
je 0x6c9f7259
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.VERSION.dll_GetFileVersionInfoA
sub esp, 0x10
test eax, eax
mov edx, dword [esp + 0x1c]
jne 0x6c9f7266
mov dword [esp], edx
call fcn.6c99edc0
jmp 0x6c9f70ad
lea eax, [esp + 0x28]
mov dword [esp], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6ca36693
mov dword [esp + 0x18], edx
call sub.VERSION.dll_VerQueryValueA
sub esp, 0x10
test eax, eax
mov edx, dword [esp + 0x18]
je 0x6c9f7259
mov edi, dword [esp + 0x24]
movzx ecx, bp
mov ebx, dword [ebx + 0x14f4]
mov eax, dword [edi + 8]
mov ebp, eax
shl eax, 0x10
shl ebp, 8
and eax, 0xff0000
and ebp, 0xff000000
or eax, ebp
test ebx, ebx
jne 0x6c9f72e7
cmp ecx, 0x404
je 0x6c9f7309
cmp ecx, 0x804
jne 0x6c9f7259
lea ebx, [eax - 0x4010000]
and ebx, 0xfffe0000
je 0x6c9f72e7
cmp eax, 0x5030000
jne 0x6c9f7259
or ecx, eax
mov eax, dword [edi + 0xc]
mov dword [esp], edx
mov dword [reloc.GDI32.dll_CreateDIBSection], ecx
mov dword [reloc.GDI32.dll_CreateFontIndirectW], eax
call fcn.6c99edc0
mov eax, dword [reloc.GDI32.dll_CreateDIBSection]
jmp 0x6c9f70c8
mov ebx, eax
and ebx, 0xfffeffff
cmp ebx, 0x4020000
je 0x6c9f72e7
cmp eax, 0x4040000
je 0x6c9f72e7
cmp ebx, 0x5000000
je 0x6c9f72e7
cmp eax, 0x5020000
je 0x6c9f72e7
cmp eax, 0x6000000
jne 0x6c9f7259
jmp 0x6c9f72e7