Function at 0x500520
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x390]
sub esp, 0x410
mov eax, dword [0x676890]
xor eax, ebp
mov dword [ebp + 0x38c], eax
mov ecx, dword [ebp + 0x398]
push ebx
push esi
push edi
cmp ecx, 2
jae 0x500739
mov eax, dword [0x6b7c5c]
cmp dword [0x6b84e0], eax
jne 0x500566
mov eax, dword [ecx*4 + 0x6b8490]
jmp 0x50073b
cmp byte [0x6b848b], 0
mov dword [0x6b84e0], eax
je 0x500597
mov ecx, 0x404
cmp ax, cx
jne 0x500597
mov eax, 0x7000404
mov dword [0x6b8490], eax
mov dword [0x6b8494], 0
jmp 0x50073b
cmp eax, 0xe0080404
je 0x5005cb
cmp eax, 0xe0090404
je 0x5005cb
cmp eax, 0xe00a0404
je 0x5005cb
cmp eax, 0xe00b0404
je 0x5005cb
cmp eax, 0xe00e0804
je 0x5005cb
xor eax, eax
mov dword [0x6b8494], eax
mov dword [0x6b8490], eax
jmp 0x500739
push 0x3ff
lea edx, [ebp - 0x74]
push edx
push eax
call sub.IMM32.dll_ImmGetIMEFileNameA
test eax, eax
je 0x5005ba
xor edi, edi
cmp dword [0x6b7c68], edi
jne 0x50067d
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 0x50067d
push 0xffffffffffffffff
push str.CINTLGNT.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
je 0x50067d
push 0xffffffffffffffff
push str.MSTCIPHA.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x74]
push edx
push 1
push 0x409
call esi
cmp eax, 2
je 0x50067d
push 0xffffffffffffffff
push str.PINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x74]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x50067d
push 0xffffffffffffffff
push str.MSSCIPYA.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
jne 0x50072d
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x74]
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
movzx ebx, word [0x6b7c5c]
mov esi, eax
cmp esi, edi
je 0x50072d
call fcn.005a3020
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 0x50072b
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x78]
push ecx
push 0x60d800
push edi
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x50072b
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 [0x6b7c68], 0
jne 0x50077c
mov ecx, 0x404
cmp bx, cx
jne 0x50075d
cmp eax, 0x4020000
je 0x50077c
cmp eax, 0x4030000
je 0x50077c
cmp eax, 0x4040000
je 0x50077c
cmp eax, 0x5000000
je 0x50077c
cmp eax, 0x5010000
je 0x50077c
cmp eax, 0x5020000
je 0x50077c
cmp eax, 0x6000000
je 0x50077c
xor edi, edi
mov dword [0x6b8490], edi
mov dword [0x6b8494], edi
xor eax, eax
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x38c]
xor ecx, ebp
call fcn.005a09eb
add ebp, 0x390
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x804
cmp bx, cx
jne 0x50072b
cmp eax, 0x4010000
je 0x50077c
cmp eax, 0x4020000
je 0x50077c
cmp eax, 0x5030000
jne 0x50072b
movzx ecx, bx
or ecx, eax
mov eax, dword [ebp + 0x398]
mov dword [0x6b8490], ecx
mov edx, dword [edx + 0xc]
mov dword [0x6b8494], edx
mov eax, dword [eax*4 + 0x6b8490]
jmp 0x50073b