Function at 0x18038fd42
Capabilities:
Encrypt data using speck

Disassembly:
mov qword [rsp + 0x18], rbx
bt r11, rax
shrd eax, r11d, 0xa1
rcl r10, cl
mov qword [rsp + 0x20], rbp
push rsi
neg bh
sub r10b, cl
cmp r8b, r9b
push rdi
lahf
btc r10d, 0x7a
sub bpl, cl
push r12
cmp rbx, rbp
push r13
clc
push r15
jmp 0x18038fd7a
mov r10d, dword [rcx + 0x28]
rcr bpl, cl
rol bh, 0xe9
mov esi, dword [rcx + 0x48]
rol bpl, cl
mov r12d, dword [rcx + 0x40]
xor ax, r13w
mov r9d, dword [rcx + 0x2c]
adc ebp, r8d
and bx, 0x39b0
mov r15, qword [rcx + 0x10]
rol rbx, cl
cmp al, dil
shld r13w, r11w, 0x3b
lea rdi, [rdx + r8]
bts bx, r15w
bsr bp, r11w
mov rbx, rcx
lahf
shld rbp, r14, 0x65
mov ecx, dword [rcx + 8]
rol r13b, 0xc1
sub r11d, 0x3e017105
mov r13, 0xecf0be8
mov r8d, esi
btc ebp, 0x89
cmovl eax, r11d
cbw
shl r8d, 4
rol r11w, cl
shl eax, 0x4e
mov r13d, 1
shld bp, dx, 0x79
rcr ebp, cl
clc
mov r11, rdx
rol bp, 0x16
cmp r8b, 0xdb
cmovo ebp, r9d
mov ebp, r13d
cdqe
bt ax, r9w
test esi, 0x18436778
shl ebp, cl
bswap eax
dec ebp
xor rcx, r12
and ebp, r12d
btc cx, 0x43
mov eax, ebp
adc cl, r8b
add r8, rax
bsf cx, r11w
movzx ecx, word [r15 + r8*2]
test r13b, r13b
cmc
cmp r10d, 0x1000000
jae 0x18038fe94
cmp rdx, rdi
jmp 0x18038fe5b
jb 0x18038fe6d
xor eax, eax
jmp 0x18038fe68
jmp 0x180390afc
movzx eax, byte [rdx]
cmp sp, sp
cmp r13w, 0x7459
clc
shl r9d, 8
test al, 0x4c
shl r10d, 8
cmc
test bl, bpl
or r9d, eax
bswap eax
movzx eax, r11w
inc r11
mov eax, r10d
mov qword [rsp + 0x38], r14
cmc
jmp 0x18038fea6
shr eax, 0xb
imul eax, ecx
jmp 0x18038feb1
cmp r9d, eax
jmp 0x18038feb9
jae 0x180390227
cmp dword [rbx + 0x44], 0
not r10w
mov r10d, eax
mov r14b, 0x95
movzx r14, bp
bswap r14w
lea r14, [r15 + 0xe6c]
jmp 0x18038fee1
jne 0x18038fef5
test r12d, r12d
jmp 0x18038feef
je 0x18038ff89
mov rcx, qword [rbx + 0x30]
test rcx, rcx
jne 0x18038ff0d
mov rcx, qword [rbx + 0x38]
sbb rax, 0x4dbf7676
mov rax, qword [rbx + 0x18]
neg dl
btc edx, 0x22
mov edx, dword [rbx]
cmp r14b, sil
or r8b, r14b
movsx r8w, r9b
movzx r8d, byte [rax + rcx - 1]
mov ecx, 8
shl ax, cl
mov ax, si
cmp sp, 0x6c5a
mov eax, r13d
cmp dh, 0xdc
stc
sub cl, dl
test r9b, r15b
shr r8d, cl
rol cx, cl
btr ecx, 0xcb
mov ecx, dword [rbx + 4]
cmp r15b, bpl
shl eax, cl
movsx ecx, di
mov ecx, edx
jmp 0x18038ff62
dec eax
and eax, r12d
shl eax, cl
add r8d, eax
inc ax
lea eax, [r8 + r8*2]
clc
test r10b, r13b
shl eax, 8
cmp bl, r9b
cmc
test bl, r10b
lea r14, [r14 + rax*2]
stc
test ch, 0xab
cmp esi, 7
jmp 0x18038ff91
jae 0x180390079
mov edx, r13d
add r8w, cx
mov rcx, r13
sar ebp, cl
sub r8b, 0x6c
btr ebp, r9d
mov ebp, 0x100
cmp esi, edx
mov r8b, 0x4d
bt r8w, r12w
nop
lea rcx, [rcx + rcx]
xadd r8b, r8b
cmp si, di
rol r8b, cl
movzx r8d, word [rcx + r14]
cmp r10d, 0x1000000
jae 0x18039001a
cmp r11, rdi
jmp 0x18038ffe3
jae 0x180390aea
movzx eax, byte [r11]
clc
stc
shl r9d, 8
jmp 0x18038fff9
shl r10d, 8
jmp 0x180390006
or r9d, eax
movzx eax, bp
jmp 0x180390013
inc r11
ror ah, cl
rol al, cl
mov eax, r10d
stc
jmp 0x180390024
shr eax, 0xb
jmp 0x18039002c
imul eax, r8d
cmp r9d, eax
jmp 0x180390038
jae 0x18039004d
mov r10d, eax
add edx, edx
jmp 0x180390048
jmp 0x180390064
sub r10d, eax
sub r9d, eax
lea edx, [rdx + rdx + 1]
jmp 0x18039005c
inc rcx
jmp 0x180390064
cmp edx, ebp
jb 0x18038ffbb
mov eax, r13d
jmp 0x180390074
jmp 0x180390aca
mov ecx, dword [rbx + 0x4c]
xchg dh, dl
cdq
mov rdx, qword [rbx + 0x30]
cmp rdx, rcx
jmp 0x18039008b
jae 0x18039009f
mov rsi, qword [rbx + 0x38]
jmp 0x18039009a
jmp 0x1803900a1
sub esi, esi
mov rax, qword [rbx + 0x18]
rcr r8b, cl
shld rbp, r9, 0xd1
mov ebp, 0x100
mov ebx, r13d
rol r12w, 0x4d
sub rax, rcx
and cl, r14b
mov r8d, ebp
or ecx, r9d
movzx rcx, bp
xor r12, 0x230fd2
add rax, rdx
rol dx, 0x72
rcl r12b, 0x21
sal rcx, 0x33
movzx r12d, byte [rax + rsi]
bt si, 0x8d
mov rsi, r13
bts cx, r12w
nop
jmp 0x1803900fe
add r12d, r12d
rdtsc
movsxd rax, edx
or cx, cx
mov edx, r8d
cwde
rcr ch, 0x5c
movzx cx, r13b
mov ecx, r8d
xor rax, 0x19673d6c
shrd rax, rax, 0xaa
and edx, r12d
cbw
bsf ax, r15w
mov eax, edx
cmp si, r10w
stc
add rax, rsi
jmp 0x180390142
add rcx, rax
cmc
movzx ecx, word [r14 + rcx*2]
jmp 0x180390150
cmp r10d, 0x1000000
jmp 0x18039015c
jae 0x1803901a8
cmp r11, rdi
jmp 0x18039016a
jae 0x180390aea
movzx eax, byte [r11]
cmp ebp, eax
test r11b, 0xa0
shl r9d, 8
cmp r8w, 0x7448
test r10b, 0x6d
shl r10d, 8
cmp r10w, cx
test spl, 0xfc
or r9d, eax
movsxd rax, r14d
xchg ah, ah
inc r11
bsr ax, dx
movzx ax, r12b
mov eax, r10d
shr eax, 0xb
test bh, 6
test r9, r8
imul eax, ecx
cmp r9d, eax
jmp 0x1803901bf
jae 0x1803901ef
not edx
and r10b, sil
add r10b, 0x24
add ebx, ebx
not r10b
btr r10d, edx
lea rsi, [rsi + rsi]
and r8d, edx
not r10w
mov r10d, eax
jmp 0x1803901ea
jmp 0x180390212
sub r10d, eax
jmp 0x1803901f7
sub r9d, eax
stc
cmc
cmp sp, cx
lea ebx, [rbx + rbx + 1]
test si, 0x4160
cmc
and r8d, edx
cmc
lea rsi, [rsi + rsi + 1]
cmp ebx, ebp
jmp 0x180390219
jb 0x1803900fe
mov eax, r13d
jmp 0x180390aca
movzx edx, word [r15 + rsi*2 + 0x180]
sub r10d, eax
movsx cx, r8b
bsr ecx, eax
sub r9d, eax
movsx ecx, r15w
mov rcx, rsi
cmp r10d, 0x1000000
jae 0x180390292
cmp r11, rdi
jmp 0x18039025a
jae 0x180390aea
movzx eax, byte [r11]
mov r12b, bl
shl r12d, cl
adc r12w, 0x499c
shl r9d, 8
shl r10d, 8
xor r12d, r14d
shr r12b, cl
movzx r12, dx
or r9d, eax
inc r11
sbb eax, r14d
btc eax, 4
neg r12b
xor esi, esi
bswap eax
ror r12, 0xac
mov eax, r10d
shr r12w, cl
movzx r12w, r12b
shr eax, 0xb
cmp r12w, 0x17b2
lea r12d, [rsi + 3]
imul eax, edx
clc
stc
cmp dx, 0x5036
cmp r9d, eax
jae 0x1803902fd
mov r10d, eax
movzx dx, r15b
movsx dx, r14b
movsxd r14, eax
mov r14d, esi
cqo
movsx rdx, r10w
lea rdx, [r15 + 0x664]
jmp 0x1803902eb
mov dword [rsp + 0x30], 2
jmp 0x1803902f8
jmp 0x18039055b
movzx edx, word [r15 + rcx*2 + 0x198]
test r14b, 0x8e
cmp r15, 0x421a793a
sub r10d, eax
stc
cmp spl, 0xb0
sub r9d, eax
mov dword [rsp + 0x30], r12d
cmp r9w, dx
cmp r10d, 0x1000000
jmp 0x180390331
jae 0x180390371
cmp r11, rdi
jmp 0x18039033f
jae 0x180390aea
movzx eax, byte [r11]
clc
cmc
jmp 0x180390350
shl r9d, 8
test bx, 0x2107
shl r10d, 8
test edx, 0x3b0d43d3
cmc
or r9d, eax
inc r11
dec ax
xadd rax, rax
mov eax, r10d
shr eax, 0xb
stc
imul eax, edx
cmc
cmp r9d, eax
jmp 0x180390384
jae 0x18039043c
movzx ecx, word [r15 + r8*2 + 0x1e0]
sal r10b, cl
btc r10d, r13d
mov r10d, eax
cmp r13w, bp
cmp eax, 0x24dd6d1a
cmp eax, 0x1000000
jmp 0x1803903b0
jae 0x1803903e6
cmp r11, rdi
jmp 0x1803903be
jae 0x180390aea
movzx eax, byte [r11]
shl r9d, 8
shl r10d, 8
test dl, r10b
or r9d, eax
movsx ax, bpl
sete al
bswap ax
inc r11
xchg al, al
mov eax, r10d
test rcx, 0x643d660d
cmp bl, r8b
shr eax, 0xb
stc
imul eax, ecx
cmp r9d, eax
jae 0x180390429
cmp eax, 0x1000000
jae 0x18039041c
cmp r11, rdi
jmp 0x180390416
jae 0x180390aea
mov eax, r12d
jmp 0x180390424
jmp 0x180390af4
sub r10d, eax
cmp rax, 0x4b131ee5
clc
sub r9d, eax
jmp 0x180390547
movzx edx, word [r15 + rcx*2 + 0x1b0]
sub r10d, eax
jmp 0x180390455
sub r9d, eax
jmp 0x18039045d
cmp r10d, 0x1000000
jmp 0x180390469
jae 0x18039049a
cmp r11, rdi
jmp 0x180390477
jae 0x180390aea
movzx eax, byte [r11]
test al, r12b
shl r9d, 8
test ah, 0x60
shl r10d, 8
or r9d, eax
inc r11
bsr ax, r11w
mov eax, r10d
shr eax, 0xb
cmc
imul eax, edx
cmp r9d, eax
jmp 0x1803904ac
jae 0x1803904bf
mov r10d, eax
jmp 0x1803904ba
jmp 0x180390547
movzx edx, word [r15 + rcx*2 + 0x1c8]
clc
cmp r9b, r10b
sub r10d, eax
sub r9d, eax
cmp al, ch
cmc
cmp r10d, 0x1000000
jmp 0x1803904e1
jae 0x180390511
cmp r11, rdi
jmp 0x1803904ef
jae 0x180390aea
movzx eax, byte [r11]
clc
cmc
shl r9d, 8
shl r10d, 8
cmc
or r9d, eax
bswap ax
inc r11
lahf
sub eax, r9d
mov eax, r10d
test edx, ebp
cmp cl, dl
shr eax, 0xb
clc
imul eax, edx
jmp 0x180390524
cmp r9d, eax
jae 0x180390535
mov r10d, eax
jmp 0x180390547
sub r10d, eax
btr rdx, r9
movzx r14w, cl
sub r9d, eax
sub rcx, rdi
mov r14d, 0xc
lea rdx, [r15 + 0xa68]
setbe ch
sar cx, 0x28
movzx ecx, word [rdx]
clc
test sil, dl
test bp, 0x2517
cmp r10d, 0x1000000
jmp 0x180390573
jae 0x1803905ad
cmp r11, rdi
jmp 0x180390581
jae 0x180390aea
movzx eax, byte [r11]
test r12b, r8b
clc
shl r9d, 8
cmp ebx, r12d
clc
cmc
shl r10d, 8
jmp 0x1803905a1
or r9d, eax
inc r11
sub al, r12b
shr ax, cl
mov eax, r10d
test rbx, 0x2e1c5ae1
cmp r14, 0x6811307c
shr eax, 0xb
imul eax, ecx
clc
cmp r9d, eax
jae 0x1803905f5
mov r10d, eax
movzx ebx, bp
lea eax, [rbp*8]
cmovge ebp, r13d
not bh
mov ebp, 8
lea rbx, [rdx + rax*2 + 4]
jmp 0x1803905f0
jmp 0x1803906de
movzx ecx, word [rdx + 2]
sub r10d, eax
jmp 0x180390609
sub r9d, eax
cmp r10d, 0x1000000
jae 0x180390658
cmp r11, rdi
jmp 0x180390621
jae 0x180390aea
movzx eax, byte [r11]
shl r9d, 8
shl r10d, 8
cmp r14w, di
test dh, 0x8b
cmp rsi, 0x5546838
or r9d, eax
cwde
movsxd rax, eax
xchg al, ah
inc r11
shl rax, 0x38
test r13b, 0x5b
sbb ax, ax
mov eax, r10d
clc
shr eax, 0xb
test r12w, 0x443a
imul eax, ecx
cmp r9d, eax
jmp 0x180390670
jae 0x1803906a9
mov r10d, eax
lea eax, [rbp*8]
setp bpl
mov ebp, 8
lea rbx, [rdx + rax*2 + 0x104]
movzx rsi, bx
bswap si
jmp 0x18039069d
mov esi, ebp
jmp 0x1803906a4
jmp 0x1803906de
sub r10d, eax
lea rbx, [rdx + 0x204]
mov esi, 0x10
neg dx
sar dx, 0xfe
cmp r15, rdx
sub r9d, eax
btr bp, r9w
neg bpl
or dl, r12b
mov ebp, 0x100
rcl cl, 0x74
xor ecx, 0x233e604a
mov ecx, r13d
rcr dh, 0xc2
mov rdx, r13
xchg r8w, r8w
xadd r8b, r8b
nop
btr r8, rax
add rdx, rdx
rcl r8w, cl
sar r8b, cl
test spl, r13b
movzx r8d, word [rdx + rbx]
stc
jmp 0x18039070c
cmp r10d, 0x1000000
jmp 0x180390718
jae 0x18039074c
cmp r11, rdi
jmp 0x180390726
jae 0x180390aea
movzx eax, byte [r11]
stc
shl r9d, 8
test dx, 0x743
stc
shl r10d, 8
test r10b, bpl
or r9d, eax
inc r11
movsx ax, cl
mov eax, r10d
shr eax, 0xb
imul eax, r8d
clc
test r15b, r9b
cmp r9d, eax
jae 0x18039077a
mov r10d, eax
test dil, 0xfd
stc
cmp r9b, r15b
add ecx, ecx
jmp 0x180390775
jmp 0x18039079a
sub r10d, eax
test sil, r14b
cmp r12d, 0x645135c3
sub r9d, eax
jmp 0x18039078f
lea ecx, [rcx + rcx + 1]
inc rdx
test r12w, bx
cmp ecx, ebp
jmp 0x1803907a1
jb 0x1803906f4
sub esi, ebp
jmp 0x1803907ae
add ecx, esi
test r9w, bp
cmc
jmp 0x1803907ba
cmp r14d, 4
jae 0x180390aaf
cmp ecx, 4
cmove r8w, r10w
movsxd r8, ebp
cwd
mov edx, r13d
cmovge ebx, ebp
cmovb r12d, ecx
xor bl, 0x4b
setnp bl
inc r8b
mov rcx, r13
xadd bx, r8w
movsxd rbx, edx
shl r12d, 6
btr r8d, r13d
lea rbx, [r15 + r12*2 + 0x360]
shld r8w, cx, 0xec
add r8d, edi
rol r8b, 0xe4
nop
lea rcx, [rcx + rcx]
movzx r8w, dl
movzx r8d, word [rcx + rbx]
clc
cmp r8w, 0x30c5
cmp r10d, 0x1000000
jmp 0x18039082e
jae 0x180390865
cmp r11, rdi
jmp 0x18039083c
jae 0x180390aea
movzx eax, byte [r11]
shl r9d, 8
test bp, cx
cmc
shl r10d, 8
clc
or r9d, eax
lahf
movzx ax, r14b
movsx rax, r15w
inc r11
xor al, 0x15
mov eax, r10d
cmc
jmp 0x18039086e
shr eax, 0xb
cmp edx, eax
imul eax, r8d
cmp r9d, eax
jae 0x180390892
mov r10d, eax
cmp dil, r9b
add edx, edx
jmp 0x18039088d
jmp 0x1803908a9
sub r10d, eax
cmp ah, 0x1a
cmc
clc
sub r9d, eax
lea edx, [rdx + rdx + 1]
jmp 0x1803908a6
inc rcx
cmp edx, 0x40
jb 0x18039080d
add edx, 0xffffffc0
cmp si, cx
jmp 0x1803908c3
cmp edx, 4
jmp 0x1803908cb
jb 0x180390abd
mov r8d, edx
test r14d, 0x56e0433a
shr r8d, 1
jmp 0x1803908e3
dec r8d
cmp bp, 0x4cc1
cmp edx, 0xe
jmp 0x1803908f3
jae 0x18039094e
mov eax, edx
jmp 0x180390900
mov ecx, r8d
and eax, r13d
test sil, cl
or eax, 2
jmp 0x180390915
shl eax, cl
not ch
btc cx, dx
mov ecx, eax
btr ax, 0x88
sal ax, cl
shl ax, cl
mov eax, edx
btr dx, si
movsxd rdx, r11d
bswap dx
sub rcx, rax
xchg rdx, rdx
lea rdx, [r15 + rcx*2 + 0x55e]
jmp 0x180390949
jmp 0x1803909ec
sub r8d, 4
cmp r10d, 0x1000000
jmp 0x18039095e
jae 0x1803909a6
cmp r11, rdi
jmp 0x18039096c
jae 0x180390aea
movzx eax, byte [r11]
jmp 0x18039097c
shl r9d, 8
shl r10d, 8
test r15w, 0x66a7
or r9d, eax
lahf
movzx ax, r8b
movzx eax, sp
inc r11
shl rax, 0
btr ax, 0x6d
movsx rax, dx
shr r10d, 1
rcl ax, cl
clc
mov eax, r9d
test bpl, sil
sub eax, r10d
shr eax, 0x1f
dec eax
and eax, r10d
sub r9d, eax
cmp r14d, ecx
sub r8d, r13d
jmp 0x1803909cc
jne 0x180390952
lea rdx, [r15 + 0x644]
rol ch, 0xfd
mov r8d, 4
sbb cl, r14b
add cl, r9b
inc cx
nop
lea r13, [r13 + r13]
movzx ecx, word [r13 + rdx]
cmp r13w, 0x4ee
jmp 0x180390a02
cmp r10d, 0x1000000
jmp 0x180390a0e
jae 0x180390a4c
cmp r11, rdi
jmp 0x180390a1c
jae 0x180390aea
movzx eax, byte [r11]
clc
test r11, 0x48f7429e
shl r9d, 8
shl r10d, 8
stc
clc
test ebp, 0x44145480
or r9d, eax
movzx ax, bh
cwde
inc r11
xor ax, ax
mov eax, r10d
test bx, 0x4ba2
cmp r15w, di
shr eax, 0xb
clc
stc
imul eax, ecx
test r10w, 0x3fee
cmp r10b, 0xe2
cmp r9d, eax
jmp 0x180390a72
jae 0x180390a85
mov r10d, eax
jmp 0x180390a80
jmp 0x180390a9c
sub r10d, eax
stc
sub r9d, eax
jmp 0x180390a91
inc r13
jmp 0x180390a9c
sub r8d, 1
jne 0x1803909ec
mov eax, dword [rsp + 0x30]
jmp 0x180390aca
mov eax, dword [rsp + 0x30]
jmp 0x180390ab8
jmp 0x180390aca
mov eax, dword [rsp + 0x30]
jmp 0x180390aca
cmp r10d, 0x1000000
jmp 0x180390ad6
jae 0x180390af4
cmp r11, rdi
jmp 0x180390ae4
jb 0x180390af4
xor eax, eax
not r15b
movzx r13w, dil
mov r14, qword [rsp + 0x38]
bswap si
mov rbx, qword [rsp + 0x40]
movsx rsi, sp
setp r15b
mov rbp, qword [rsp + 0x48]
pop r15
movsx di, r10b
setns sil
pop r13
pop r12
mov dil, bpl
jmp 0x180390b28
pop rdi
movzx rsi, si
pop rsi
jmp 0x180390b33
ret