Function at 0x56dd60
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x390]
sub esp, 0x410
mov eax, dword [0x70903c]
xor eax, ebp
mov dword [ebp + 0x38c], eax
mov ecx, dword [ebp + 0x398]
push ebx
push esi
push edi
cmp ecx, 2
jae 0x56df79
mov eax, dword [0x74cd0c]
cmp dword [0x74d590], eax
jne 0x56dda6
mov eax, dword [ecx*4 + 0x74d540]
jmp 0x56df7b
cmp byte [0x74d53b], 0
mov dword [0x74d590], eax
je 0x56ddd7
mov ecx, 0x404
cmp ax, cx
jne 0x56ddd7
mov eax, 0x7000404
mov dword [0x74d540], eax
mov dword [0x74d544], 0
jmp 0x56df7b
cmp eax, 0xe0080404
je 0x56de0b
cmp eax, 0xe0090404
je 0x56de0b
cmp eax, 0xe00a0404
je 0x56de0b
cmp eax, 0xe00b0404
je 0x56de0b
cmp eax, 0xe00e0804
je 0x56de0b
xor eax, eax
mov dword [0x74d544], eax
mov dword [0x74d540], eax
jmp 0x56df79
push 0x3ff
lea edx, [ebp - 0x74]
push edx
push eax
call sub.IMM32.dll_ImmGetIMEFileNameA
test eax, eax
je 0x56ddfa
xor edi, edi
cmp dword [0x74cd18], edi
jne 0x56debd
mov esi, dword [sym.imp.KERNEL32.dll_CompareStringA]
push 0xffffffffffffffff
push str.TINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x74]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x56debd
push 0xffffffffffffffff
push str.CINTLGNT.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
je 0x56debd
push 0xffffffffffffffff
push str.MSTCIPHA.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x74]
push edx
push 1
push 0x409
call esi
cmp eax, 2
je 0x56debd
push 0xffffffffffffffff
push str.PINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x74]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x56debd
push 0xffffffffffffffff
push str.MSSCIPYA.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
jne 0x56df6d
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x74]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
movzx ebx, word [0x74cd0c]
mov esi, eax
cmp esi, edi
je 0x56df6d
call fcn.006188e0
mov ecx, dword [ebp - 0x7c]
mov edi, esp
push edi
push esi
push ecx
lea edx, [ebp - 0x74]
push edx
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x56df6b
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x78]
push ecx
push 0x68d0e4
push edi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x56df6b
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 8]
movzx eax, cl
shl eax, 8
and ecx, 0xffff0000
or eax, ecx
shl eax, 8
cmp dword [0x74cd18], 0
jne 0x56dfbc
mov ecx, 0x404
cmp bx, cx
jne 0x56df9d
cmp eax, 0x4020000
je 0x56dfbc
cmp eax, 0x4030000
je 0x56dfbc
cmp eax, 0x4040000
je 0x56dfbc
cmp eax, 0x5000000
je 0x56dfbc
cmp eax, 0x5010000
je 0x56dfbc
cmp eax, 0x5020000
je 0x56dfbc
cmp eax, 0x6000000
je 0x56dfbc
xor edi, edi
mov dword [0x74d540], edi
mov dword [0x74d544], edi
xor eax, eax
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x38c]
xor ecx, ebp
call fcn.00613e6e
add ebp, 0x390
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x804
cmp bx, cx
jne 0x56df6b
cmp eax, 0x4010000
je 0x56dfbc
cmp eax, 0x4020000
je 0x56dfbc
cmp eax, 0x5030000
jne 0x56df6b
movzx ecx, bx
or ecx, eax
mov eax, dword [ebp + 0x398]
mov dword [0x74d540], ecx
mov edx, dword [edx + 0xc]
mov dword [0x74d544], edx
mov eax, dword [eax*4 + 0x74d540]
jmp 0x56df7b