Function at 0x14041df18
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
cmp r15b, 5
clc
push rsi
jmp 0x14041df48
push rdi
push rbp
cmp r13, 0x14da151b
push rbx
cmp r10w, sp
stc
sub rsp, 0x128
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
movsx eax, cx
mov rax, rdx
cmp rdx, r12
mov qword [rsp + 0x48], rdx
test si, r14w
cmp r8d, edx
jmp 0x14041df9a
jne 0x14041dfa8
mov rax, rsi
jmp 0x14041f99f
mov ebx, r9d
movzx eax, di
mov ebp, r8d
btc ax, r12w
cmp r11b, 0xd4
mov eax, r9d
jmp 0x14041dfc3
or eax, r8d
jmp 0x14041dfcb
js 0x14041f991
test ebx, ebx
je 0x14041dff8
mov eax, 0x7fffffff
test ax, 0x5de7
xor edx, edx
stc
test r13b, spl
idiv ebx
jmp 0x14041dff0
cmp eax, ebp
jl 0x14041f991
mov edi, dword [rsp + 0x190]
sub eax, 0x1a837ff
mov eax, ebx
imul eax, ebp
mov dword [rsp + 0x34], eax
or eax, edi
jmp 0x14041e014
js 0x14041f991
test edi, edi
jmp 0x14041e021
je 0x14041e043
mov eax, 0x7fffffff
clc
sub edx, edx
cmp r15b, dil
idiv edi
cmp eax, dword [rsp + 0x34]
jmp 0x14041e03d
jl 0x14041f991
mov eax, dword [rsp + 0x34]
xor cx, r15w
shr cl, cl
imul eax, edi
not ch
movsxd rcx, eax
jmp 0x14041e05a
call fcn.1401f16c1
test rax, rax
je 0x14041f991
mov rdx, rax
mov qword [rsp + 0x70], rbp
cmp r13w, 0x3e6f
clc
test edi, edi
jmp 0x14041e07e
mov qword [rsp + 0x78], rax
jmp 0x14041e088
jle 0x14041f96c
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
bt r15d, 0x14
lea r15d, [rax + rcx*8]
cmp r15d, 0x23
jmp 0x14041e0aa
ja 0x14041f983
movabs rcx, 0xe161a1c00
jmp 0x14041e0c0
bt rcx, r15
jmp 0x14041e0c9
jae 0x14041f983
lea eax, [rbx - 1]
setb ch
movzx r8d, r9w
mov ecx, edi
mov qword [rsp + 0xe0], rcx
mov ecx, eax
movzx edi, sp
mov qword [rsp + 0x38], rcx
inc rcx
cmovnp r8w, r12w
sbb r8d, r10d
dec bpl
mov r8, rcx
sbb ebp, 0x61e45d8f
and r8, 0xfffffffffffffff0
lea rdi, [r8 - 0x10]
mov rbp, r9
xor ebp, r12d
mov qword [rsp + 0xc8], rdi
xchg bp, bp
bswap rbp
rcl bp, 9
shr rdi, 4
movsxd rbp, r9d
inc rdi
shl bpl, 0xab
lea ebp, [rbx - 2]
cmc
mov dword [rsp + 0x30], ebp
xchg rbp, rbp
movabs rbp, 0x1fffffff0
test r13w, 0x4ac3
clc
or rbp, 8
stc
jmp 0x14041e158
mov qword [rsp + 0x68], rcx
stc
and rbp, rcx
mov cl, 0x8f
mov ecx, eax
cmc
sub ecx, ebp
jmp 0x14041e16d
mov dword [rsp + 0x58], ecx
adc cl, sil
mov dword [rsp + 0x24], eax
cmc
movsx ecx, ax
rcr cl, cl
sub eax, r8d
stc
add cx, r14w
sar cl, cl
mov dword [rsp + 0x54], eax
dec rcx
bsf cx, r14w
seto cl
mov rax, rdi
ror ah, 0x95
xor cx, r12w
mov qword [rsp + 0xc0], rdi
btc rax, r9
and rdi, 0xfffffffffffffffe
or ax, 0x42f9
bts cx, r14w
mov qword [rsp + 0x98], rdi
bswap ecx
cdqe
sbb ch, 0xe8
mov eax, ebx
bsr cx, r8w
imul eax, dword [rsp + 0x48]
mov dword [rsp + 0x5c], eax
mov eax, ebx
mov cl, 0xd3
and eax, 3
add ecx, r10d
shr ch, cl
mov ecx, ebx
stc
cmp r14b, 0x50
and ecx, 7
jmp 0x14041e1f4
mov qword [rsp + 0xd8], rcx
jmp 0x14041e201
pcmpeqd xmm0, xmm0
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1400bf4e0]
movdqa xmm3, xmmword [0x1400bf4f0]
movdqa xmm4, xmmword [0x1400bf500]
lea rcx, [rbp + rbp]
clc
cmp r14, r8
mov qword [rsp + 0xb0], rcx
adc cl, dl
sal cl, cl
neg cl
mov qword [rsp + 0xb8], rbp
sbb rcx, 0x74a75e08
jmp 0x14041e251
lea rcx, [rbp + rbp*2]
stc
cmc
jmp 0x14041e25d
mov qword [rsp + 0xa8], rcx
adc rcx, r13
mov qword [rsp + 0x60], r8
btc cx, r10w
xor cl, 0x11
and cx, r14w
lea rcx, [r8 + r8]
mov qword [rsp + 0x80], rcx
add cx, r15w
sar ch, 0xfb
lea rcx, [rsi + 0x17]
jmp 0x14041e299
mov qword [rsp + 0xa0], rcx
clc
mov qword [rsp + 0x40], rax
lea rax, [rax + rax*2]
test eax, 0x3d8354e9
test r9w, r14w
mov qword [rsp + 0xd0], rax
cdqe
test dl, spl
lea rax, [rdx + 0x30]
mov qword [rsp + 0x90], rax
lea rax, [rsi + 0x18]
jmp 0x14041e2db
mov qword [rsp + 0x88], rax
xor r10d, r10d
sub r13d, r13d
cmc
sub r12d, r12d
mov qword [rsp + 0xe8], rsi
jmp 0x14041e2fa
mov qword [rsp + 0x28], rbx
jmp 0x14041e304
jmp 0x14041e34e
inc r12
rol rsi, 0x35
movsxd rsi, r11d
add r13d, dword [rsp + 0x5c]
btr rsi, 0x91
neg bl
add r10d, dword [rsp + 0x34]
or rsi, r8
cmp r12, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov bh, bl
mov rbx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x78]
jmp 0x14041e348
je 0x14041f96c
mov r14d, r10d
movsx r8d, r8w
mov r8d, r13d
rol bpl, 0xb8
movsx rbp, r12w
lea r11, [rdx + r14]
mov ebp, r12d
imul ebp, ebx
sub r9b, 0x83
or r9b, 0x1c
mov r9d, ebp
imul r9d, dword [rsp + 0x48]
cmp r15b, r14b
lea r9, [r9 + rsi]
stc
imul ebp, dword [rsp + 0x70]
test r12, 0x2bb13a38
add rbp, rdx
test r14w, 0x998
stc
cmp r15d, 0x13
jle 0x14041e724
cmp r15d, 0x1b
jmp 0x14041e3ad
mov eax, dword [rsp + 0x24]
jg 0x14041e818
cmp r15d, 0x14
jmp 0x14041e3c0
je 0x14041e913
cmp r15d, 0x19
jmp 0x14041e3cf
je 0x14041e9bd
cmp r15d, 0x1a
jmp 0x14041e3de
jne 0x14041ed82
test eax, eax
js 0x14041e309
mov ecx, dword [rsp + 0x24]
cmp r11b, 0x2b
stc
cmp ecx, 7
jmp 0x14041e3fd
jb 0x14041e690
add r8, qword [rsp + 0xa0]
cbw
add rbp, qword [rsp + 0xb0]
movsx bx, r14b
adc r14w, bx
jmp 0x14041e423
add r9, qword [rsp + 0xa8]
xor ecx, ecx
mov r14, qword [rsp + 0xb8]
cqo
setno ah
nop
or rax, 0x6c261258
bt esi, 0x28
rcr dl, 0x6c
movzx edi, byte [r8 - 0x15]
dec dh
cwd
movzx edx, r14w
movzx ebx, byte [r8 - 0xf]
btr si, bx
sub rax, rsi
movzx esi, byte [r8 - 9]
add dl, 0xef
sbb ax, 0x6ecb
movzx eax, byte [r8 - 3]
shld edx, r15d, 0x31
movzx edx, byte [r8 - 0xc]
jmp 0x14041e487
shl edx, 8
clc
or edx, ebx
movzx ebx, byte [r8 - 0x12]
cmp r15b, r14b
cmp ah, 0x69
cmc
shl ebx, 8
or ebx, edi
jmp 0x14041e4a3
movd xmm7, ebx
pinsrw xmm7, edx, 1
movzx edx, byte [r8]
shl edx, 8
stc
or edx, eax
sal eax, 0x16
sub eax, 0x2a68613c
movzx eax, byte [r8 - 6]
shl eax, 8
test r8w, 0x5f09
or eax, esi
jmp 0x14041e4d3
movd xmm2, eax
pinsrw xmm2, edx, 1
punpcklbw xmm2, xmm1
movzx eax, byte [r8 - 0x16]
sal dil, 0x91
movzx edx, byte [r8 - 0x10]
xadd sil, dil
mov edi, edx
sar di, cl
movzx esi, byte [r8 - 0xa]
btr ebx, r14d
adc rbx, 0x1d1a44
movzx edi, byte [r8 - 4]
movzx ebx, byte [r8 - 0xd]
shl ebx, 8
test r10w, bp
or ebx, edx
movzx edx, byte [r8 - 0x13]
shl edx, 8
cmp bl, 0xb7
or edx, eax
movd xmm5, edx
pinsrw xmm5, ebx, 1
movzx eax, byte [r8 - 1]
shr rdx, cl
xor rdx, 0x63000abc
shl eax, 8
movzx dx, bpl
or eax, edi
cmc
sal dh, 0xaa
movzx edx, byte [r8 - 7]
shl edx, 8
or edx, esi
jmp 0x14041e55c
movd xmm6, edx
pinsrw xmm6, eax, 1
punpcklbw xmm7, xmm1
punpcklbw xmm6, xmm1
punpcklwd xmm6, xmm2
punpcklbw xmm5, xmm1
punpcklwd xmm5, xmm7
movzx eax, byte [r8 - 0x17]
movzx edx, byte [r8 - 0x11]
not sil
movzx esi, byte [r8 - 0xb]
movzx edi, byte [r8 - 5]
bt rbx, r13
rol bx, 0x2a
movzx ebx, byte [r8 - 0xe]
shl ebx, 8
or ebx, edx
btc dx, r12w
movzx edx, byte [r8 - 0x14]
jmp 0x14041e5b2
shl edx, 8
stc
clc
or edx, eax
jmp 0x14041e5be
movd xmm2, edx
pinsrw xmm2, ebx, 1
movzx eax, byte [r8 - 2]
cmp r12b, r10b
movsx dx, r12b
shl eax, 8
movsx rdx, r10w
shrd dx, r13w, 0x8a
movsxd rdx, r13d
or eax, edi
shr dl, 0x2c
movsx dx, r10b
movzx edx, byte [r8 - 8]
clc
test rsi, rsi
shl edx, 8
test edi, 0x3afe4a5e
or edx, esi
jmp 0x14041e607
movd xmm7, edx
pinsrw xmm7, eax, 1
punpcklbw xmm7, xmm1
punpcklwd xmm7, xmm1
punpcklbw xmm2, xmm1
punpcklwd xmm2, xmm1
pmaddwd xmm2, xmm8
pmaddwd xmm7, xmm8
pmaddwd xmm5, xmm3
paddd xmm5, xmm2
pmaddwd xmm6, xmm3
paddd xmm6, xmm7
psrld xmm5, 8
psrld xmm6, 8
pand xmm6, xmm4
pand xmm5, xmm4
packuswb xmm5, xmm6
packuswb xmm5, xmm5
punpcklbw xmm5, xmm0
movdqu xmmword [r11 + rcx*2], xmm5
add rcx, 8
jmp 0x14041e66a
add r8, 0x18
cmp r14, rcx
jmp 0x14041e676
jne 0x14041e44a
mov ecx, dword [rsp + 0x58]
jmp 0x14041e685
cmp qword [rsp + 0x68], r14
je 0x14041e309
inc ecx
shrd bx, ax, 0x62
test eax, 0x72824783
add r9, 2
ror dil, cl
adc edi, 0x2bde01d6
nop word cs:[rax + rax]
shld rbx, r11, 0xed
sal rdi, cl
clc
movzx eax, byte [r9]
sub rbx, 0x1be5fb9
movzx edx, byte [r9 - 1]
movzx ebx, byte [r9 - 2]
adc dil, 0x30
imul edi, ebx, 0x4d
adc bl, 0xfe
imul edx, edx, 0x96
adc ebx, r9d
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
jmp 0x14041e6f0
add ebx, eax
add ebx, eax
add ebx, edx
clc
stc
add ebx, edi
mov byte [rbp], bh
mov byte [rbp + 1], 0xff
add rbp, 2
jmp 0x14041e70a
dec ecx
add r9, 3
stc
cmp r11w, 0x141a
test ecx, ecx
jg 0x14041e6bd
jmp 0x14041e309
lea rcx, [rsi + r8]
bsr eax, r14d
cmp r15d, 0xb
nop
mov eax, dword [rsp + 0x24]
jmp 0x14041e73a
jle 0x14041e868
cmp r15d, 0xc
jmp 0x14041e749
je 0x14041e9ef
cmp r15d, 0x11
je 0x14041ebac
cmp r15d, 0x13
jmp 0x14041e762
jne 0x14041ed82
test eax, eax
jmp 0x14041e76f
js 0x14041e309
test byte [rsp + 0x28], 3
jmp 0x14041e77f
je 0x14041f4fe
xor ebp, ebp
bts dx, r8w
mov edx, dword [rsp + 0x24]
neg eax
mov ecx, edx
adc bh, 0x48
bts ax, r11w
mov rbx, qword [rsp + 0xd0]
rcl ax, cl
bt eax, 0x4a
nop word cs:[rax + rax]
cmovb ax, r12w
and al, spl
movsxd rax, esp
movzx eax, byte [r9]
mov byte [r11 + rbp + 2], al
clc
test r10w, ax
cmc
mov byte [r11 + rbp + 1], al
mov byte [r11 + rbp], al
add r9, 2
jmp 0x14041e7e4
dec ecx
add rbp, 3
stc
cmp ebx, ebp
jmp 0x14041e7f2
jne 0x14041e7c3
lea r11, [r11 + rbp]
mov rbp, r11
stc
jmp 0x14041e805
cmp edx, 3
jmp 0x14041e80d
jb 0x14041e309
jmp 0x14041f51a
cmp r15d, 0x1c
jmp 0x14041e821
je 0x14041ec54
cmp r15d, 0x21
je 0x14041ec81
cmp r15d, 0x22
jmp 0x14041e83a
jne 0x14041ed82
test eax, eax
jmp 0x14041e847
js 0x14041e309
test byte [rsp + 0x28], 1
jmp 0x14041e857
jne 0x14041edb8
mov eax, dword [rsp + 0x24]
mov ecx, eax
jmp 0x14041ee51
cmp r15d, 0xa
je 0x14041ecb2
cmp r15d, 0xb
jmp 0x14041e87b
jne 0x14041ed82
test eax, eax
jmp 0x14041e888
js 0x14041e309
test byte [rsp + 0x28], 3
je 0x14041f5db
xor ebx, ebx
mov edx, dword [rsp + 0x24]
cmc
bt rdi, 0x71
mov rdi, qword [rsp + 0x40]
nop
cmp al, bh
sar al, 0x7c
movzx eax, byte [rcx + rbx]
mov byte [rbp + 2], al
jmp 0x14041e8bd
mov byte [rbp + 1], al
cmp rax, rcx
mov byte [rbp], al
add rbp, 3
jmp 0x14041e8cf
inc rbx
cmp edi, ebx
jmp 0x14041e8d9
jne 0x14041e8b1
mov rax, qword [rsp + 0x38]
shrd di, r13w, 0xfe
shr r9b, cl
mov edi, eax
sub edi, ebx
or r9b, r11b
add rcx, rbx
test rcx, r8
cmc
rcr r9b, cl
mov r9, rcx
clc
test dil, r14b
cmp edx, 3
jb 0x14041e309
jmp 0x14041f5f3
test eax, eax
js 0x14041e309
test byte [rsp + 0x28], 3
jmp 0x14041e925
je 0x14041f6bc
sub edi, edi
cdq
movsx cx, al
mov edx, dword [rsp + 0x24]
cbw
mov rcx, qword [rsp + 0x40]
nop word cs:[rax + rax]
movsx rax, bp
movsx eax, sp
movzx rax, r15w
movzx eax, word [r9]
jmp 0x14041e95e
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp], xmm2
add r9, 2
cmp r10d, 0x61c06aa1
add rbp, 4
jmp 0x14041e988
inc rdi
test esi, r13d
cmp ecx, edi
jne 0x14041e955
mov rax, qword [rsp + 0x38]
bts cx, cx
sub rcx, r15
cmc
mov ecx, eax
cmp rax, 0x2a5f2b4a
clc
sub ecx, edi
cmp edx, 3
jb 0x14041e309
jmp 0x14041f6d8
test eax, eax
jmp 0x14041e9c4
js 0x14041e309
test byte [rsp + 0x28], 1
jmp 0x14041e9d4
jne 0x14041efa5
mov eax, dword [rsp + 0x24]
movsx rcx, r12w
movzx cx, al
xchg cl, ch
mov ecx, eax
jmp 0x14041f049
test eax, eax
jmp 0x14041e9f6
js 0x14041e309
mov edx, dword [rsp + 0x24]
xor di, 0x4409
mov edi, edx
cmp r9w, 0x7047
test byte [rsp + 0x28], 3
jmp 0x14041ea17
je 0x14041eac7
sub ebx, ebx
rol al, cl
sub ebp, ebp
movsx edi, bx
mov rdi, qword [rsp + 0x40]
lahf
xchg ah, al
movsx eax, r9w
nop dword [rax]
movsx ax, r9b
movzx eax, byte [rcx + rbp]
mov byte [r11 + rbp*4 + 2], al
mov byte [r11 + rbp*4 + 1], al
jmp 0x14041ea4e
mov byte [r11 + rbp*4], al
jmp 0x14041ea57
mov byte [r11 + rbp*4 + 3], 0xff
jmp 0x14041ea62
inc rbp
test edx, edi
cmc
test r10b, 0xec
add rbx, 0xfffffffffffffffc
cmp edi, ebp
jmp 0x14041ea77
jne 0x14041ea3b
mov rax, qword [rsp + 0x38]
cmc
sete r9b
mov edi, eax
movsxd r9, eax
inc r9b
mov r9b, 0x51
sub edi, ebp
sub r11, rbx
movzx r9, r8w
rcr r9w, 0x31
bsr r9w, r12w
add rcx, rbp
bt r9w, si
mov rbp, r11
shl bp, 0
mov rbp, r11
btc r9w, bp
xor r9w, r10w
and r9b, 0xdf
mov r9, rcx
cmp edx, 3
jmp 0x14041eacf
jb 0x14041e309
add edi, 4
xor eax, 0x76905daa
neg al
sub ecx, ecx
btr ax, 0xf5
cmova ax, r14w
stc
nop word cs:[rax + rax]
movzx ax, ah
movzx eax, r10w
movzx eax, byte [r9 + rcx]
stc
mov byte [rbp + rcx*4 + 2], al
mov byte [rbp + rcx*4 + 1], al
clc
mov byte [rbp + rcx*4], al
bt ax, r12w
mov byte [rbp + rcx*4 + 3], 0xff
lahf
adc ax, r14w
movzx eax, byte [r9 + rcx + 1]
cmc
mov byte [rbp + rcx*4 + 6], al
test ecx, eax
cmp r15, r12
mov byte [rbp + rcx*4 + 5], al
mov byte [rbp + rcx*4 + 4], al
xadd ah, al
bt ax, 0x8a
rcl ax, cl
mov byte [rbp + rcx*4 + 7], 0xff
bts ax, si
movzx eax, byte [r9 + rcx + 2]
mov byte [rbp + rcx*4 + 0xa], al
mov byte [rbp + rcx*4 + 9], al
test dil, 0xf
jmp 0x14041eb63
mov byte [rbp + rcx*4 + 8], al
mov byte [rbp + rcx*4 + 0xb], 0xff
shl ah, cl
movsx rax, r14w
movzx eax, byte [r9 + rcx + 3]
test r8b, 0x40
cmp cl, r15b
mov byte [rbp + rcx*4 + 0xe], al
stc
mov byte [rbp + rcx*4 + 0xd], al
mov byte [rbp + rcx*4 + 0xc], al
mov byte [rbp + rcx*4 + 0xf], 0xff
add edi, 0xfffffffc
add rcx, 4
stc
cmp edi, 3
jmp 0x14041eba1
jg 0x14041eafe
jmp 0x14041e309
test eax, eax
jmp 0x14041ebb3
js 0x14041e309
test byte [rsp + 0x28], 7
jmp 0x14041ebc3
je 0x14041f77d
xor ebp, ebp
mov edx, dword [rsp + 0x24]
xadd rcx, rax
mov rcx, qword [rsp + 0xd8]
ror ax, cl
rcr rax, cl
nop dword [rax]
rcl ax, cl
sar al, 0x7b
add al, ah
movzx eax, byte [r9]
test r14w, 0x1c18
mov byte [r11 + rbp], al
cmc
add r9, 2
jmp 0x14041ec04
inc rbp
cmp ecx, ebp
jmp 0x14041ec0e
jne 0x14041ebec
mov rax, qword [rsp + 0x38]
movsx rcx, r11w
rol cx, cl
mov ecx, eax
cmp r11b, 0x39
sub ecx, ebp
test r10, 0x3fb62ca8
add r11, rbp
movsxd rbp, eax
mov rbp, r11
jmp 0x14041ec41
cmp edx, 7
jmp 0x14041ec49
jb 0x14041e309
jmp 0x14041f799
test eax, eax
jmp 0x14041ec5b
js 0x14041e309
test byte [rsp + 0x28], 1
jmp 0x14041ec6b
jne 0x14041f15b
mov eax, dword [rsp + 0x24]
mov ecx, eax
jmp 0x14041ec7c
jmp 0x14041f1ba
test eax, eax
jmp 0x14041ec88
js 0x14041e309
test byte [rsp + 0x28], 1
jne 0x14041f272
mov eax, dword [rsp + 0x24]
movzx rcx, r11w
movsx cx, r15b
mov ecx, eax
jmp 0x14041ecad
jmp 0x14041f2e2
test eax, eax
js 0x14041e309
mov ecx, dword [rsp + 0x24]
clc
cmp ecx, 0xf
jmp 0x14041ecc7
jb 0x14041f920
cmp qword [rsp + 0xc8], 0
jmp 0x14041ecdb
je 0x14041f87b
add r14, qword [rsp + 0x90]
add r8, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
sub ecx, ecx
jmp 0x14041ed00
nop word [rax + rax]
jmp 0x14041ed0b
movq xmm2, qword [r8 + rcx - 0x18]
jmp 0x14041ed17
movq xmm5, qword [r8 + rcx - 0x10]
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x30], xmm2
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2 - 0x20], xmm5
jmp 0x14041ed39
movq xmm2, qword [r8 + rcx - 8]
jmp 0x14041ed45
movq xmm5, qword [r8 + rcx]
jmp 0x14041ed50
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x10], xmm2
jmp 0x14041ed60
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2], xmm5
add rcx, 0x20
add rdi, 0xfffffffffffffffe
jmp 0x14041ed77
jne 0x14041ed0b
jmp 0x14041f882
test eax, eax
jmp 0x14041ed89
js 0x14041e309
test byte [rsp + 0x28], 1
jmp 0x14041ed99
jne 0x14041f416
mov eax, dword [rsp + 0x24]
movsx ecx, r9w
cmovge cx, r12w
mov ecx, eax
jmp 0x14041edb3
jmp 0x14041f461
movzx ebx, byte [r9 + 2]
movzx ecx, byte [r9 + 1]
test r11w, 0x4e93
sub dil, 0x80
movzx edi, byte [r9]
xchg r8b, al
add ah, 0xa5
imul r8d, edi, 0x4d
xor di, r9w
xadd di, di
imul edi, ecx, 0x96
mov eax, 0x69407224
movsxd rcx, edx
adc cx, 0x22e4
lea ecx, [rbx + rbx*8]
lea ecx, [rcx + rcx*2]
sal eax, cl
add ecx, ebx
add ecx, ebx
add ecx, edi
add ecx, r8d
rcl rax, cl
movsx rax, r13w
mov byte [rbp], ch
shl cx, cl
bts eax, r9d
shrd rcx, r9, 0x9a
movzx ecx, byte [r9 + 3]
btc ax, 0x85
not ax
mov byte [rbp + 1], cl
movzx rax, r8w
rol ah, 0xf7
add r9, 4
sbb al, 0xcb
add rbp, 2
movsx ecx, r8w
mov ecx, dword [rsp + 0x30]
cdqe
bswap ax
mov eax, dword [rsp + 0x24]
cmc
test ch, dh
test eax, eax
je 0x14041e309
add ecx, 2
cbw
bt bx, 5
rol eax, 0x47
xor edi, edi
ror ah, 0x66
xor al, 0x2d
nop word cs:[rax + rax]
movzx eax, byte [r9 + rdi*2 + 2]
movzx edx, byte [r9 + rdi*2 + 1]
dec bl
movzx ebx, byte [r9 + rdi*2]
bt esi, 0x4a
bsr si, si
add esi, 0x8a905f9
imul esi, ebx, 0x4d
movsxd rbx, r10d
imul edx, edx, 0x96
xadd bh, bl
lea ebx, [rax + rax*8]
test r15, 0x6a340c2c
test r10b, spl
lea ebx, [rbx + rbx*2]
jmp 0x14041eec5
add ebx, eax
cmc
clc
add ebx, eax
add ebx, edx
inc ax
movsxd rax, r11d
movsx ax, r11b
add ebx, esi
bsr dx, r12w
or ah, 0x91
xchg al, dh
mov byte [rbp + rdi], bh
btr ebx, 0xb7
ror rdx, cl
sar bh, 0x20
movzx eax, byte [r9 + rdi*2 + 3]
mov byte [rbp + rdi + 1], al
bt eax, 0x70
cwd
shr ax, 0x52
movzx eax, byte [r9 + rdi*2 + 6]
mov bx, si
not sil
movzx edx, byte [r9 + rdi*2 + 5]
movzx ebx, byte [r9 + rdi*2 + 4]
shld si, bp, 0x58
mov sil, 0x3c
sar si, cl
imul esi, ebx, 0x4d
bswap rbx
imul edx, edx, 0x96
sbb bx, 0x34bb
bt ebx, r11d
clc
lea ebx, [rax + rax*8]
stc
cmc
test r14d, edx
lea ebx, [rbx + rbx*2]
cmp r12b, cl
add ebx, eax
jmp 0x14041ef5a
add ebx, eax
add ebx, edx
add ebx, esi
jmp 0x14041ef65
mov byte [rbp + rdi + 2], bh
movzx eax, byte [r9 + rdi*2 + 7]
cmp sil, bpl
cmc
mov byte [rbp + rdi + 3], al
cmp bh, dh
jmp 0x14041ef7f
add ecx, 0xfffffffe
add rdi, 4
jmp 0x14041ef92
cmp ecx, 1
jmp 0x14041ef9a
jg 0x14041ee7b
jmp 0x14041e309
movzx eax, byte [r9 + 2]
ror bh, 0xe4
sub bx, r8w
movzx ecx, byte [r9 + 1]
movzx edx, byte [r9]
imul edx, edx, 0x4d
jmp 0x14041efce
imul ebx, ecx, 0x96
cmp bx, 0x64b7
xchg ch, cl
or cx, 0x67ed
lea ecx, [rax + rax*8]
jmp 0x14041efe9
lea ecx, [rcx + rcx*2]
cmc
cmp r9w, cx
add ecx, eax
cmp bpl, 0x16
test dx, r13w
add ecx, eax
shl ah, cl
shr ax, cl
movsx eax, r11w
add ecx, ebx
bts rax, rbp
add ecx, edx
movzx ax, r12b
btr rax, 0x7d
mov byte [rbp], ch
movzx cx, dil
cbw
or cl, 0x56
add r9, 3
not ch
movzx eax, r14w
inc rbp
test r15b, 0xff
shr cl, 0x79
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
jmp 0x14041f049
test eax, eax
jmp 0x14041f050
je 0x14041e309
add ecx, 2
add r9, 5
cmp bp, di
shrd rdx, r11, 0x19
or dl, dil
nop word cs:[rax + rax]
cmp r9b, spl
add dh, 0x38
rcl rbx, cl
movzx eax, byte [r9 - 3]
cmovle edx, r11d
dec bl
movzx edx, byte [r9 - 4]
movsx ebx, r9w
movzx ebx, byte [r9 - 5]
imul edi, ebx, 0x4d
bswap ebx
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
cmp r9, rbx
lea ebx, [rbx + rbx*2]
jmp 0x14041f0b1
add ebx, eax
test r8b, dil
add ebx, eax
rcl ah, cl
rcl ah, 0x75
lahf
add ebx, edx
shld ax, r9w, 0x48
shl dl, cl
shr dl, cl
add ebx, edi
shrd dx, sp, 0x2d
sar rax, cl
xchg dl, dil
mov byte [rbp], bh
sbb ax, 0x4880
stc
bts eax, r10d
movzx eax, byte [r9]
sete dh
movzx edx, byte [r9 - 1]
movzx ebx, byte [r9 - 2]
xor dil, bpl
imul edi, ebx, 0x4d
imul edx, edx, 0x96
shld ebx, ebx, 0x79
movsxd rbx, esi
shl bh, 0xf2
lea ebx, [rax + rax*8]
test sil, r8b
cmp r10b, r14b
lea ebx, [rbx + rbx*2]
add ebx, eax
clc
cmc
cmp r14, 0x3b7f761f
add ebx, eax
jmp 0x14041f12c
add ebx, edx
stc
add ebx, edi
test r15b, bpl
clc
cmp r15d, ebp
mov byte [rbp + 1], bh
add rbp, 2
add ecx, 0xfffffffe
add r9, 6
clc
cmc
cmp ecx, 1
jmp 0x14041f150
jg 0x14041f07d
jmp 0x14041e309
movzx eax, byte [r9]
and ecx, r15d
mov byte [rbp], al
rcl cx, cl
movzx eax, byte [r9 + 1]
shl ch, 6
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
sub cx, 0x227d
mov cx, 0x73f0
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
add r9, 3
movsx cx, r11b
xor cl, spl
bts cx, cx
add rbp, 4
shl ax, cl
xadd al, ah
inc eax
mov ecx, dword [rsp + 0x30]
jmp 0x14041f1b1
mov eax, dword [rsp + 0x24]
jmp 0x14041f1ba
test eax, eax
jmp 0x14041f1c1
je 0x14041e309
add ecx, 2
sar rax, cl
btc rax, 0x75
xadd al, al
nop dword [rax]
neg al
movzx eax, byte [r9]
jmp 0x14041f1e4
mov byte [rbp], al
movzx eax, byte [r9 + 1]
cmc
cmp dil, 0xab
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
cmp bl, 0x56
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
add al, 0x8c
movzx eax, byte [r9 + 3]
test r13w, 0x56d6
mov byte [rbp + 4], al
setne al
btr ax, 0x21
rol al, 0xe3
movzx eax, byte [r9 + 4]
cmp bpl, r13b
mov byte [rbp + 5], al
movzx eax, byte [r9 + 5]
mov byte [rbp + 6], al
test bpl, 0x1b
cmp r13w, 0xf86
mov byte [rbp + 7], 0xff
cmc
clc
add r9, 6
stc
cmp esp, r9d
add rbp, 8
clc
cmp rdx, 0x1cf30335
stc
add ecx, 0xfffffffe
cmp r14w, 0x57bf
cmp ecx, 1
jmp 0x14041f267
jg 0x14041f1db
jmp 0x14041e309
movzx ebx, byte [r9 + 2]
movzx ecx, byte [r9 + 1]
movzx edi, byte [r9]
imul r8d, edi, 0x4d
bsr rax, rdx
bts di, ax
imul edi, ecx, 0x96
lea ecx, [rbx + rbx*8]
not ax
shl eax, cl
lea ecx, [rcx + rcx*2]
neg eax
bswap ax
add ecx, ebx
add ecx, ebx
add ecx, edi
shld rax, r9, 0xda
add ecx, r8d
mov byte [rbp], ch
or cx, r15w
shl al, 0xf5
add r9, 4
cdqe
movsx cx, r10b
setp cl
inc rbp
test r11b, 0xf7
inc ch
mov ecx, dword [rsp + 0x30]
cdqe
mov eax, dword [rsp + 0x24]
stc
cmp bpl, r14b
test r14b, r9b
test eax, eax
jmp 0x14041f2e9
je 0x14041e309
add ecx, 2
or ebx, 0x14263eae
sub edi, edi
btc rsi, rdi
nop word cs:[rax + rax]
add dx, r12w
cbw
movzx eax, byte [r9 + rdi*4 + 2]
btr dx, r13w
bsr si, r13w
cwd
movzx edx, byte [r9 + rdi*4 + 1]
setl sil
bsf rsi, rsi
test r9b, 0xfc
movzx ebx, byte [r9 + rdi*4]
shl si, 0xec
sal sil, 0x81
imul esi, ebx, 0x4d
imul edx, edx, 0x96
bsf bx, di
stc
lea ebx, [rax + rax*8]
stc
cmc
jmp 0x14041f35b
lea ebx, [rbx + rbx*2]
stc
add ebx, eax
test r12b, 0x82
add ebx, eax
bt eax, r11d
bsr rax, r12
rcl al, cl
add ebx, edx
add ebx, esi
btc ax, r9w
mov byte [rbp + rdi], bh
and eax, r11d
jmp 0x14041f386
movzx eax, byte [r9 + rdi*4 + 6]
cmc
ror rdx, cl
xchg dh, dl
movzx edx, byte [r9 + rdi*4 + 5]
adc sil, dl
movzx ebx, byte [r9 + rdi*4 + 4]
xor si, si
sar rsi, cl
add sil, sil
imul esi, ebx, 0x4d
mov bh, bl
sub bl, r12b
jmp 0x14041f3b7
imul edx, edx, 0x96
bt bx, bx
rcl bx, 0xb
cmp r15d, ebx
lea ebx, [rax + rax*8]
stc
jmp 0x14041f3d1
lea ebx, [rbx + rbx*2]
stc
jmp 0x14041f3da
add ebx, eax
cmp sil, r8b
jmp 0x14041f3e4
add ebx, eax
cmp r9b, r11b
stc
add ebx, edx
add ebx, esi
cmp r11b, 0xc7
mov byte [rbp + rdi + 1], bh
test r10w, 0xeeb
add ecx, 0xfffffffe
add rdi, 2
cmp ecx, 1
jmp 0x14041f40b
jg 0x14041f312
jmp 0x14041e309
movzx ecx, byte [r9]
or ah, 0x95
mov byte [rbp], cl
ror cx, 0x28
movzx ecx, byte [r9 + 1]
mov byte [rbp + 1], cl
movsx rax, r10w
movzx ecx, byte [r9 + 2]
btc ax, bx
mov byte [rbp + 2], cl
btr cx, 0x71
movsx ax, r15b
sub cx, 0x4b47
add r9, 4
movzx cx, bh
add rbp, 3
mov ecx, dword [rsp + 0x30]
cwde
mov eax, dword [rsp + 0x24]
stc
test eax, eax
je 0x14041e309
add ecx, 2
ror eax, cl
clc
nop dword [rax]
shrd eax, r9d, 0xb2
rcl al, cl
xor eax, r15d
movzx eax, byte [r9]
mov byte [rbp], al
xadd al, ah
movzx eax, byte [r9 + 1]
clc
mov byte [rbp + 1], al
movzx ax, r10b
rcr ah, 0x21
sets al
movzx eax, byte [r9 + 2]
test sp, r9w
test bh, 0x26
jmp 0x14041f4ac
mov byte [rbp + 2], al
ror ax, 0xce
movzx eax, byte [r9 + 4]
test sil, cl
mov byte [rbp + 3], al
movzx eax, byte [r9 + 5]
test r14b, r13b
mov byte [rbp + 4], al
mov al, r11b
movzx eax, byte [r9 + 6]
cmp sp, r15w
clc
mov byte [rbp + 5], al
add r9, 8
cmp r8, rdi
cmc
stc
add rbp, 6
add ecx, 0xfffffffe
stc
clc
cmp ecx, 1
jmp 0x14041f4f3
jg 0x14041f47d
jmp 0x14041e309
mov edx, dword [rsp + 0x24]
btc ecx, r14d
mov ecx, edx
test r14b, r11b
cmc
cmp edx, 3
jmp 0x14041f514
jb 0x14041e309
add ecx, 4
clc
add rbp, 0xb
bswap ax
shl ah, 0x2f
nop word [rax + rax]
movzx eax, byte [r9]
mov byte [rbp - 9], al
stc
cmp di, 0x2423
mov byte [rbp - 0xa], al
mov byte [rbp - 0xb], al
shr rax, 0xa2
or ax, 0x1ff2
movzx eax, byte [r9 + 2]
stc
jmp 0x14041f554
mov byte [rbp - 6], al
cmp rsi, r10
test r8b, 0x48
mov byte [rbp - 7], al
cmp esp, r9d
mov byte [rbp - 8], al
bt eax, edi
movzx ax, r13b
cmp bpl, bl
movzx eax, byte [r9 + 4]
jmp 0x14041f57c
mov byte [rbp - 3], al
mov byte [rbp - 4], al
cmp dh, 0x7b
jmp 0x14041f58a
mov byte [rbp - 5], al
movzx eax, byte [r9 + 6]
test bh, 0x67
clc
test r10b, dil
mov byte [rbp], al
mov byte [rbp - 1], al
test ebp, 0x52a94d89
mov byte [rbp - 2], al
test sil, dil
add r9, 8
cmp r12w, dx
add ecx, 0xfffffffc
clc
add rbp, 0xc
jmp 0x14041f5c8
cmp ecx, 3
jmp 0x14041f5d0
jg 0x14041f52e
jmp 0x14041e309
mov edx, dword [rsp + 0x24]
cmp ecx, 0x62c962a3
adc dil, cl
mov edi, edx
cmp edx, 3
jb 0x14041e309
add edi, 4
cbw
movzx ax, bpl
add rbp, 0xb
xor al, r15b
cmovb ax, di
add rax, r12
nop word cs:[rax + rax]
rcr ah, 0x1b
ror ax, 0x81
movzx eax, byte [r9]
mov byte [rbp - 9], al
cmp r9w, 0x227e
mov byte [rbp - 0xa], al
test ebx, r10d
cmc
mov byte [rbp - 0xb], al
sal ax, cl
movzx eax, byte [r9 + 1]
clc
cmp bl, sil
mov byte [rbp - 6], al
stc
cmp cx, sp
cmc
mov byte [rbp - 7], al
clc
mov byte [rbp - 8], al
cbw
bts rax, rbx
movzx eax, byte [r9 + 2]
test r11, 0x176560bd
mov byte [rbp - 3], al
jmp 0x14041f66f
mov byte [rbp - 4], al
clc
mov byte [rbp - 5], al
movsx eax, r12w
movzx eax, r14w
movzx eax, byte [r9 + 3]
jmp 0x14041f68c
mov byte [rbp], al
stc
cmp rbx, r13
mov byte [rbp - 1], al
stc
mov byte [rbp - 2], al
add r9, 4
add edi, 0xfffffffc
test r14b, 0xe5
add rbp, 0xc
cmp edi, 3
jmp 0x14041f6b1
jg 0x14041f620
jmp 0x14041e309
mov edx, dword [rsp + 0x24]
movsx rcx, r13w
cmp r13w, si
mov ecx, edx
cmp edx, 3
jmp 0x14041f6d2
jb 0x14041e309
add ecx, 4
xor edi, edi
movzx eax, word [r9 + rdi]
jmp 0x14041f6e7
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2], xmm2
movzx eax, word [r9 + rdi + 2]
jmp 0x14041f709
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 4], xmm2
movzx eax, word [r9 + rdi + 4]
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 8], xmm2
movzx eax, word [r9 + rdi + 6]
jmp 0x14041f748
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 0xc], xmm2
add ecx, 0xfffffffc
add rdi, 8
clc
cmp cl, bpl
cmp ecx, 3
jmp 0x14041f772
jg 0x14041f6dd
jmp 0x14041e309
mov edx, dword [rsp + 0x24]
mov ecx, edx
test r10b, r12b
jmp 0x14041f78b
cmp edx, 7
jmp 0x14041f793
jb 0x14041e309
add ecx, 8
xor edi, edi
dec ah
rol al, cl
stc
nop dword [rax + rax]
movzx eax, byte [r9 + rdi*2]
jmp 0x14041f7b9
mov byte [rbp + rdi], al
and rax, 0x1142385c
or ax, 0x301a
movzx eax, byte [r9 + rdi*2 + 2]
stc
test r12b, dl
mov byte [rbp + rdi + 1], al
shrd ax, sp, 0xe3
cdqe
movzx eax, byte [r9 + rdi*2 + 4]
mov byte [rbp + rdi + 2], al
nop
shl ax, cl
movsxd rax, r9d
movzx eax, byte [r9 + rdi*2 + 6]
mov byte [rbp + rdi + 3], al
add al, dil
btr rax, 0xef
shl al, cl
movzx eax, byte [r9 + rdi*2 + 8]
cmp r13b, 0xcb
clc
test rdx, 0x6a116308
mov byte [rbp + rdi + 4], al
movzx eax, byte [r9 + rdi*2 + 0xa]
test di, r11w
cmp spl, al
mov byte [rbp + rdi + 5], al
shr ah, 0xdb
lahf
movzx eax, byte [r9 + rdi*2 + 0xc]
test di, 0x4671
mov byte [rbp + rdi + 6], al
cmovns rax, r8
adc ah, 0xb0
movzx eax, byte [r9 + rdi*2 + 0xe]
cmc
test bl, sil
stc
mov byte [rbp + rdi + 7], al
add ecx, 0xfffffff8
test rcx, 0x4118379e
cmc
add rdi, 8
test r15w, 0x60c6
cmp ecx, 7
jmp 0x14041f870
jg 0x14041f7ab
jmp 0x14041e309
xor ecx, ecx
jmp 0x14041f882
test byte [rsp + 0xc0], 1
jmp 0x14041f88f
je 0x14041f8d9
lea rax, [rcx + rcx]
cmp r12b, 0xf7
or rax, 0x10
jmp 0x14041f8a6
movq xmm2, qword [r9 + rcx]
movq xmm5, qword [r9 + rcx + 8]
jmp 0x14041f8b8
punpcklbw xmm2, xmm0
movdqu xmmword [rbp + rcx*2], xmm2
jmp 0x14041f8c7
punpcklbw xmm5, xmm0
movdqu xmmword [rbp + rax], xmm5
btc ax, si
movzx rax, r11w
mov rax, qword [rsp + 0x60]
clc
stc
cmp r15b, dil
cmp qword [rsp + 0x68], rax
jmp 0x14041f8ed
je 0x14041e309
add rbp, qword [rsp + 0x80]
adc ax, 0x2b69
add r9, qword [rsp + 0x60]
mov rax, 0x39696962
movzx ecx, dx
not cx
mov ecx, dword [rsp + 0x54]
movzx ax, dl
movsx eax, r12w
movsxd rax, r12d
inc ecx
ror ah, 0x56
lahf
xor ebx, ebx
inc ah
dec ah
nop word [rax + rax]
cwde
movzx eax, byte [r9 + rbx]
jmp 0x14041f93d
mov byte [rbp + rbx*2], al
mov byte [rbp + rbx*2 + 1], 0xff
jmp 0x14041f94b
dec ecx
jmp 0x14041f952
inc rbx
clc
test r12w, ax
test ecx, ecx
jmp 0x14041f961
jg 0x14041f933
jmp 0x14041e309
mov rcx, rsi
jmp 0x14041f974
call fcn.14020a600
mov rax, qword [rsp + 0x78]
jmp 0x14041f99f
mov rcx, rsi
mov sil, 0xe2
mov rsi, rdx
call fcn.14020a600
mov rcx, rsi
call fcn.14020a600
sub eax, eax
sal r12b, 0x5d
movaps xmm6, xmmword [rsp + 0xf0]
shl r13b, 0x11
bt si, 0xae
movaps xmm7, xmmword [rsp + 0x100]
dec dil
shld bx, bp, 0x11
shr r15b, 0x8c
movaps xmm8, xmmword [rsp + 0x110]
rol r12b, 0xcc
add rsp, 0x128
setno r13b
pop rbx
pop rbp
cmovle si, bp
pop rdi
movzx r14d, bx
pop rsi
movsx r14w, al
movsx r12d, di
movzx r14d, si
pop r12
cmovg r14d, r12d
pop r13
jmp 0x14041fa05
pop r14
pop r15
jmp 0x14041fa0e
ret