Function at 0x180275680
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
push rsi
push r14
sub rsp, 0x148
xor r14d, r14d
mov rsi, rcx
mov rcx, qword [rcx + 0x160]
cmp qword [0x180ae3d28], rcx
mov dword [rax + 8], r14d
mov qword [rax + 0x20], r14
mov dword [rax + 0x18], r14d
jne 0x1802756c6
mov eax, edx
lea rcx, [0x180ae3d30]
mov eax, dword [rcx + rax*4]
add rsp, 0x148
pop r14
pop rsi
ret
mov qword [rsp + 0x138], rbp
movzx ebp, cx
mov qword [0x180ae3d28], rcx
cmp dword [rsi + 0x1a0], r14d
je 0x18027570c
cmp ebp, 0x404
jne 0x18027570c
mov rbp, qword [rsp + 0x138]
mov eax, 0x7000404
mov qword [0x180ae3d30], 0x7000404
add rsp, 0x148
pop r14
pop rsi
ret
mov eax, 0xe0080404
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x130], rdi
cmp rcx, rax
je 0x180275752
mov eax, 0xe0090404
cmp rcx, rax
je 0x180275752
mov eax, 0xe00a0404
cmp rcx, rax
je 0x180275752
mov eax, 0xe00b0404
cmp rcx, rax
je 0x180275752
mov eax, 0xe00e0804
cmp rcx, rax
jne 0x18027596c
mov r8d, 0xff
lea rdx, [rsp + 0x30]
call sub.IMM32.dll_ImmGetIMEFileNameA
test eax, eax
je 0x18027596c
cmp qword [rsi + 0x170], r14
jne 0x18027596c
lea rax, str.TINTLGNT.IME
mov dword [rsp + 0x28], 0xffffffff
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov edx, 1
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x180275887
lea rax, str.CINTLGNT.IME
mov dword [rsp + 0x28], 0xffffffff
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov edx, 1
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x180275887
lea rax, str.MSTCIPHA.IME
mov dword [rsp + 0x28], 0xffffffff
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov edx, 1
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x180275887
lea rax, str.PINTLGNT.IME
mov dword [rsp + 0x28], 0xffffffff
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov edx, 1
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
je 0x180275887
lea rax, str.MSSCIPYA.IME
mov dword [rsp + 0x28], 0xffffffff
mov r9d, 0xffffffff
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x30]
mov edx, 1
mov ecx, 0x409
call qword [sym.imp.KERNEL32.dll_CompareStringA]
cmp eax, 2
jne 0x18027596c
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x30]
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov edi, eax
test eax, eax
je 0x18027596c
mov ecx, edi
call fcn.180256280
mov rbx, rax
test rax, rax
je 0x180275964
mov edx, dword [rsp + 0x160]
lea rcx, [rsp + 0x30]
mov r9, rax
mov r8d, edi
call sub.VERSION.dll_GetFileVersionInfoA
test eax, eax
je 0x180275964
lea r9, [rsp + 0x170]
mov rcx, rbx
lea r8, [rsp + 0x178]
lea rdx, [0x18041a198]
call sub.VERSION.dll_VerQueryValueA
test eax, eax
je 0x180275964
mov rdx, qword [rsp + 0x178]
mov eax, dword [rdx + 8]
movzx ecx, al
and eax, 0xffff0000
shl ecx, 8
or ecx, eax
shl ecx, 8
cmp qword [rsi + 0x170], r14
jne 0x1802759b8
cmp ebp, 0x404
jne 0x180275998
cmp ecx, 0x4020000
je 0x1802759b8
cmp ecx, 0x4030000
je 0x1802759b8
cmp ecx, 0x4040000
je 0x1802759b8
cmp ecx, 0x5000000
je 0x1802759b8
cmp ecx, 0x5010000
je 0x1802759b8
cmp ecx, 0x5020000
je 0x1802759b8
cmp ecx, 0x6000000
je 0x1802759b8
mov rcx, rbx
call fcn.180256250
mov qword [0x180ae3d30], r14
xor eax, eax
mov rbx, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x138]
add rsp, 0x148
pop r14
pop rsi
ret
cmp ebp, 0x804
jne 0x180275964
cmp ecx, 0x4010000
je 0x1802759b8
cmp ecx, 0x4020000
je 0x1802759b8
cmp ecx, 0x5030000
jne 0x180275964
mov eax, dword [rdx + 0xc]
or ecx, ebp
mov dword [0x180ae3d30], ecx
mov rcx, rbx
mov dword [0x180ae3d34], eax
call fcn.180256250
mov eax, dword [0x180ae3d30]
jmp 0x180275975