Function at 0x140c22a97
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
jmp 0x140c22ab3
push r14
sar dx, cl
bts dx, r12w
rol dl, 0xaf
push r13
or dx, 0xbb3f
rol dx, 0x2e
movsxd rdx, r10d
push r12
rcr rdx, cl
push rsi
or r8b, 0x1d
inc sil
btr r8d, 0xa5
push rdi
btr r8w, dx
bt r8w, 0x8e
push rbp
push rbx
shr dh, 0x1d
rol dx, cl
movsx r8, sp
sub rsp, 0x88
movsx si, cl
mov rsi, rcx
mov dx, 0xba1b
xchg cx, cx
movzx rcx, ax
lea rcx, [rsp + 0x78]
bswap r8w
seto r8b
mov edx, 1
mov r8d, 0x30
jmp 0x140c22b2e
call fcn.140c1e733
mov eax, dword [rsp + 0x80]
cmp r13w, 0xb838
test eax, eax
je 0x140c2358b
movabs r13, 0x9ab9cbbbef3b2f3a
shld bp, r15w, 0x8f
movabs rbp, 0x3233697061766461
add dil, 0xb9
test dil, dil
sub ebx, ebx
movzx r14, r11w
bswap r14
jmp 0x140c22b77
lea rdi, [rsp + 0x38]
movsx r14, r15w
movzx r14w, r9b
lea r14, [rsp + 0x28]
jmp 0x140c22b8f
jmp 0x140c22bf3
mov rcx, r14
jmp 0x140c22b9c
call fcn.140c1d772
mov rcx, rax
movsx rdx, r9w
movsx edx, ax
movzx dx, bpl
mov rdx, rdi
jmp 0x140c22bb8
call fcn.140c1d89d
mov rcx, r15
jmp 0x140c22bc5
call rax
mov eax, dword [rsp + 0x80]
not cl
movzx rcx, r8w
movsx rcx, r9w
inc rbx
cmp r8, r11
sar rcx, 0x9d
mov ecx, eax
cmc
cmp rbx, rcx
jmp 0x140c22bed
jae 0x140c2358b
mov rcx, qword [rsp + 0x78]
imul rdx, rbx, 0x38
xadd r12w, r15w
sub r11d, 0x5f05e408
mov r12, qword [rcx + rdx]
add r10b, 0xb
cmp r10d, 0xda8b6a84
sub r8d, r8d
test sil, 0xb3
nop dword [rax]
shr r15w, 0xb8
movsx r10d, byte [rsi + r8]
test ch, dl
not r15w
movsx r11d, byte [r12 + r8]
and r15b, r9b
bt r15, 6
lea r15d, [r10 - 0x41]
movsxd r9, ecx
and r9b, 0xb1
sub r9w, r13w
mov r9d, r10d
stc
add r9d, 0x20
test ch, bl
cmp r15b, 0x1a
bswap r15
not r15w
mov r15, 0xffffffff95b9ac09
cmovae r9d, r10d
lea r15d, [r11 - 0x41]
mov r10d, r11d
clc
cmc
test spl, 0x8c
add r10d, 0x20
cmp r15b, 0x1a
jmp 0x140c22c87
cmovae r10d, r11d
ror r11b, cl
not r11b
mov r11d, r9d
test r11w, di
or r11w, r10w
jmp 0x140c22ca1
sete r11b
jmp 0x140c22caa
je 0x140c22cc6
inc r8
cmp r15b, 0x30
jmp 0x140c22cbc
cmp r9w, r10w
je 0x140c22c26
test r11b, r11b
jmp 0x140c22cce
je 0x140c22bd8
cmp dword [rcx + rdx + 0x14], 4
jmp 0x140c22cde
jne 0x140c22bd8
mov qword [rsp + 0x50], r13
jmp 0x140c22cee
mov rax, qword [rsp + 0x50]
test sil, r9b
movzx ecx, cx
mov cx, 0x7321
movabs rcx, 0x614d43536e65704f
jmp 0x140c22d0c
xor rax, rcx
shr ch, cl
and ch, 0x33
mov qword [rsp + 0x50], rax
setb ch
cmp si, 0xba8d
mov qword [rsp + 0x38], r13
ror eax, 0x91
mov rax, qword [rsp + 0x38]
not ch
rcl ecx, cl
movabs rcx, 0x41726567616e
cmp rsi, 0x50ba2db6
cmp rbx, r14
xor rax, rcx
test esp, 0xab9f0a0c
stc
mov qword [rsp + 0x58], rax
xadd ah, al
mov qword [rsp + 0x38], r13
cwde
mov qword [rsp + 0x28], 2
xor ax, r11w
dec rax
mov eax, r12d
mov rax, qword [rsp + 0x28]
test bx, 0xfe07
test rax, rax
je 0x140c22db9
sub eax, eax
nop word cs:[rax + rax]
neg cl
mov rcx, qword [rsp + 0x38]
xor qword [rsp + rax*8 + 0x50], rcx
inc rax
mov rcx, qword [rsp + 0x28]
cmc
test dx, r9w
cmp rax, rcx
jmp 0x140c22db3
jb 0x140c22d94
mov qword [rsp + 0x38], r13
sbb rax, r10
test rax, 0xffffffffc2a93cbd
btr rax, r9
mov rax, qword [rsp + 0x38]
test r15b, 0x15
xor rax, rbp
test r8, 0x582ba32c
clc
mov qword [rsp + 0x38], rax
btc ax, 0xb0
mov qword [rsp + 0x28], r13
movsx rax, r9w
bsr eax, r9d
mov rax, qword [rsp + 0x28]
stc
mov qword [rsp + 0x40], rax
bts ax, r13w
not ax
mov qword [rsp + 0x28], r13
bts ax, cx
seta al
shr rax, cl
mov qword [rsp + 0x20], 2
mov rax, qword [rsp + 0x20]
test rax, rax
jmp 0x140c22e2e
je 0x140c22e79
xor eax, eax
bts cx, r15w
bswap ecx
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x28]
test sp, 0x3e0d
cmp r8b, 0x37
jmp 0x140c22e5e
xor qword [rsp + rax*8 + 0x38], rcx
inc rax
mov rcx, qword [rsp + 0x20]
cmp rax, rcx
jmp 0x140c22e73
jb 0x140c22e4b
mov rcx, rdi
jmp 0x140c22e81
call fcn.140c1d772
mov rcx, rax
movzx rdx, r13w
lea rdx, [rsp + 0x50]
jmp 0x140c22e97
call fcn.140c1d89d
xor ecx, ecx
bt r8, 0x2a
sub edx, edx
setb r8b
jmp 0x140c22eb1
mov r8d, 0xf003f
jmp 0x140c22ebc
call rax
mov r15, rax
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x50]
btc cx, r9w
shrd cx, r12w, 0xb2
movabs rcx, 0x767265536e65704f
jmp 0x140c22ee5
xor rax, rcx
clc
stc
test r14, r15
mov qword [rsp + 0x50], rax
bswap eax
bt ax, 8
test bx, si
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x38]
test sil, r9b
cmc
xor rax, 0x41656369
jmp 0x140c22f16
mov qword [rsp + 0x58], rax
ror ax, 0xa3
cwde
mov qword [rsp + 0x38], r13
rcl ax, cl
mov qword [rsp + 0x28], 2
movzx rax, dx
cmc
mov rax, qword [rsp + 0x28]
cmp r8, r9
test rax, rax
je 0x140c22f93
xor eax, eax
add cl, r12b
nop word cs:[rax + rax]
sar ecx, 0x27
rcr ch, 0x38
rcl cl, 4
mov rcx, qword [rsp + 0x38]
cmp r13b, 0xa7
xor qword [rsp + rax*8 + 0x50], rcx
mov rcx, rbx
inc rax
and ch, 0x27
bts cx, r11w
bts cx, r13w
mov rcx, qword [rsp + 0x28]
cmp rax, rcx
jmp 0x140c22f8d
jb 0x140c22f5f
mov qword [rsp + 0x38], r13
mov rax, qword [rsp + 0x38]
xor rax, rbp
clc
cmp dil, r9b
mov qword [rsp + 0x38], rax
adc ax, 0x69b6
seto ah
mov qword [rsp + 0x28], r13
dec eax
btr ax, r13w
mov rax, qword [rsp + 0x28]
cmc
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], r13
sub rax, 0x2a97a2be
neg ax
mov qword [rsp + 0x20], 2
shr eax, cl
ror ah, 1
mov rax, qword [rsp + 0x20]
cmc
test rax, rax
jmp 0x140c22ff1
je 0x140c23046
xor eax, eax
sar ch, 0x81
nop word cs:[rax + rax]
cmovnp cx, r10w
mov rcx, qword [rsp + 0x28]
jmp 0x140c2301c
xor qword [rsp + rax*8 + 0x38], rcx
not cl
xchg cx, cx
inc rax
mov rcx, qword [rsp + 0x20]
cmc
jmp 0x140c23038
cmp rax, rcx
jmp 0x140c23040
jb 0x140c2300f
mov rcx, rdi
call fcn.140c1d772
mov rcx, rax
bswap dx
lea rdx, [rsp + 0x50]
jmp 0x140c2305e
call fcn.140c1d89d
mov rcx, r15
mov rdx, r12
mov r8d, 0xf01ff
jmp 0x140c23074
call rax
mov r12, rax
ror ecx, cl
shld rcx, rsp, 0x95
mov qword [rsp + 0x50], r13
adc ax, 0xc600
sbb cl, bpl
mov rax, qword [rsp + 0x50]
btc ecx, 0x34
test sp, 0xc222
movabs rcx, 0x536c6f72746e6f43
xor rax, rcx
cmp r9b, r9b
mov qword [rsp + 0x38], rax
btr eax, r13d
rol rcx, cl
adc al, r14b
mov qword [rsp + 0x50], r13
setne ah
mov rax, qword [rsp + 0x50]
movabs rcx, 0x656369767265
xor rax, rcx
stc
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r13
mov al, dh
mov qword [rsp + 0x28], 2
lahf
mov rax, qword [rsp + 0x28]
jmp 0x140c230f7
test rax, rax
je 0x140c23130
xor eax, eax
nop
mov rcx, qword [rsp + 0x50]
xor qword [rsp + rax*8 + 0x38], rcx
xchg cx, cx
inc rax
bts ecx, r10d
mov rcx, qword [rsp + 0x28]
jmp 0x140c23122
cmp rax, rcx
jmp 0x140c2312a
jb 0x140c23103
mov qword [rsp + 0x50], r13
movsx eax, bx
btr eax, 0xe
inc al
mov rax, qword [rsp + 0x50]
cmp r8b, 0xc
cmp r11b, sil
xor rax, rbp
mov qword [rsp + 0x28], rax
xor rax, 0x43859821
add al, r14b
bsf ax, r8w
mov qword [rsp + 0x50], r13
sub al, bh
xor al, r9b
rcr eax, 0x1a
mov rax, qword [rsp + 0x50]
cmp dil, r8b
mov qword [rsp + 0x30], rax
movzx ax, al
movzx eax, r14w
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x20], 2
mov rax, qword [rsp + 0x20]
jmp 0x140c2319e
test rax, rax
jmp 0x140c231a6
je 0x140c231fb
sub eax, eax
nop word cs:[rax + rax]
and cx, 0x4d91
mov rcx, qword [rsp + 0x50]
cmp r13b, 0x2d
cmp r15w, r13w
jmp 0x140c231d3
xor qword [rsp + rax*8 + 0x28], rcx
movsx ecx, si
movzx ecx, r11w
inc rax
rcl ecx, cl
movzx ecx, r10w
mov rcx, qword [rsp + 0x20]
cmp rax, rcx
jmp 0x140c231f5
jb 0x140c231c1
mov rcx, r14
jmp 0x140c23203
call fcn.140c1d772
mov rcx, rax
movsx dx, r14b
mov rdx, rdi
jmp 0x140c23218
call fcn.140c1d89d
mov rcx, r12
movsx rdx, si
mov r8b, 0x2e
mov dh, cl
mov edx, 1
not r8b
movzx r8w, sil
cmovge r8w, sp
lea r8, [rsp + 0x50]
jmp 0x140c23245
call rax
mov qword [rsp + 0x38], r13
adc ax, 0x440e
ror al, cl
rcr ch, 0xae
mov rax, qword [rsp + 0x38]
ror rcx, 0xb0
movabs rcx, 0x65536574656c6544
test r10b, spl
xor rax, rcx
sal ecx, 0x18
mov qword [rsp + 0x38], rax
mov cl, r13b
test r9d, r15d
stc
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x28]
sub ch, ah
movabs rcx, 0x6563697672
xor rax, rcx
cmp bx, 0xcf97
mov qword [rsp + 0x40], rax
sbb al, dh
cmp r8b, 0xb
or ax, r11w
mov qword [rsp + 0x28], r13
rcl rax, 0xae
stc
mov qword [rsp + 0x20], 2
cmp r12b, bpl
mov rax, qword [rsp + 0x20]
test rax, rax
je 0x140c23300
xor eax, eax
mov cl, dil
nop dword [rax + rax]
sar rcx, 0xc
mov rcx, qword [rsp + 0x28]
xor qword [rsp + rax*8 + 0x38], rcx
bswap cx
inc rax
btc cx, r13w
mov rcx, qword [rsp + 0x20]
clc
cmp rax, rcx
jb 0x140c232dc
mov qword [rsp + 0x28], r13
mov rax, qword [rsp + 0x28]
xor rax, rbp
cmp al, dil
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
adc ah, 0xaa
xchg al, ah
cwde
mov rax, qword [rsp + 0x20]
test r8d, 0xd13fe495
mov qword [rsp + 0x30], rax
sar al, 7
rcl ah, 0xac
mov qword [rsp + 0x20], r13
or ax, 0x138c
movsxd rax, edi
mov qword [rsp + 0x70], 2
sbb al, 8
mov rax, qword [rsp + 0x70]
test rax, rax
jmp 0x140c2335b
je 0x140c233ab
sub eax, eax
nop word cs:[rax + rax]
sar cl, 0x9b
bt rcx, 0xac
rcl cx, cl
mov rcx, qword [rsp + 0x20]
cmp rbp, rsp
xor qword [rsp + rax*8 + 0x28], rcx
inc rax
jmp 0x140c23395
mov rcx, qword [rsp + 0x70]
test sp, bp
cmp rax, rcx
jmp 0x140c233a5
jb 0x140c2337c
mov rcx, r14
call fcn.140c1d772
mov rcx, rax
jmp 0x140c233bc
mov rdx, rdi
jmp 0x140c233c4
call fcn.140c1d89d
mov rcx, r12
jmp 0x140c233d1
call rax
mov qword [rsp + 0x38], r13
inc cx
sbb rcx, rsp
mov rax, qword [rsp + 0x38]
neg cl
movsx ecx, sp
movabs rcx, 0x72655365736f6c43
jmp 0x140c233f8
xor rax, rcx
mov qword [rsp + 0x38], rax
cmp r10d, 0x96afba1e
lahf
mov qword [rsp + 0x28], r13
test r9b, r10b
neg eax
mov rax, qword [rsp + 0x28]
add ch, 0x8d
sar ecx, cl
movabs rcx, 0x646e614865636976
clc
test r12b, bl
xor rax, rcx
mov qword [rsp + 0x40], rax
shr ah, cl
mov qword [rsp + 0x28], r13
cmc
rcl al, 0xad
mov rax, qword [rsp + 0x28]
cmp sp, 0x6b2d
xor rax, 0x656c
test bp, 0x3904
test r9, r13
clc
mov qword [rsp + 0x48], rax
sub al, r13b
rcr ax, 0xa3
mov qword [rsp + 0x28], r13
and ax, 0xa13e
test r8, 0xfffffffff812bd1a
rcr ah, 0xa1
mov qword [rsp + 0x20], 3
mov rax, qword [rsp + 0x20]
clc
cmc
test rax, rax
jmp 0x140c2348d
je 0x140c234d5
sub eax, eax
btr ecx, edx
nop word cs:[rax + rax]
rol cx, 0xae
mov rcx, qword [rsp + 0x28]
xor qword [rsp + rax*8 + 0x38], rcx
setno ch
jmp 0x140c234ba
inc rax
xor cx, r10w
mov rcx, qword [rsp + 0x20]
stc
cmp rax, rcx
jmp 0x140c234cf
jb 0x140c234a6
mov qword [rsp + 0x28], r13
movsx eax, bp
movzx rax, r9w
clc
mov rax, qword [rsp + 0x28]
xor rax, rbp
cmp r9w, 0x3099
mov qword [rsp + 0x28], rax
bsf ax, r8w
cwde
mov qword [rsp + 0x20], r13
shr eax, 0xb
mov rax, qword [rsp + 0x20]
stc
mov qword [rsp + 0x30], rax
sal al, cl
or al, 0xad
ror al, 0x21
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x70], 2
cwde
inc ax
mov rax, qword [rsp + 0x70]
cmp esp, edi
test rax, rax
je 0x140c22b94
sub eax, eax
rol cl, 0xbf
bsr ecx, r15d
nop word cs:[rax + rax]
add cl, 0x1b
mov rcx, qword [rsp + 0x20]
test rsi, r9
xor qword [rsp + rax*8 + 0x28], rcx
mov cx, r9w
xchg rcx, rcx
inc rax
adc rcx, 0x11a3872c
mov rcx, qword [rsp + 0x70]
jmp 0x140c23578
cmp rax, rcx
jmp 0x140c23580
jb 0x140c2354d
jmp 0x140c22b94
mov rcx, qword [rsp + 0x78]
jmp 0x140c23595
call fcn.140c1e4f8
nop
add rsp, 0x88
jmp 0x140c235ab
pop rbx
sets bpl
pop rbp
setg r14b
pop rdi
movzx r15, r10w
mov r15w, cx
pop rsi
pop r12
pop r13
movzx r15d, r12w
movzx r14, r15w
pop r14
cmove r15d, r9d
mov r15w, r12w
movsx r15d, ax
pop r15
ret