Function at 0x180067070
Capabilities:
Log keystrokes via input method manager

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4e8]
sub rsp, 0x5b0
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
mov rax, qword [0x180110318]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov rdi, qword [rbp + 0x510]
lea eax, [rdx + 0x8f7]
mov r10, qword [rbp + 0x518]
xor r12d, r12d
mov dword [rsp + 0x70], r12d
cmp edx, eax
mov ebx, dword [rsp + 0x68]
mov r13d, edx
movss xmm13, dword [rsp + 0x68]
mov qword [rbp + 0x58], r8
mov r8, qword [rbp + 0x528]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x50], rcx
mov rcx, qword [rbp - 0x38]
mov dword [rbp - 0x80], ebx
mov qword [rsp + 0x78], r9
mov dword [rbp - 8], edx
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x20], r10
mov qword [rbp - 0x28], r8
jae 0x1800679b5
mov r14, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x38]
mov r15, qword [rbp - 0x38]
mov esi, dword [rsp + 0x68]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x48], rax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x68]
mov dword [rbp - 0x10], eax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x30], al
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x48], esi
mov qword [rsp + 0x60], r14
mov qword [rbp + 0x38], rdx
mov qword [rsp + 0x50], rcx
mov qword [rbp + 0x40], r15
movabs r11, 0x7fffffffffffffff
cmp r13d, 0x131
ja 0x180067326
je 0x180067311
lea eax, [r13 - 0x7b]
cmp eax, 0xb4
ja case.0x1800671cc.124
lea rdx, [0x180000000]
movzx eax, byte [rdx + rax + 0x687e4]
mov ecx, dword [rdx + rax*4 + 0x687c4]
add rcx, rdx
jmp rcx
movss xmm13, dword [0x18010b32c]
jmp case.0x1800671cc.124
cmp byte [0x180110499], 0
jne 0x18006721f
mov ecx, 0x4b
nop word [rax + rax]
mov eax, ecx
sub eax, 0x4b
je 0x180067214
sub eax, 0x7b
je 0x180067214
sub eax, 0x7b
je 0x18006720c
cmp eax, 0x7b
je 0x1800686e4
jmp 0x180067214
mov qword [rbp - 0x30], 0
add ecx, 0x7b
cmp ecx, 0x237
jb 0x1800671f0
call qword [0x180110470]
mov qword [rbp - 0x30], rax
jmp 0x1800673bf
lea rcx, [rbp + 0xf0]
lea r15, [rbp + 0x2ef]
mov qword [rsp + 0x58], rcx
mov qword [rbp + 0x38], r15
jmp 0x1800673c8
mov rax, qword [r9]
lea rdx, [rbp - 0x38]
xor r15d, r15d
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rcx, qword [rax + 8]
mov qword [rbp - 0x38], rcx
mov ecx, 0xeb
call fcn.18000ee60
mov qword [rsp + 0x60], rax
mov r14, rax
test rax, rax
jne 0x1800673bf
mov r14, qword [rsp + 0x78]
mov ebx, 0xea
nop dword [rax]
cmp ebx, 0xea
je 0x1800672a6
cmp ebx, 0x3a8
je 0x1800686e4
jmp 0x1800672cc
mov rax, qword [r14]
lea r8, [rbp]
mov r9d, 0x8e
mov qword [rsp + 0x20], r15
xor edx, edx
mov rcx, qword [rax + 0x10]
mov qword [rbp], rcx
xor ecx, ecx
call fcn.18002ad20
mov dword [rbp - 0x30], eax
add ebx, 0x2be
cmp ebx, 0x57c
jbe 0x180067290
mov ebx, dword [rbp - 0x80]
mov r14, qword [rsp + 0x60]
jmp 0x1800673bf
xor esi, esi
mov dword [rsp + 0x48], esi
jmp case.0x1800671cc.124
mov rcx, qword [rsp + 0x58]
mov r11b, 1
mov byte [rsp + 0x30], r11b
jmp 0x1800673ce
mov qword [rbp + 0x40], 0
jmp case.0x1800671cc.124
mov rcx, qword [rsp + 0x58]
movzx r11d, byte [rsp + 0x30]
mov byte [rsp + 0x40], 1
jmp 0x1800673d2
cmp r13d, 0x1ca
ja 0x1800678b7
je 0x180067897
mov eax, r13d
sub eax, 0x161
je 0x1800686e4
sub eax, 0x4a
je 0x1800673f5
cmp eax, 2
jne case.0x1800671cc.124
mov rax, qword [r9]
lea rdx, [0x180108570]
mov r9d, 0x96
mov qword [rbp - 0x58], rax
mov r8, r14
lea rcx, [rbp - 0x58]
call fcn.18003a680
mov esi, eax
test eax, eax
jne 0x1800679a6
mov rax, qword [rbp - 0x28]
lea r8, [rsp + 0x48]
xor r9d, r9d
mov qword [rbp - 0x58], r14
lea edx, [rsi + 0x45]
lea rcx, [rbp - 0x78]
movss xmm0, dword [rax]
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
movss dword [rsp + 0x48], xmm0
call fcn.18004e9e0
mov eax, dword [rax]
mov esi, eax
mov dword [rsp + 0x48], esi
mov r8, qword [rbp - 0x28]
mov rcx, qword [rsp + 0x58]
movzx r11d, byte [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov r10, qword [rsp + 0x50]
mov r9, qword [rsp + 0x78]
add r13d, 0x99
cmp r13d, eax
jae 0x180067a05
mov r10, qword [rbp + 0x20]
jmp 0x180067187
cmp qword [r9 + 0x10], 0x35
mov qword [rbp + 0x48], 0
jb case.0x1800671cc.124
mov r15d, 0xe6
nop word [rax + rax]
cmp r15d, 0x2ae
ja 0x180067829
je 0x1800676b5
mov eax, r15d
sub eax, 0xe6
je 0x180067871
sub eax, 0x72
je 0x1800675ad
sub eax, 0x72
je 0x1800675a0
cmp eax, 0x72
jne 0x180067871
mov rax, qword [r9 + 0x10]
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], 0
cmp rax, 0xb
jb 0x1800687b1
add rax, 0xfffffffffffffff5
mov edi, 6
cmp rax, rdi
cmovb rdi, rax
cmp qword [r9 + 0x18], 0x10
mov rax, r9
jb 0x180067486
mov rax, qword [r9]
lea r14, [rax + 0xb]
cmp rdi, 0xf
ja 0x1800674b0
mov r8, rdi
mov qword [rbp + 0x88], rdi
mov rdx, r14
lea rcx, [rbp + 0x78]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rdi + 0x78], 0
jmp 0x180067545
cmp rdi, r11
ja 0x1800687bd
mov rsi, rdi
or rsi, 0xf
cmp rsi, r11
jbe 0x1800674ca
mov rsi, r11
jmp 0x1800674d7
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180067510
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800687b7
mov rcx, rax
call fcn.18008fd28
test rax, rax
je 0x1800679ae
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180067521
test rcx, rcx
je 0x18006751f
call fcn.18008fd28
mov rbx, rax
jmp 0x180067521
xor ebx, ebx
mov r8, rdi
mov qword [rbp + 0x88], rdi
mov rdx, r14
mov qword [rbp + 0x90], rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
mov qword [rbp + 0x78], rbx
or r12d, 2
lea rcx, [0x1801100a8]
lea rdx, [rbp + 0x78]
call fcn.1800032c0
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x180067862
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180067596
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800679ae
call fcn.18008fd64
jmp 0x180067862
mov dword [rsp + 0x68], 0
jmp 0x180067871
mov ebx, 0xb
mov qword [rbp + 0x28], 0
cmp qword [r9 + 0x10], rbx
mov r14, r9
mov qword [rbp + 0x90], 0xf
cmovb rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0x10
mov byte [rbp + 0x78], 0
jb 0x1800675df
mov r14, qword [r9]
cmp rbx, 0xf
ja 0x180067610
mov r8, rbx
mov qword [rbp + 0x88], rbx
mov rdx, r14
lea rcx, [rbp + 0x78]
call sub.VCRUNTIME140.dll_memmove
or r12d, 4
mov byte [rbp + rbx + 0x78], 0
lea rcx, [0x180110088]
jmp 0x180067550
cmp rbx, r11
ja 0x1800687bd
mov rsi, rbx
or rsi, 0xf
cmp rsi, r11
jbe 0x18006762a
mov rsi, r11
jmp 0x180067637
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180067670
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800687b7
mov rcx, rax
call fcn.18008fd28
test rax, rax
je 0x1800679ae
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180067681
test rcx, rcx
je 0x18006767f
call fcn.18008fd28
mov rdi, rax
jmp 0x180067681
xor edi, edi
mov r8, rbx
mov qword [rbp + 0x88], rbx
mov rdx, r14
mov qword [rbp + 0x90], rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
or r12d, 4
mov byte [rdi + rbx], 0
lea rcx, [0x180110088]
mov qword [rbp + 0x78], rdi
jmp 0x180067550
mov rax, qword [r9 + 0x10]
mov qword [rbp + 0x90], 0xf
mov byte [rbp + 0x78], 0
cmp rax, 0x11
jb 0x1800687b1
add rax, 0xffffffffffffffef
mov edi, 0x24
cmp rax, rdi
cmovb rdi, rax
cmp qword [r9 + 0x18], 0x10
mov rax, r9
jb 0x1800676ef
mov rax, qword [r9]
lea r14, [rax + 0x11]
cmp rdi, 0xf
ja 0x180067719
mov r8, rdi
mov qword [rbp + 0x88], rdi
mov rdx, r14
lea rcx, [rbp + 0x78]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rdi + 0x78], 0
jmp 0x1800677ae
cmp rdi, r11
ja 0x1800687bd
mov rsi, rdi
or rsi, 0xf
cmp rsi, r11
jbe 0x180067733
mov rsi, r11
jmp 0x180067740
cmp rsi, 0x16
mov eax, 0x16
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180067779
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800687b7
mov rcx, rax
call fcn.18008fd28
test rax, rax
je 0x1800679ae
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18006778a
test rcx, rcx
je 0x180067788
call fcn.18008fd28
mov rbx, rax
jmp 0x18006778a
xor ebx, ebx
mov r8, rdi
mov qword [rbp + 0x88], rdi
mov rdx, r14
mov qword [rbp + 0x90], rsi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
mov qword [rbp + 0x78], rbx
lea rdx, [rbp + 0x78]
or r12d, 1
lea rcx, [0x180110068]
call fcn.1800032c0
mov rdx, qword [rbp + 0x90]
cmp rdx, 0x10
jb 0x180067800
mov rcx, qword [rbp + 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800677fb
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800679ae
call fcn.18008fd64
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xa0], xmm0
mov dword [rbp + 0xe0], eax
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
jmp 0x180067862
mov eax, r15d
sub eax, 0x320
je 0x180067871
sub eax, 0x72
je 0x18006784e
sub eax, 0x72
je 0x180067848
cmp eax, 0x72
je 0x1800686e4
jmp 0x180067871
mov byte [rbp - 0x30], 1
jmp 0x180067871
mov edx, dword [rsp + 0x68]
lea r8, [rbp + 0xa0]
mov rcx, qword [rbp + 0x28]
call sub.IMM32.dll_ImmGetRegisterWordStyleW
mov r9, qword [rsp + 0x78]
movabs r11, 0x7fffffffffffffff
add r15d, 0x72
cmp r15d, 0x4e8
jb 0x180067410
mov ebx, dword [rbp - 0x80]
mov esi, dword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rbp + 0x30]
jmp 0x1800673bf
mov rcx, qword [rsp + 0x58]
xor r10d, r10d
movzx r11d, byte [rsp + 0x30]
mov ebx, 0x80
mov qword [rsp + 0x50], r10
mov dword [rbp - 0x80], ebx
jmp 0x1800673d7
mov eax, r13d
sub eax, 0x244
je 0x18006799a
sub eax, 2
je 0x180067953
cmp eax, 0x99
jne case.0x1800671cc.124
movss xmm0, dword [r10 + 4]
lea rax, [rbp - 0x58]
xor r15d, r15d
mov qword [rsp + 0x28], rax
xor r9d, r9d
movss dword [rsp + 0x48], xmm0
lea r8, [rsp + 0x48]
mov qword [rbp - 0x58], r14
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x20], r15
lea edx, [r15 + 0x45]
call fcn.18004e9e0
movss xmm0, dword [rdi]
lea rcx, [rbp - 0x20]
movups xmm6, xmmword [rax]
lea rax, [rbp - 0x58]
movss dword [rsp + 0x48], xmm0
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x48]
mov edx, 0x45
mov qword [rsp + 0x20], r15
xor r9d, r9d
mov qword [rbp - 0x58], r14
call fcn.18004e9e0
mov ecx, dword [rax]
movd eax, xmm6
add ecx, eax
add esi, ecx
jmp 0x1800673bb
movss xmm0, dword [r8 + 4]
lea rax, [rbp - 0x58]
xor r15d, r15d
mov qword [rsp + 0x28], rax
xor r9d, r9d
movss dword [rsp + 0x48], xmm0
lea r8, [rsp + 0x48]
mov qword [rbp - 0x58], r14
lea rcx, [rbp - 0x48]
mov qword [rsp + 0x20], r15
lea edx, [r15 + 0x45]
call fcn.18004e9e0
lea rcx, [rbp - 0x68]
movups xmm6, xmmword [rax]
mov rax, qword [rbp + 0x20]
movss xmm0, dword [rax]
jmp 0x18006791a
mov dword [rbp - 0x10], 0
jmp case.0x1800671cc.124
mov dword [rbp - 0x30], esi
jmp 0x1800686e4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r8, qword [rbp - 0x38]
mov r10, qword [rbp - 0x38]
mov edx, dword [rsp + 0x68]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x48], rax
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x68]
movzx r11d, byte [rsp + 0x40]
mov dword [rbp - 0x10], eax
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x40], rax
mov dword [rsp + 0x48], edx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], r10
mov byte [rsp + 0x30], r11b
jmp 0x180067a0e
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x60]
mov r13d, dword [rbp - 8]
mov edi, r13d
movsd xmm3, qword [rbp - 0x78]
movsd xmm5, qword [rbp - 0x78]
movsd xmm0, qword [rbp - 0x78]
imul r12d, r13d, 0x4ce
movsd qword [rbp + 0x10], xmm3
movsd qword [rbp - 0x20], xmm5
mov dword [rsp + 0x70], r12d
cmp r13d, r12d
ja 0x180067f4c
mov eax, dword [rsp + 0x70]
movsd xmm1, qword [rbp - 0x78]
movsd xmm12, qword [rbp - 0x78]
movsd xmm8, qword [0x18010b300]
movsd xmm11, qword [0x18010b338]
movsd xmm9, qword [0x18010b348]
movsd xmm7, qword [0x18010b310]
movsd xmm10, qword [0x18010b320]
mov r13d, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x70]
movsd xmm6, qword [rbp - 0x78]
mov esi, dword [rsp + 0x70]
mov r14, qword [rbp - 0x78]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x78]
movsd qword [rbp - 0x48], xmm0
movsd xmm0, qword [rbp - 0x78]
mov qword [rbp], rax
movsd qword [rbp - 0x68], xmm1
movsd qword [rbp + 0x28], xmm0
movsd qword [rbp - 0x58], xmm12
nop dword [rax + rax]
cmp edi, 0x4f47
ja 0x180067ca0
je 0x1800686e4
cmp edi, 0x112
ja 0x180067bd2
je 0x180067b90
mov eax, edi
sub eax, 0x7b
je 0x180067b36
sub eax, 0x1b
je 0x180067b26
cmp eax, 2
jne 0x180067ef0
xor r8d, r8d
mov qword [rbp + 0x60], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov r9, qword [rsp + 0x78]
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov qword [r9 + 0x40], rax
jmp 0x180067ee6
mov rax, qword [r9]
mov rax, qword [rax + 0x58]
mov qword [rbp], rax
jmp 0x180067ef0
mov rax, qword [rbp + 0x30]
lea rcx, [rbp + 0x68]
xor r9d, r9d
mov qword [rbp - 0x78], r8
lea r8, [rsp + 0x68]
movss xmm0, dword [rax + 4]
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea edx, [r9 + 0x45]
mov qword [rsp + 0x20], 0
movss dword [rsp + 0x68], xmm0
call fcn.18004e9e0
mov edx, dword [rsp + 0x48]
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov eax, dword [rax]
add edx, eax
mov r9, qword [rsp + 0x78]
mov dword [rsp + 0x48], edx
jmp 0x180067eea
mov r9d, dword [rbp - 0x10]
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x28], rax
xor edx, edx
mov qword [rsp + 0x20], rax
mov ebx, eax
mov dword [rsp + 0x38], eax
call sub.IMM32.dll_ImmEnumRegisterWordA
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x48]
movzx r11d, byte [rsp + 0x30]
jmp 0x180067ef4
cmp edi, 0x27e1
je 0x180067c90
cmp edi, 0x30a2
je 0x180067c08
movsd xmm2, qword [rbp - 0x48]
movsd xmm4, qword [rbp - 0x68]
mov ebx, dword [rsp + 0x38]
cmp edi, 0x3148
jne 0x180067efe
xor r15d, r15d
jmp 0x180067efe
lea rax, [rbp - 0x50]
mov dword [rsp + 0x68], 0x200
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r8d, 2
mov byte [rbp - 0x50], 0
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x78]
call fcn.18003add0
mov rax, qword [rbp + 0x50]
movaps xmm2, xmm11
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov ebx, dword [rsp + 0x38]
movss xmm0, dword [rax]
mov rax, qword [rbp + 0x58]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x48]
movzx r11d, byte [rsp + 0x30]
addss xmm0, dword [rax]
cvtps2pd xmm1, xmm0
xorps xmm0, xmm0
mulsd xmm1, xmm8
cvtss2sd xmm0, xmm13
subsd xmm2, xmm1
divsd xmm2, xmm9
mulsd xmm2, xmm0
movsd qword [rbp - 0x48], xmm2
jmp 0x180067ef9
test edx, edx
jne 0x180067f20
mov dword [rbp - 0x30], edx
jmp 0x180067ef0
cmp edi, 0x92a8
ja 0x180067ddf
je 0x180067d5c
cmp edi, 0x60ae
je 0x180067d2e
cmp edi, 0x61f8
je 0x180067cf7
cmp edi, 0x90ba
jne 0x180067ef0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mov rax, qword [rbp + 0x30]
movaps xmm3, xmm0
movsd xmm5, qword [rbp - 0x20]
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
mulsd xmm3, xmm1
movsd qword [rbp + 0x10], xmm3
jmp 0x180067ee1
lea r9, [rbp + 0x60]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesEncodeIncrementalHandleCreate
mov rcx, qword [rsp + 0x50]
mov r9d, r15d
xor r8d, r8d
mov edx, ebx
mov r13d, eax
call sub.IMM32.dll_ImmGetCompositionStringA
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov dword [rbp + 8], eax
jmp 0x180067ee1
mov rax, qword [rbp + 0x50]
movss xmm0, dword [rax]
mov rax, qword [rbp + 0x58]
subss xmm0, dword [rax]
cvtps2pd xmm6, xmm0
xorps xmm0, xmm0
mulsd xmm6, xmm8
cvtss2sd xmm0, xmm13
divsd xmm6, xmm9
mulsd xmm6, xmm0
jmp 0x180067ef0
xor ecx, ecx
movzx eax, r11b
cmp dword [rbp + 8], ecx
cmovne ecx, eax
mov byte [rsp + 0x30], cl
movzx r11d, cl
test r13d, r13d
je 0x180067ef0
mov ebx, 0x6d
nop
cmp ebx, 0x6d
je 0x180067da6
cmp ebx, 0x375a
jne 0x180067dae
mov r8d, esi
lea rdx, [rbp + 0x2f0]
mov rcx, r14
call sub.IMM32.dll_ImmGetIMEFileNameA
mov byte [rsp + 0x40], 0
jmp 0x180067dae
xor r14d, r14d
mov esi, 0x104
add ebx, 0x36ed
cmp ebx, 0x6dda
jbe 0x180067d80
movzx r11d, byte [rsp + 0x30]
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x48]
mov byte [rsp + 0x30], r11b
jmp 0x180067ef0
cmp edi, 0xc0c6
je 0x180067ea5
cmp edi, 0xc358
je 0x180067e44
cmp edi, 0xf0d2
jne 0x180067ef0
mov rax, qword [rbp + 0x30]
movaps xmm4, xmm3
movsd xmm2, qword [rbp - 0x48]
mov ebx, dword [rsp + 0x38]
movsd qword [rbp + 0x28], xmm12
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
movaps xmm0, xmm1
subsd xmm1, xmm3
mulsd xmm0, xmm7
subsd xmm4, xmm0
movaps xmm0, xmm5
mulsd xmm0, xmm7
mulsd xmm4, xmm1
divsd xmm4, xmm0
movsd qword [rbp - 0x68], xmm4
jmp 0x180067efe
test r11b, r11b
je 0x180067ef0
mov r12d, dword [rbp - 0x80]
mov ebx, 0x62
mov eax, ebx
sub eax, 0x61
je 0x180067e68
cmp eax, 1
jne 0x180067e89
lea r12d, [rax + 0x11]
jmp 0x180067e89
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov edx, r12d
mov qword [rsp + 0x20], rax
mov rcx, r10
call sub.IMM32.dll_ImmSetCompositionStringA
mov r10, qword [rsp + 0x50]
dec ebx
cmp ebx, 0x60
ja 0x180067e56
movsd xmm3, qword [rbp + 0x10]
movsd xmm5, qword [rbp - 0x20]
mov dword [rbp - 0x80], r12d
mov r12d, dword [rsp + 0x70]
jmp 0x180067ee1
mov rax, qword [rbp + 0x30]
movaps xmm0, xmm6
movss xmm12, dword [rax]
cvtps2pd xmm12, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd xmm3, qword [rbp + 0x10]
movaps xmm5, xmm0
mulsd xmm5, xmm12
mulsd xmm12, xmm10
movsd qword [rbp - 0x20], xmm5
subsd xmm12, xmm3
divsd xmm12, xmm7
movsd qword [rbp - 0x58], xmm12
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0x48]
movzx r11d, byte [rsp + 0x30]
mov ebx, dword [rsp + 0x38]
movsd xmm2, qword [rbp - 0x48]
movsd xmm4, qword [rbp - 0x68]
imul eax, dword [rbp - 8], 0x52
add edi, eax
cmp edi, r12d
ja 0x180067f7d
mov ebx, dword [rbp - 0x80]
mov r10, qword [rsp + 0x50]
mov r8, qword [rsp + 0x60]
jmp 0x180067ac0
mov rax, qword [r8 + 0x10]
mov r9d, 0x8e
lea r8, [rbp - 0x78]
mov qword [rbp - 0x78], rax
xor edx, edx
mov qword [rsp + 0x20], 0
xor ecx, ecx
call fcn.18002ad20
mov dword [rbp - 0x30], eax
jmp 0x1800686e4
movsd xmm2, qword [rbp - 0x78]
movsd xmm4, qword [rbp - 0x78]
mov ebx, dword [rsp + 0x70]
mov r15, qword [rbp - 0x78]
movsd qword [rbp + 0x28], xmm0
movsd xmm0, qword [rbp - 0x78]
movsd qword [rbp - 0x58], xmm0
movsd qword [rbp - 0x48], xmm2
movsd qword [rbp - 0x68], xmm4
mov dword [rsp + 0x38], ebx
jmp 0x180067f8a
mov r15, qword [rbp]
mov rcx, qword [rsp + 0x58]
mov r13d, dword [rbp - 8]
movsd xmm13, qword [rbp - 0x78]
mov edi, r13d
mov r12, qword [rbp + 0x38]
movaps xmmword [rsp + 0x520], xmm14
movsd xmm14, qword [rbp - 0x78]
imul esi, r13d, 0x636
movaps xmmword [rsp + 0x510], xmm15
movsd xmm15, qword [rbp - 0x78]
cmp r13d, esi
ja 0x1800684cd
movsd xmm0, qword [rbp - 0x78]
mov r14, qword [rbp + 0x520]
movsd xmm12, qword [0x18010b3d0]
movsd xmm6, qword [rbp - 0x78]
movsd xmm11, qword [rbp - 0x78]
movsd xmm9, qword [rbp - 0x78]
movsd xmm7, qword [rbp - 0x78]
movsd xmm8, qword [rbp - 0x78]
movsd xmm10, qword [rbp - 0x78]
movsd qword [rsp + 0x60], xmm0
movsd xmm0, qword [rbp - 0x78]
movsd qword [rsp + 0x50], xmm0
jmp 0x18006801a
movsd xmm2, qword [rbp - 0x48]
movsd xmm3, qword [rbp + 0x10]
cmp edi, 0xbaea
ja 0x1800681b7
je 0x180068180
cmp edi, 0x3eb2
ja 0x1800680ff
je 0x1800680f2
mov eax, edi
sub eax, 0x96
je 0x1800680e1
sub eax, 2
je 0x18006807f
cmp eax, 0x7a
jne 0x1800684ac
mov rcx, qword [rbp + 0x48]
xor eax, eax
mov qword [rsp + 0x28], rax
mov r9d, ebx
xor r8d, r8d
mov qword [rsp + 0x20], rax
xor edx, edx
call sub.IMM32.dll_ImmEnumRegisterWordA
mov byte [rbp - 0x30], 0
jmp 0x18006849d
cmp byte [rsp + 0x40], 0
je 0x1800684ac
mov ebx, 0x15
nop
cmp ebx, 0x15
je 0x1800680b8
cmp ebx, 0x5d
jne 0x1800680cd
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x1800680a8
call sub.RPCRT4.dll_MesHandleFree
mov rcx, qword [rbp]
test rcx, rcx
je 0x1800680cd
call sub.RPCRT4.dll_MesHandleFree
jmp 0x1800680cd
lea r8, [rbp]
mov qword [rbp], 0
xor edx, edx
xor ecx, ecx
call sub.RPCRT4.dll_MesDecodeIncrementalHandleCreate
add ebx, 0x48
cmp ebx, 0xa5
jb 0x180068090
mov ebx, dword [rsp + 0x38]
jmp 0x18006849d
movaps xmm10, xmm4
movaps xmm11, xmm3
xorps xmm10, xmm12
jmp 0x1800684ac
movaps xmm9, xmm5
xorps xmm9, xmm12
jmp 0x1800684ac
cmp edi, 0x3f88
je 0x18006815a
cmp edi, 0x7286
je 0x1800686d2
cmp edi, 0x7cce
jne 0x1800684ac
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm7, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm7, qword [rbp + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rbp - 0x28]
movsd xmm5, qword [rbp - 0x20]
mulsd xmm0, xmm5
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
subsd xmm7, xmm0
addsd xmm7, xmm1
jmp 0x1800684a2
mov ecx, 4
nop
mov eax, ecx
sub eax, 3
je 0x1800686d2
cmp eax, 1
jne 0x180068179
cmp qword [r9 + 0x40], 0
setne byte [rbp - 0x30]
dec ecx
cmp ecx, 2
ja 0x180068160
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm6, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm6, qword [rbp - 0x20]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rbp + 0x20]
mulsd xmm0, qword [rbp + 0x10]
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
addsd xmm6, xmm0
addsd xmm6, xmm1
jmp 0x18006849d
cmp edi, 0x1b35a
ja 0x180068317
je 0x1800682bd
cmp edi, 0xf906
je 0x180068282
cmp edi, 0x13722
je 0x18006822d
cmp edi, 0x1753e
jne 0x1800684ac
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm15, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm15, qword [rbp - 0x58]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rbp - 0x28]
movsd xmm4, qword [rbp - 0x68]
movsd xmm5, qword [rbp - 0x20]
mulsd xmm0, xmm4
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
subsd xmm15, xmm0
addsd xmm15, xmm1
jmp 0x1800684a7
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
mulsd xmm0, xmm10
movsd qword [rsp + 0x50], xmm0
movsd xmm0, qword [rbp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd xmm3, qword [rsp + 0x50]
mov rax, qword [rbp + 0x20]
mulsd xmm0, qword [rbp + 0x28]
mov rcx, qword [rsp + 0x58]
movsd xmm4, qword [rbp - 0x68]
movss xmm1, dword [rax]
movsd xmm5, qword [rbp - 0x20]
cvtps2pd xmm1, xmm1
addsd xmm3, xmm0
addsd xmm3, xmm1
movsd qword [rsp + 0x50], xmm3
jmp 0x1800684b2
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm8, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm8, qword [rbp + 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rbp - 0x28]
mulsd xmm0, xmm10
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
subsd xmm8, xmm0
addsd xmm8, xmm1
jmp 0x18006849d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mulsd xmm0, qword [rbp - 0x58]
movsd qword [rsp + 0x60], xmm0
movsd xmm0, qword [rbp - 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movsd xmm2, qword [rsp + 0x60]
mov rax, qword [rbp + 0x20]
movsd xmm4, qword [rbp - 0x68]
movsd xmm3, qword [rsp + 0x50]
movsd xmm5, qword [rbp - 0x20]
movss xmm1, dword [rax]
mov rcx, qword [rsp + 0x58]
mulsd xmm0, xmm4
cvtps2pd xmm1, xmm1
addsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [rsp + 0x60], xmm2
jmp 0x1800684b8
cmp edi, 0x1f176
je 0x180068468
cmp edi, 0x22f92
je 0x18006836f
cmp edi, 0x26dae
jne 0x1800684ac
xorps xmm0, xmm0
lea r9, [rsp + 0x70]
cvtsd2ss xmm0, xmm8
mov r8d, 0x77
mov rdx, r12
movss dword [rsp + 0x70], xmm0
call fcn.18007eac0
movsd xmm4, qword [rbp - 0x68]
mov rcx, rax
movsd xmm5, qword [rbp - 0x20]
mov qword [rsp + 0x58], rax
jmp 0x1800684ac
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm14, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm14, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
cmp dword [r14], 0
mov rax, qword [rbp + 0x20]
mulsd xmm0, xmm11
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
addsd xmm14, xmm0
addsd xmm14, xmm1
jne 0x18006849d
mov r14, qword [rsp + 0x58]
mov ebx, 0x129
cmp ebx, 0x129
je 0x18006841e
cmp ebx, 0x1eb
je 0x180068415
cmp ebx, 0x2ad
je 0x180068403
cmp ebx, 0x36f
jne 0x180068444
cmp word [r15 + 0x58], 2
lea rax, [0x18010856c]
lea r8, [0x180108574]
mov r9d, 0x153
cmovne r8, rax
mov rdx, r14
mov rcx, r12
call fcn.18004d390
jmp 0x180068441
xorps xmm0, xmm0
lea r9, [rbp + 8]
cvtsd2ss xmm0, xmm6
movss dword [rbp + 8], xmm0
jmp 0x180068430
mov byte [r14], 0x20
inc r14
jmp 0x180068444
xorps xmm0, xmm0
lea r9, [rsp + 0x68]
cvtsd2ss xmm0, xmm7
movss dword [rsp + 0x68], xmm0
mov r8d, 0x77
mov rdx, r12
mov rcx, r14
call fcn.18007eac0
mov r14, rax
add ebx, 0xc2
cmp ebx, 0x431
jb 0x1800683b8
mov ebx, dword [rsp + 0x38]
mov qword [rsp + 0x58], r14
mov r14, qword [rbp + 0x520]
jmp 0x18006849d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
movaps xmm13, xmm0
movsd xmm0, qword [rbp - 0x48]
mulsd xmm13, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
mov rax, qword [rbp - 0x28]
mulsd xmm0, xmm9
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
subsd xmm13, xmm0
addsd xmm13, xmm1
movsd xmm5, qword [rbp - 0x20]
movsd xmm4, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x58]
movsd xmm3, qword [rsp + 0x50]
movsd xmm2, qword [rsp + 0x60]
mov r9, qword [rsp + 0x78]
imul eax, r13d, 0x6a
add edi, eax
cmp edi, esi
jbe 0x180068010
jmp 0x1800684e3
movsd xmm2, qword [rbp - 0x78]
movsd xmm3, qword [rbp - 0x78]
movsd qword [rsp + 0x60], xmm2
movsd qword [rsp + 0x50], xmm3
lea esi, [r13 + 0xa5f]
cmp r13d, esi
jae 0x1800686d2
mov ebx, dword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
nop dword [rax]
cmp r13d, 0x56d
ja 0x180068606
je 0x1800685ee
cmp r13d, 0x2a9
ja 0x18006858b
je 0x180068578
cmp r13d, 0x96
je 0x18006853d
cmp r13d, 0x147
je 0x18006854d
cmp r13d, 0x1f8
jne 0x1800686c2
mov byte [rcx], 0x20
inc rcx
mov qword [rsp + 0x58], rcx
jmp 0x1800686c2
xorps xmm0, xmm0
lea r9, [rbp - 8]
cvtsd2ss xmm0, xmm3
movss dword [rbp - 8], xmm0
mov r8d, 0x77
mov rdx, r12
call fcn.18007eac0
mov rcx, rax
mov qword [rsp + 0x58], rax
jmp 0x1800686b6
xorps xmm0, xmm0
lea r9, [rbp - 0x10]
cvtsd2ss xmm0, xmm15
movss dword [rbp - 0x10], xmm0
jmp 0x18006855d
cmp r13d, 0x35a
je 0x18006853d
cmp r13d, 0x40b
je 0x1800685da
cmp r13d, 0x4bc
jne 0x1800686c2
xorps xmm0, xmm0
lea r9, [rbp - 0x80]
cvtsd2ss xmm0, xmm13
movss dword [rbp - 0x80], xmm0
mov r8d, 0x77
mov rdx, r12
call fcn.18007eac0
lea rcx, [rax + 1]
mov byte [rax], 0x20
mov qword [rsp + 0x58], rcx
jmp 0x1800686b6
xorps xmm0, xmm0
lea r9, [rsp + 0x48]
cvtsd2ss xmm0, xmm2
movss dword [rsp + 0x48], xmm0
jmp 0x1800685bb
xorps xmm0, xmm0
lea r9, [rsp + 0x38]
cvtsd2ss xmm0, xmm14
movss dword [rsp + 0x38], xmm0
jmp 0x18006855d
cmp r13d, 0x831
ja 0x18006876a
je 0x180068757
cmp r13d, 0x61e
je 0x18006873a
cmp r13d, 0x6cf
je 0x18006864c
cmp r13d, 0x780
jne 0x1800686c2
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm13
movss dword [r15 + 0x30], xmm0
jmp 0x1800686c2
mov rax, qword [r15 + 0x68]
lea r8, [rbp - 0x78]
mov edx, 0x5b
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0xf0]
call fcn.180060140
mov rbx, rax
test eax, eax
je 0x1800686b1
mov edi, 0x2c
mov eax, edi
sub eax, 0x2b
je 0x1800686d2
cmp eax, 1
jne 0x1800686aa
mov rax, qword [r14]
xor r9d, r9d
xor edx, edx
mov r8d, 0x90
mov rcx, qword [rax + 0x10]
lea rax, [rbp - 0x38]
mov qword [rbp - 0x38], rcx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.18002e6b0
mov dword [rbp - 0x30], eax
dec edi
cmp edi, 0x2a
ja 0x180068675
mov rcx, qword [rsp + 0x58]
movsd xmm3, qword [rsp + 0x50]
movsd xmm2, qword [rsp + 0x60]
add r13d, 0xb1
cmp r13d, esi
jb 0x180068500
movaps xmm14, xmmword [rsp + 0x520]
movaps xmm15, xmmword [rsp + 0x510]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.180090270
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rcx
lea r8, [0x1801076fc]
mov rcx, r12
mov r9d, 0x153
call fcn.18004d390
jmp 0x1800686b1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm14
movss dword [r15 + 0x34], xmm0
jmp 0x1800686c2
cmp r13d, 0x8e2
je 0x180068796
cmp r13d, 0x993
je 0x18006878e
cmp r13d, 0xa44
je 0x1800686d2
jmp 0x1800686c2
mov dword [rbp - 0x30], ebx
jmp 0x1800686c2
movsd xmm0, qword [r15 + 0x30]
mov eax, 2
movsd qword [r15 + 0x28], xmm0
mov word [r15 + 0x58], ax
jmp 0x1800686c2
call fcn.18008cb30
int3
call fcn.18008c9b0
int3
call fcn.18008caf0
int3