Function at 0x1800087b5
Capabilities:
Encrypt data using speck
Log keystrokes via polling

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0x68], 0
rcl al, 0xa7
sar al, cl
inc al
mov al, byte [0x1800050b8]
and al, 1
movzx eax, al
cmp eax, 0
jmp 0x1800087df
jne 0x1800088ec
movabs rax, 0x14005e650
mov qword [rsp + 0x58], rax
bswap cx
xchg cl, ch
movsx cx, sil
mov rcx, qword [rsp + 0x58]
jmp 0x180008808
call fcn.1800093a8
movzx eax, al
cmp r9w, ax
test r10b, r14b
cmp eax, 0xe8
jmp 0x180008821
jne 0x1800088e7
mov rax, qword [rsp + 0x58]
adc cl, r12b
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x58]
jmp 0x18000883e
add rcx, 1
jmp 0x180008847
call fcn.1800093d9
mov rcx, qword [rsp + 0x28]
stc
clc
jmp 0x180008858
cdqe
cmp r8w, r11w
add rcx, rax
cmp esi, 0x259d6333
cmp r9b, spl
test r12, rbx
add rcx, 5
cmp r11w, 0xf39a
add rcx, 0x47
call fcn.180008704
mov rcx, rax
add rcx, 0x18
call fcn.180008704
mov rcx, rax
jmp 0x180008894
call fcn.180008704
mov rcx, rax
stc
add rcx, 0x20
jmp 0x1800088a6
call fcn.180008704
sub rax, 0x402
cmova dx, r13w
mov qword [rsp + 0x50], rax
movsx cx, r10b
mov rcx, qword [rsp + 0x50]
movzx edx, r10w
jmp 0x1800088d1
mov edx, 0x81
jmp 0x1800088db
call fcn.1800093ef
mov byte [0x1800050b8], 1
jmp 0x1800088ec
mov ecx, 0x12
jmp 0x1800088f6
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
clc
test r10b, 6
cmc
cmp eax, 0
je 0x180008ad8
mov ecx, 0x4c
jmp 0x18000891b
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp r11w, bx
stc
and eax, 1
cmp sil, r15b
stc
cmp eax, 0
jmp 0x180008936
je 0x180008966
mov al, byte [0x180005130]
xor al, 0xff
movzx cx, r15b
bts ecx, r12d
and al, 1
movsx ecx, r10w
movsx rcx, r8w
mov byte [0x180005130], al
not ecx
mov cl, r13b
movsx rcx, r8w
mov ecx, 0x4d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmc
cmp r10, r15
and eax, 1
cmp r11b, 0x30
cmp eax, 0
jmp 0x180008985
je 0x1800089b2
mov al, byte [0x180005131]
sub cx, r11w
btr cx, 0x2f
xor al, 0xff
shrd ecx, ebp, 0
mov ecx, r12d
and al, 1
mov byte [0x180005131], al
cmovo cx, bp
bswap cx
mov ecx, 0x46
jmp 0x1800089bc
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test bpl, 0x84
and eax, 1
jmp 0x1800089d0
cmp eax, 0
jmp 0x1800089d8
je 0x180008a0a
mov al, byte [0x180005132]
xor al, 0xff
rcl rcx, cl
xor cx, sp
rcr cx, cl
and al, 1
movsx ecx, cx
movzx ecx, r13w
not cx
mov byte [0x180005132], al
movzx rcx, r8w
movsxd rcx, ebx
bswap ecx
mov ecx, 0x50
jmp 0x180008a14
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
stc
cmc
clc
and eax, 1
jmp 0x180008a26
cmp eax, 0
jmp 0x180008a2e
je 0x180008ad3
mov eax, dword [section..data]
add eax, 1
mov dword [section..data], eax
xchg al, al
cmp dword [section..data], 1
sete al
stc
and al, 1
test r13w, 0x2c93
jmp 0x180008a5d
mov byte [0x180005004], al
test r13, r14
cmp dword [section..data], 2
sete al
test r10b, 0x95
cmp dx, 0x8aa7
cmc
and al, 1
stc
mov byte [0x180005133], al
sub al, 0x37
cmp dword [section..data], 3
not al
sete al
and al, 1
mov byte [0x180005134], al
cmp dword [section..data], 4
not al
sete al
and al, 1
mov byte [0x180005135], al
cmp dword [section..data], 4
jmp 0x180008ab9
jl 0x180008ace
mov dword [section..data], 0
jmp 0x180008ace
jmp 0x180008ad3
jmp 0x180008ad8
mov rcx, qword [0x1800050e8]
jmp 0x180008ae4
call fcn.1800093d9
cmp eax, 1
jmp 0x180008af1
jne 0x18000939b
mov al, byte [0x180005130]
stc
and al, 1
test cl, 0xa0
cmp rsp, 0x540ff592
movzx eax, al
jmp 0x180008b13
cmp eax, 1
jmp 0x180008b1b
jne 0x180008b34
mov rcx, qword [0x180005100]
xor edx, edx
jmp 0x180008b2f
call fcn.180009437
mov rcx, qword [0x180005110]
jmp 0x180008b40
call fcn.180009477
movss dword [rsp + 0xcc], xmm0
bswap cx
mov rcx, qword [0x180005110]
jmp 0x180008b64
add rcx, 4
jmp 0x180008b6d
call fcn.180009477
movss dword [rsp + 0xd4], xmm0
and cx, 0x222f
clc
or cx, ax
mov rcx, qword [0x180005110]
cmp r12b, r11b
add rcx, 8
jmp 0x180008b97
call fcn.180009477
movss dword [rsp + 0xd0], xmm0
mov rcx, qword [0x180005118]
clc
add rcx, 8
jmp 0x180008bb6
call fcn.1800093d9
mov dword [rsp + 0xc8], eax
add cx, 0xc1b3
rol ch, 0x36
rcr ch, 0x9e
mov rcx, qword [0x180005118]
test r11, 0xffffffffe82ed421
jmp 0x180008be0
add rcx, 0xc
call fcn.1800093d9
mov dword [rsp + 0xc4], eax
mov rcx, qword [0x1800050f8]
jmp 0x180008bfc
call fcn.1800093d9
mov dword [rsp + 0xc0], eax
cmc
cmp dword [rsp + 0xc0], 1
jmp 0x180008c16
je 0x180008d67
cmp dword [rsp + 0xc0], 2
je 0x180008d67
cmp dword [rsp + 0xc0], 0x2e
je 0x180008d67
cmp dword [rsp + 0xc0], 0x28
jmp 0x180008c45
je 0x180008d67
cmp dword [rsp + 0xc0], 0x23
je 0x180008d67
cmp dword [rsp + 0xc0], 0x16
jmp 0x180008c66
je 0x180008d67
cmp dword [rsp + 0xc0], 3
je 0x180008d67
cmp dword [rsp + 0xc0], 7
jmp 0x180008c87
je 0x180008d67
cmp dword [rsp + 0xc0], 6
jmp 0x180008c9a
je 0x180008d67
cmp dword [rsp + 0xc0], 9
jmp 0x180008cad
je 0x180008d67
cmp dword [rsp + 0xc0], 0xa
jmp 0x180008cc0
je 0x180008d67
cmp dword [rsp + 0xc0], 0x10
jmp 0x180008cd3
je 0x180008d67
cmp dword [rsp + 0xc0], 0x14
jmp 0x180008ce6
je 0x180008d67
cmp dword [rsp + 0xc0], 0x30
je 0x180008d67
cmp dword [rsp + 0xc0], 0x19
jmp 0x180008d07
je 0x180008d67
cmp dword [rsp + 0xc0], 0x36
jmp 0x180008d1a
je 0x180008d67
cmp dword [rsp + 0xc0], 0x20
jmp 0x180008d2d
je 0x180008d67
cmp dword [rsp + 0xc0], 0x1a
je 0x180008d67
cmp dword [rsp + 0xc0], 0x1c
jmp 0x180008d4e
je 0x180008d67
cmp dword [rsp + 0xc0], 0x2d
jmp 0x180008d61
jne 0x180008d7b
mov dword [rsp + 0xc0], 8
xchg cx, cx
setp ch
movsxd rcx, r9d
mov rcx, qword [0x1800050f0]
jmp 0x180008d87
call fcn.1800093a8
mov byte [rsp + 0xbf], al
add ecx, 0x85893f06
ror eax, 0xa1
movzx eax, byte [rsp + 0xbf]
test r9w, 0x768d
shl cx, 0x1d
btr ecx, 0x3a
sub eax, 8
setge al
cmp spl, 3
bswap rcx
neg al
and al, 1
setbe ch
movsx ecx, bp
mov byte [rsp + 0xbe], al
movsx ecx, r14w
movsxd rcx, r13d
mov rcx, qword [0x180005108]
call fcn.180008704
mov rcx, rax
add rcx, 0x3e8
jmp 0x180008df2
call fcn.1800093d9
mov dword [rsp + 0xb8], eax
movzx cx, al
movsx ecx, r11w
mov ecx, 0x9d2164b0
mov rcx, qword [0x180005108]
call fcn.180008704
add rax, 0x3f0
cmc
test cx, cx
mov qword [rsp + 0xb0], rax
bt rax, 0x9b
movzx eax, r13w
and ax, r12w
mov dword [rsp + 0x4c], 0
cmp r9b, 0x80
mov eax, dword [rsp + 0x4c]
cmp r14, 0x70c1932
jmp 0x180008e52
cmp eax, dword [rsp + 0xb8]
jmp 0x180008e5e
jge 0x180009272
mov rcx, qword [rsp + 0xb0]
stc
add rcx, 8
jmp 0x180008e76
call fcn.180008704
mov qword [rsp + 0xb0], rax
jmp 0x180008e89
cmp qword [rsp + 0xb0], 0
jmp 0x180008e97
jg 0x180008ea2
jmp 0x18000925d
mov rcx, qword [rsp + 0xb0]
cmp bx, 0xed1e
add rcx, 0x10
call fcn.180008704
mov qword [rsp + 0xa8], rax
cmp qword [rsp + 0xa8], 0
jmp 0x180008ece
jg 0x180008ed9
jmp 0x18000925d
mov rcx, qword [rsp + 0xa8]
add rcx, 0x168
jmp 0x180008eed
call fcn.180008704
mov qword [rsp + 0xa0], rax
cmp qword [rsp + 0xa0], 0
jmp 0x180008f08
jg 0x180008f13
jmp 0x18000925d
mov rcx, qword [rsp + 0xa0]
jmp 0x180008f20
call fcn.1800093d9
mov dword [rsp + 0x9c], eax
cmc
test r14b, 0x3c
cmp dword [rsp + 0x9c], 1
je 0x180008f44
jmp 0x18000925d
mov rcx, qword [rsp + 0xa0]
cmp ebp, 0xb3345f31
stc
add rcx, 8
call fcn.180008704
mov rcx, rax
stc
add rcx, 0xe8
call fcn.1800093a8
mov byte [rsp + 0x9b], al
movzx eax, byte [rsp + 0x9b]
movzx ecx, byte [rsp + 0xbf]
test bpl, dl
test r9b, 0xb9
cmp eax, ecx
jmp 0x180008f91
jne 0x180008f9c
jmp 0x18000925d
cmp dword [rsp + 0xc0], 8
jne 0x180009014
mov al, byte [0x180005131]
clc
cmp r11b, 0x84
and al, 1
movzx eax, al
test rax, rdx
cmp eax, 0
jmp 0x180008fc5
jne 0x18000900f
test byte [rsp + 0xbe], 1
jmp 0x180008fd8
je 0x180008ff4
movzx eax, byte [rsp + 0x9b]
cmp eax, 8
jge 0x180009005
jmp 0x18000900a
movzx eax, byte [rsp + 0x9b]
cmp eax, 8
jge 0x18000900a
jmp 0x18000925d
jmp 0x18000900f
jmp 0x180009014
mov rcx, qword [rsp + 0xa0]
test r10d, r10d
add rcx, 8
call fcn.180008704
mov rcx, rax
stc
add rcx, 0x28c
jmp 0x180009038
call fcn.1800093d9
cmp eax, 0
jmp 0x180009045
jne 0x180009258
mov rcx, qword [rsp + 0xa8]
mov edx, 6
movzx r8, bp
lea r8, [rsp + 0x8c]
jmp 0x180009069
call fcn.180009493
mov rax, qword [rsp + 0x8c]
mov ch, dl
not dh
cwd
mov qword [rsp + 0x40], rax
movzx ecx, cx
mov eax, dword [rsp + 0x94]
jmp 0x180009093
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x40]
cdq
mov dh, 0x19
movsx rdx, si
lea rdx, [rsp + 0x80]
jmp 0x1800090b1
call fcn.180009570
and al, 1
movzx eax, al
cmp eax, 1
jmp 0x1800090c3
jne 0x180009253
cvttss2si edx, dword [rsp + 0x84]
cvttss2si ecx, dword [rsp + 0x80]
call fcn.1800098a7
mov al, byte [0x180005135]
cmp r14d, 0x69ba0910
and al, 1
cmp r9w, 0x2a7
cmc
movzx eax, al
cmp eax, 0
jne 0x18000924e
cvtsi2ss xmm0, dword [rsp + 0xc8]
movss xmm1, dword [0x180004044]
jmp 0x180009118
divss xmm0, xmm1
subss xmm0, dword [rsp + 0x80]
jmp 0x18000912a
movss dword [rsp + 0x7c], xmm0
jmp 0x180009135
cvtsi2ss xmm0, dword [rsp + 0xc4]
movss xmm1, dword [0x180004044]
jmp 0x18000914b
divss xmm0, xmm1
subss xmm0, dword [rsp + 0x84]
jmp 0x18000915d
movss dword [rsp + 0x78], xmm0
jmp 0x180009168
movss xmm0, dword [rsp + 0x7c]
jmp 0x180009173
movss xmm2, dword [rsp + 0x7c]
movss xmm1, dword [rsp + 0x78]
jmp 0x180009184
mulss xmm1, dword [rsp + 0x78]
mulss xmm0, xmm2
addss xmm0, xmm1
jmp 0x180009197
call fcn.180009a5c
movss dword [rsp + 0x74], xmm0
jmp 0x1800091a7
movss xmm0, dword [0x180004040]
jmp 0x1800091b4
ucomiss xmm0, dword [rsp + 0x74]
jbe 0x180009249
cmp qword [rsp + 0x68], 0
jmp 0x1800091ca
jne 0x1800091fd
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
jmp 0x1800091e2
movss xmm0, dword [rsp + 0x74]
jmp 0x1800091ed
movss dword [rsp + 0x64], xmm0
jmp 0x1800091f8
jmp 0x180009244
movss xmm1, dword [rsp + 0x74]
movss xmm0, dword [rsp + 0x64]
ucomiss xmm0, xmm1
jbe 0x18000923f
mov rax, qword [rsp + 0xa8]
jmp 0x18000921f
mov qword [rsp + 0x68], rax
jmp 0x180009229
movss xmm0, dword [rsp + 0x74]
jmp 0x180009234
movss dword [rsp + 0x64], xmm0
jmp 0x18000923f
jmp 0x180009244
jmp 0x180009249
jmp 0x18000924e
jmp 0x180009253
jmp 0x180009258
jmp 0x18000925d
mov eax, dword [rsp + 0x4c]
add eax, 1
jmp 0x180009269
mov dword [rsp + 0x4c], eax
jmp 0x180008e42
test byte [0x180005135], 1
jmp 0x18000927e
jne 0x180009396
cmp qword [rsp + 0x68], 0
jmp 0x18000928f
je 0x180009396
test byte [0x180005134], 1
jmp 0x1800092a1
jne 0x180009321
test byte [0x180005004], 1
jmp 0x1800092b3
je 0x1800092e2
mov ecx, 2
jmp 0x1800092c3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
cmp spl, 0x20
clc
and eax, 0x8000
cmp eax, 0
jmp 0x1800092dc
jne 0x180009321
test byte [0x180005133], 1
jmp 0x1800092ee
je 0x180009391
mov ecx, 1
jmp 0x1800092fe
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test r13b, 0x26
cmc
cmp r12b, al
and eax, 0x8000
test dx, 0xa01b
cmc
cmp eax, 0
je 0x180009391
mov cl, byte [0x180005132]
cdqe
or dl, 0xa5
mov r8d, 4
test r11b, bl
mov eax, 6
test cl, 1
movzx rdx, dx
cmovne r8d, eax
movsx cx, r14b
cdqe
bswap dx
mov rax, qword [rsp + 0xcc]
mov qword [rsp + 0x34], rax
movsx ecx, r13w
mov eax, dword [rsp + 0xd4]
movzx rdx, bp
not dx
cmova dx, r12w
mov dword [rsp + 0x3c], eax
mov rcx, qword [rsp + 0x68]
cdq
movsx dx, r13b
lea rdx, [rsp + 0x34]
jmp 0x18000938c
call fcn.180009a91
jmp 0x180009396
jmp 0x18000939b
add rsp, 0xd8
jmp 0x1800093a7
ret