Function at 0x524300
Capabilities:
Get file version info

Disassembly:
push ebp
lea ebp, [esp - 0x390]
sub esp, 0x410
mov eax, dword [0x6ac9e8]
xor eax, ebp
mov dword [ebp + 0x38c], eax
mov ecx, dword [ebp + 0x398]
push ebx
push esi
push edi
cmp ecx, 2
jae 0x524519
mov eax, dword [0x6eee94]
cmp dword [0x6ef718], eax
jne 0x524346
mov eax, dword [ecx*4 + 0x6ef6c8]
jmp 0x52451b
cmp byte [0x6ef6c3], 0
mov dword [0x6ef718], eax
je 0x524377
mov ecx, 0x404
cmp ax, cx
jne 0x524377
mov eax, 0x7000404
mov dword [0x6ef6c8], eax
mov dword [0x6ef6cc], 0
jmp 0x52451b
cmp eax, 0xe0080404
je 0x5243ab
cmp eax, 0xe0090404
je 0x5243ab
cmp eax, 0xe00a0404
je 0x5243ab
cmp eax, 0xe00b0404
je 0x5243ab
cmp eax, 0xe00e0804
je 0x5243ab
xor eax, eax
mov dword [0x6ef6cc], eax
mov dword [0x6ef6c8], eax
jmp 0x524519
push 0x3ff
lea edx, [ebp - 0x74]
push edx
push eax
call sub.imm32.dll_ImmGetIMEFileNameA
test eax, eax
je 0x52439a
xor edi, edi
cmp dword [0x6eeea0], edi
jne 0x52445d
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 0x52445d
push 0xffffffffffffffff
push str.CINTLGNT.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
je 0x52445d
push 0xffffffffffffffff
push str.MSTCIPHA.IME
push 0xffffffffffffffff
lea edx, [ebp - 0x74]
push edx
push 1
push 0x409
call esi
cmp eax, 2
je 0x52445d
push 0xffffffffffffffff
push str.PINTLGNT.IME
push 0xffffffffffffffff
lea eax, [ebp - 0x74]
push eax
push 1
push 0x409
call esi
cmp eax, 2
je 0x52445d
push 0xffffffffffffffff
push str.MSSCIPYA.IME
push 0xffffffffffffffff
lea ecx, [ebp - 0x74]
push ecx
push 1
push 0x409
call esi
cmp eax, 2
jne 0x52450d
lea edx, [ebp - 0x7c]
push edx
lea eax, [ebp - 0x74]
push eax
call sub.version.dll_GetFileVersionInfoSizeA
movzx ebx, word [0x6eee94]
mov esi, eax
cmp esi, edi
je 0x52450d
call fcn.005c8500
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 0x52450b
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x78]
push ecx
push 0x631208
push edi
call sub.version.dll_VerQueryValueA
test eax, eax
je 0x52450b
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 [0x6eeea0], 0
jne 0x52455c
mov ecx, 0x404
cmp bx, cx
jne 0x52453d
cmp eax, 0x4020000
je 0x52455c
cmp eax, 0x4030000
je 0x52455c
cmp eax, 0x4040000
je 0x52455c
cmp eax, 0x5000000
je 0x52455c
cmp eax, 0x5010000
je 0x52455c
cmp eax, 0x5020000
je 0x52455c
cmp eax, 0x6000000
je 0x52455c
xor edi, edi
mov dword [0x6ef6c8], edi
mov dword [0x6ef6cc], edi
xor eax, eax
lea esp, [ebp - 0x8c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x38c]
xor ecx, ebp
call fcn.005c5ea5
add ebp, 0x390
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x804
cmp bx, cx
jne 0x52450b
cmp eax, 0x4010000
je 0x52455c
cmp eax, 0x4020000
je 0x52455c
cmp eax, 0x5030000
jne 0x52450b
movzx ecx, bx
or ecx, eax
mov eax, dword [ebp + 0x398]
mov dword [0x6ef6c8], ecx
mov edx, dword [edx + 0xc]
mov dword [0x6ef6cc], edx
mov eax, dword [eax*4 + 0x6ef6c8]
jmp 0x52451b