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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
imul eax, ecx, 0x3f4
mov rbx, r9
mov rdi, r8
mov esi, ecx
mov r12d, ecx
mov dword [rsp + 0x74], eax
cmp ecx, eax
ja 0x1800371cc
mov r15, qword [rsp + 0x78]
mov r13d, dword [rsp + 0xd0]
nop dword [rax]
cmp r12d, 0x2422
ja 0x18003723d
je 0x180037223
mov eax, r12d
sub eax, 0x32
je 0x1800372db
sub eax, 0x30
je 0x180037215
sub eax, 0x74
je 0x1800371fe
sub eax, 0x1154
je 0x1800371e4
cmp eax, 0x1170
jne 0x180037451
xor edx, edx
mov dword [rsp + 0x64], 0x80
mov ecx, 0x114
call fcn.18004c2b0
test al, al
jne 0x180037449
mov rdx, rdi
mov ecx, 0x12
call fcn.18002e840
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x60]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test rdx, rdx
je 0x1800371ec
mov qword [rdx], r15
mov byte [r15 + 4], 1
mov dword [r15 + 8], 4
jmp 0x180037451
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
jmp 0x180037451
mov qword [rsp + 0x78], 0
jmp 0x180037451
mov r9, r15
mov r8, rdi
mov edx, 0x103
xor ecx, ecx
call fcn.180047ae0
mov r13d, eax
jmp 0x180037449
cmp r12d, 0x361a
je 0x180037411
cmp r12d, 0x46d2
je 0x180037407
cmp r12d, 0x4dbe
je 0x180037308
cmp r12d, 0x6a0a
je 0x180037284
cmp r12d, 0x9aa6
jne 0x180037451
mov eax, 1
jmp 0x1800371d0
mov ebx, 0x81
nop dword [rax]
mov eax, ebx
sub eax, 0x81
je 0x1800372a4
cmp eax, 1
je 0x1800371cc
jmp 0x1800372d1
mov r9d, dword [rsp + 0x70]
xor r8d, r8d
mov edx, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x78]
call sub.IMM32.dll_ImmGetCompositionStringW
xor r9d, r9d
mov r8d, 0x8d
mov rdx, rdi
xor ecx, ecx
call fcn.180024bc0
mov byte [rsp + 0x60], al
inc ebx
cmp ebx, 0x83
jb 0x180037290
test rdi, rdi
je 0x18003746f
mov edx, 0x28
lea ecx, [rdx - 0x27]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r15, rax
test rax, rax
jne 0x180037449
mov eax, 0xfffffffa
jmp 0x1800371d0
mov eax, dword [rdx]
lea rcx, [rsp + 0x68]
xor edx, edx
mov dword [rsp + 0x28], 0x8a
xor r9d, r9d
mov dword [rsp + 0x68], eax
mov r8, rdi
mov qword [rsp + 0x20], 0
call fcn.18004d280
lea rdx, [rbx + 0x10]
mov r9, rbx
lea rax, [rbx + 0x30]
lea rcx, [rbx + 0x20]
lea r14, [rbx + 0x38]
mov qword [rsp + 0x50], r14
lea rbp, [rbx + 0x28]
mov qword [rsp + 0x48], rax
lea rsi, [rbx + 0x18]
mov rax, qword [rsp + 0xd8]
lea rdi, [rbx + 8]
mov qword [rsp + 0x40], rbp
lea r8, str.HTTP_STATUS_PRECONDITION_FAILED
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rdx
mov edx, dword [rax]
mov qword [rsp + 0x20], rdi
call fcn.180069050
cmp eax, 8
je 0x1800373d0
mov ebx, 0xb6
nop dword [rax + rax]
mov eax, ebx
sub eax, 0xb5
je 0x1800371cc
cmp eax, 1
jne 0x1800373c6
lea rcx, str.Scrivi_su_disco...
call fcn.180068ee0
mov dword [rsp + 0x60], 0
dec ebx
cmp ebx, 0xb4
ja 0x1800373a0
cmp byte [rdi], 0x54
jne 0x180037480
cmp byte [rsi], 0x4d
jne 0x180037480
cmp byte [rbp], 0x4e
jne 0x180037480
cmp byte [r14], 0x4b
jne 0x180037480
mov rdi, qword [rsp + 0xe0]
mov esi, dword [rsp + 0xd0]
jmp 0x180037449
mov dword [rsp + 0x70], 0
jmp 0x180037451
mov ebx, 0x10a
mov eax, ebx
sub eax, 0x10a
je 0x18003742a
cmp eax, 0x58
je 0x1800371cc
jmp 0x18003743e
cmp r13d, 1
jge 0x180037439
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [rsp + 0x60], r13d
add ebx, 0x58
cmp ebx, 0x1ba
jb 0x180037416
mov rdx, qword [rsp + 0xd8]
imul eax, esi, 0x5c
add r12d, eax
cmp r12d, dword [rsp + 0x74]
ja 0x1800371cc
mov rbx, qword [rsp + 0xe8]
jmp 0x180037160
mov eax, 0xfffffff6
jmp 0x1800371d0
lea rcx, str.__0LevMarqSparse_cv__QAE_ABV01__Z
call fcn.180068ee0
xor eax, eax
jmp 0x1800371d0