Function at 0x14041b849
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
push r15
stc
push r14
clc
push r13
test eax, 0xf82c96
cmp r8w, ax
push r12
cmp sil, 0x6f
cmc
push rsi
test cl, sil
stc
clc
push rdi
test r9b, spl
push rbp
push rbx
sub rsp, 0x128
jmp 0x14041b87c
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
shr ax, 0x17
mov rax, rdx
test bpl, al
mov qword [rsp + 0x48], rdx
test r9w, 0x2145
test r9, rbp
cmp r8d, edx
jmp 0x14041b8bb
jne 0x14041b8c9
mov rax, rsi
jmp 0x14041d217
mov ebx, r9d
mov ebp, r8d
btr eax, 0xc2
movzx rax, r12w
mov eax, r9d
clc
or eax, r8d
jmp 0x14041b8e3
js 0x14041d20d
test ebx, ebx
jmp 0x14041b8f0
je 0x14041b90d
mov eax, 0x7fffffff
xor edx, edx
idiv ebx
clc
cmp eax, ebp
jmp 0x14041b907
jl 0x14041d20d
mov edi, dword [rsp + 0x190]
cdqe
mov eax, ebx
imul eax, ebp
cmp r13d, ecx
stc
mov dword [rsp + 0x34], eax
cmp ch, 0x39
or eax, edi
js 0x14041d20d
test edi, edi
jmp 0x14041b935
je 0x14041b957
mov eax, 0x7fffffff
test r12b, r15b
cmc
sub edx, edx
idiv edi
cmp eax, dword [rsp + 0x34]
jmp 0x14041b951
jl 0x14041d20d
mov eax, dword [rsp + 0x34]
sub ch, ah
imul eax, edi
movsxd rcx, esi
movzx cx, spl
movsxd rcx, eax
jmp 0x14041b970
call fcn.1400f440e
test rax, rax
je 0x14041d20d
mov rdx, rax
cmc
mov qword [rsp + 0x70], rbp
stc
jmp 0x14041b98d
test edi, edi
jmp 0x14041b994
mov qword [rsp + 0x78], rax
jmp 0x14041b99e
jle 0x14041d1d9
mov rax, qword [rsp + 0x70]
rcr ecx, 0x3b
ror r15d, 0x61
mov rcx, qword [rsp + 0x48]
btr r15w, 0x15
sbb r15w, 0x68f7
lea r15d, [rax + rcx*8]
clc
test r13w, 0x31be
cmp esp, 0x47173848
cmp r15d, 0x23
ja 0x14041d1f5
movabs rcx, 0xe161a1c00
stc
clc
bt rcx, r15
jmp 0x14041b9f1
jae 0x14041d1f5
lea eax, [rbx - 1]
bswap bp
movsxd rbp, r13d
jmp 0x14041ba05
mov ecx, edi
movzx rbp, dx
mov qword [rsp + 0xe0], rcx
movsx r8w, r10b
mov ecx, eax
mov qword [rsp + 0x38], rcx
movzx di, bpl
inc rcx
sar r8, 0x79
btr r8d, 0xce
shl bp, 0xee
mov r8, rcx
xor rdi, rsp
and r8, 0xfffffffffffffff0
adc bpl, 0xb9
cmp al, r13b
bswap bp
lea rdi, [r8 - 0x10]
shr bpl, 0x50
shld bp, r11w, 0xf
mov qword [rsp + 0xc8], rdi
shr rdi, 4
movzx rbp, r8w
inc rdi
bsf bp, dx
lea ebp, [rbx - 2]
mov dword [rsp + 0x30], ebp
movabs rbp, 0x1fffffff0
or rbp, 8
cmc
mov qword [rsp + 0x68], rcx
and rbp, rcx
bt cx, 0xe7
clc
bswap cx
mov ecx, eax
test r10w, r13w
cmc
sub ecx, ebp
cmc
test spl, 0x9f
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x24], eax
shrd cx, r8w, 0xfb
jmp 0x14041bab5
sub eax, r8d
xor cl, 0xdf
mov dword [rsp + 0x54], eax
movsx rax, ax
btc eax, r13d
mov rax, rdi
mov qword [rsp + 0xc0], rdi
rcl al, cl
btc cx, r10w
and rdi, 0xfffffffffffffffe
shld ecx, ebp, 0xf2
mov qword [rsp + 0x98], rdi
rcl cl, cl
bsr ax, di
cmc
mov eax, ebx
bts ecx, edi
cmp r12w, ax
imul eax, dword [rsp + 0x48]
mov dword [rsp + 0x5c], eax
rcr eax, cl
mov eax, ebx
movsx cx, r12b
and eax, 3
ror cx, 0x72
mov ecx, ebx
jmp 0x14041bb19
and ecx, 7
jmp 0x14041bb21
mov qword [rsp + 0xd8], rcx
jmp 0x14041bb2e
pcmpeqd xmm0, xmm0
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1400bf4e0]
movdqa xmm3, xmmword [0x1400bf4f0]
movdqa xmm4, xmmword [0x1400bf500]
lea rcx, [rbp + rbp]
cmp sil, dil
mov qword [rsp + 0xb0], rcx
clc
rcl ch, cl
mov qword [rsp + 0xb8], rbp
cmp esi, 0x30443e60
lea rcx, [rbp + rbp*2]
cmp spl, r11b
mov qword [rsp + 0xa8], rcx
cmove ecx, esi
shld cx, r12w, 0x2c
add ch, 0x8b
mov qword [rsp + 0x60], r8
btc ecx, r11d
rol ecx, 0x40
lea rcx, [r8 + r8]
mov qword [rsp + 0x80], rcx
rol rcx, 0x9c
lea rcx, [rsi + 0x17]
test cl, 0x3b
cmc
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x40], rax
cmp sil, r15b
clc
lea rax, [rax + rax*2]
stc
mov qword [rsp + 0xd0], rax
ror ah, 0x85
movsx ax, ch
lea rax, [rdx + 0x30]
mov qword [rsp + 0x90], rax
clc
mov al, dl
lea rax, [rsi + 0x18]
mov qword [rsp + 0x88], rax
test r9b, 0x5d
xor r10d, r10d
clc
sub r13d, r13d
sub r12d, r12d
jmp 0x14041bc03
mov qword [rsp + 0xe8], rsi
jmp 0x14041bc10
mov qword [rsp + 0x28], rbx
jmp 0x14041bc5e
inc r12
xchg rbx, rsi
add r13d, dword [rsp + 0x5c]
bsf rbx, rax
setno bl
cmovp edx, eax
add r10d, dword [rsp + 0x34]
cmp r12, qword [rsp + 0xe0]
not dl
movzx esi, r12w
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x28]
movzx rdx, r12w
mov rdx, qword [rsp + 0x78]
je 0x14041d1d9
mov r14d, r10d
mov r8d, r13d
xor r9b, 0x71
clc
sbb r11b, 0xbb
lea r11, [rdx + r14]
test dl, dil
movzx bp, dil
mov ebp, r12d
stc
imul ebp, ebx
or r9, rdi
btc r9d, 0x11
mov r9d, ebp
imul r9d, dword [rsp + 0x48]
add r9, rsi
stc
cmc
imul ebp, dword [rsp + 0x70]
test edx, 0x8f3735e
cmc
add rbp, rdx
cmp r15d, 0x13
jmp 0x14041bcae
jle 0x14041c07f
cmp r15d, 0x1b
mov al, r12b
movsxd rax, r8d
mov eax, dword [rsp + 0x24]
jg 0x14041c173
cmp r15d, 0x14
jmp 0x14041bcd1
je 0x14041c287
cmp r15d, 0x19
je 0x14041c331
cmp r15d, 0x1a
jne 0x14041c6d0
test eax, eax
js 0x14041bc1a
mov ecx, dword [rsp + 0x24]
test bx, 0x74c
cmp ecx, 7
jmp 0x14041bd04
jb 0x14041bfcb
add r8, qword [rsp + 0xa0]
shr bl, 0xa4
test bx, di
add rbp, qword [rsp + 0xb0]
add r9, qword [rsp + 0xa8]
xor bl, 0x14
sub ecx, ecx
cwd
add dx, si
mov r14, qword [rsp + 0xb8]
sub dh, 0x46
sar bx, 0x8b
nop
movzx edi, byte [r8 - 0x15]
movzx ebx, byte [r8 - 0xf]
mov dh, 0x1a
bt ax, 0xae
sub ax, 0x551d
movzx esi, byte [r8 - 9]
sal ax, 0xdf
movzx dx, r14b
cmovno dx, r10w
movzx eax, byte [r8 - 3]
shl rdx, 0x15
btr dx, 0x69
cwd
movzx edx, byte [r8 - 0xc]
stc
test r15b, 0x83
shl edx, 8
test r9b, 0xe8
cmp r12b, 0x78
cmp dl, r9b
or edx, ebx
sal ebx, 0x4d
btc rbx, rax
ror bh, 0x77
movzx ebx, byte [r8 - 0x12]
jmp 0x14041bdaa
shl ebx, 8
test r13b, 0xf
jmp 0x14041bdb6
or ebx, edi
jmp 0x14041bdbd
movd xmm7, ebx
pinsrw xmm7, edx, 1
movzx edx, byte [r8]
cmc
shl edx, 8
stc
jmp 0x14041bdd4
or edx, eax
movzx eax, byte [r8 - 6]
cmc
test r11, 0x7e2924b2
shl eax, 8
or eax, esi
jmp 0x14041bded
movd xmm2, eax
pinsrw xmm2, edx, 1
punpcklbw xmm2, xmm1
movzx eax, byte [r8 - 0x16]
bsr bx, r13w
movzx edx, byte [r8 - 0x10]
btr di, 0x4e
movzx esi, byte [r8 - 0xa]
bsf rdi, rcx
shr rdi, 0x47
btr ebx, 0xc7
movzx edi, byte [r8 - 4]
movzx ebx, byte [r8 - 0xd]
stc
cmp esp, r12d
shl ebx, 8
test edx, 0x37417a31
or ebx, edx
btr rdx, 0x7d
shr dl, cl
movzx edx, byte [r8 - 0x13]
shl edx, 8
clc
or edx, eax
jmp 0x14041be4f
movd xmm5, edx
pinsrw xmm5, ebx, 1
movzx eax, byte [r8 - 1]
and dh, 0xa7
rcr dx, cl
sbb dh, 0x4e
shl eax, 8
or eax, edi
stc
sub edx, ebx
movzx edx, byte [r8 - 7]
jmp 0x14041be78
shl edx, 8
cmp r8b, 0xa5
stc
cmp rbp, r11
or edx, esi
jmp 0x14041be8a
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]
shld si, cx, 0x7e
movzx edx, byte [r8 - 0x11]
shr bx, cl
sar bx, cl
movzx esi, byte [r8 - 0xb]
bt rbx, rcx
add dil, 0x36
movzx edi, byte [r8 - 5]
and bl, 0x53
movzx ebx, byte [r8 - 0xe]
cmc
shl ebx, 8
clc
or ebx, edx
rcl rdx, cl
movzx edx, byte [r8 - 0x14]
cmc
jmp 0x14041beeb
shl edx, 8
cmp bp, r15w
test r12b, dil
jmp 0x14041befa
or edx, eax
jmp 0x14041bf01
movd xmm2, edx
pinsrw xmm2, ebx, 1
movzx eax, byte [r8 - 2]
rcr dl, cl
shl eax, 8
movzx rdx, ax
or eax, edi
shr dl, cl
inc dx
movzx edx, byte [r8 - 8]
clc
cmp bpl, 0xad
shl edx, 8
jmp 0x14041bf32
or edx, esi
jmp 0x14041bf39
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
add r8, 0x18
cmc
cmp al, r10b
cmp r14, rcx
jmp 0x14041bfa4
jne 0x14041bd43
mov ecx, dword [rsp + 0x58]
cmp ebp, 0x14b678c4
cmp sil, r11b
test r9w, r15w
cmp qword [rsp + 0x68], r14
jmp 0x14041bfc5
je 0x14041bc1a
inc ecx
shr rdi, 0xc5
movzx rdi, si
add r9, 2
nop word cs:[rax + rax]
mov edx, 0x6a9c37c6
rcl dl, cl
movzx eax, byte [r9]
bswap dx
and dx, 0x1ff9
movzx edx, byte [r9 - 1]
ror di, cl
rcr bh, 0x42
mov di, bx
movzx ebx, byte [r9 - 2]
imul edi, ebx, 0x4d
sub bx, 0x6150
bsr bx, r15w
movzx bx, r10b
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
test rdx, 0x79bc69a4
jmp 0x14041c032
lea ebx, [rbx + rbx*2]
test r8w, dx
cmc
add ebx, eax
test r10w, bx
cmp r13b, al
add ebx, eax
stc
add ebx, edx
add ebx, edi
jmp 0x14041c053
mov byte [rbp], bh
mov byte [rbp + 1], 0xff
clc
add rbp, 2
jmp 0x14041c064
dec ecx
test di, di
add r9, 3
test ecx, ecx
jmp 0x14041c074
jg 0x14041bfeb
jmp 0x14041bc1a
lea rcx, [rsi + r8]
cmp r15d, 0xb
lahf
nop
mov eax, dword [rsp + 0x24]
jmp 0x14041c092
jle 0x14041c1ca
cmp r15d, 0xc
jmp 0x14041c0a1
je 0x14041c360
cmp r15d, 0x11
jmp 0x14041c0b0
je 0x14041c50a
cmp r15d, 0x13
jmp 0x14041c0bf
jne 0x14041c6d0
test eax, eax
jmp 0x14041c0cc
js 0x14041bc1a
test byte [rsp + 0x28], 3
jmp 0x14041c0dc
je 0x14041cd82
xor ebp, ebp
rcr bh, cl
mov edx, dword [rsp + 0x24]
movsxd rax, esi
sar bh, 0xcb
mov ecx, edx
clc
setg ah
ror bl, cl
mov rbx, qword [rsp + 0xd0]
not ax
btc ax, 0xdb
btr rax, 0xda
nop word cs:[rax + rax]
sub ax, r9w
movzx eax, byte [r9]
mov byte [r11 + rbp + 2], al
test di, di
mov byte [r11 + rbp + 1], al
stc
mov byte [r11 + rbp], al
add r9, 2
jmp 0x14041c13d
dec ecx
add rbp, 3
cmp r11b, 0x97
cmp ebx, ebp
jmp 0x14041c14e
jne 0x14041c11e
add r11, rbp
sal bpl, 0xdd
shl bpl, 0x6d
mov rbp, r11
cmp sil, r9b
cmp edx, 3
jb 0x14041bc1a
jmp 0x14041cda5
cmp r15d, 0x1c
jmp 0x14041c17c
je 0x14041c58b
cmp r15d, 0x21
jmp 0x14041c18b
je 0x14041c5c4
cmp r15d, 0x22
jne 0x14041c6d0
test eax, eax
jmp 0x14041c1a2
js 0x14041bc1a
test byte [rsp + 0x28], 1
jmp 0x14041c1b2
jne 0x14041c6fb
mov eax, dword [rsp + 0x24]
jmp 0x14041c1c3
mov ecx, eax
jmp 0x14041c79a
cmp r15d, 0xa
jmp 0x14041c1d3
je 0x14041c5f3
cmp r15d, 0xb
jmp 0x14041c1e2
jne 0x14041c6d0
test eax, eax
js 0x14041bc1a
test byte [rsp + 0x28], 3
jmp 0x14041c1fa
je 0x14041ce72
xor ebx, ebx
mov dl, r10b
mov edx, dword [rsp + 0x24]
bts ax, bx
mov rdi, qword [rsp + 0x40]
btc eax, ebx
or al, r13b
add al, 0xa1
nop
stc
movzx eax, byte [rcx + rbx]
test r12b, spl
mov byte [rbp + 2], al
stc
mov byte [rbp + 1], al
mov byte [rbp], al
test ah, 0xb5
add rbp, 3
jmp 0x14041c23a
inc rbx
cmp r10b, r9b
cmp edi, ebx
jmp 0x14041c247
jne 0x14041c21d
mov rax, qword [rsp + 0x38]
movzx rdi, cx
shl r9w, cl
mov edi, eax
xor r9b, bl
sub edi, ebx
cmc
add rcx, rbx
mov r9b, 0x73
bt r9d, 0xf1
sar r9b, 0xea
mov r9, rcx
cmp edx, 3
jmp 0x14041c27c
jb 0x14041bc1a
jmp 0x14041ce90
test eax, eax
jmp 0x14041c28e
js 0x14041bc1a
test byte [rsp + 0x28], 3
jmp 0x14041c29e
je 0x14041cf5e
sub edi, edi
cwde
cdq
xchg rcx, rax
mov edx, dword [rsp + 0x24]
movsxd rcx, r14d
mov rcx, qword [rsp + 0x40]
nop word cs:[rax + rax]
nop
setnp ah
movzx eax, word [r9]
jmp 0x14041c2d0
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp], xmm2
add r9, 2
stc
cmc
cmp dx, 0x6132
add rbp, 4
jmp 0x14041c2fa
inc rdi
cmp ecx, edi
jmp 0x14041c304
jne 0x14041c2c7
mov rax, qword [rsp + 0x38]
and cl, sil
mov ecx, eax
sub ecx, edi
jmp 0x14041c31e
cmp edx, 3
jmp 0x14041c326
jb 0x14041bc1a
jmp 0x14041cf7a
test eax, eax
jmp 0x14041c338
js 0x14041bc1a
test byte [rsp + 0x28], 1
jmp 0x14041c348
jne 0x14041c8ca
mov eax, dword [rsp + 0x24]
bswap ecx
mov ecx, eax
jmp 0x14041c35b
jmp 0x14041c93c
test eax, eax
js 0x14041bc1a
mov edx, dword [rsp + 0x24]
sar edi, cl
not edi
and edi, 0x26373b5c
mov edi, edx
cmc
cmp r9, rsp
test byte [rsp + 0x28], 3
jmp 0x14041c386
je 0x14041c41f
sub ebx, ebx
shl ah, 0xf9
xor dil, 0xf3
sub ebp, ebp
mov di, 0x26d4
mov rdi, qword [rsp + 0x40]
setl al
nop dword [rax]
cwde
mov al, 0x42
movzx eax, byte [rcx + rbp]
mov byte [r11 + rbp*4 + 2], al
mov byte [r11 + rbp*4 + 1], al
jmp 0x14041c3bd
mov byte [r11 + rbp*4], al
mov byte [r11 + rbp*4 + 3], 0xff
inc rbp
clc
add rbx, 0xfffffffffffffffc
cmp bh, 0xd2
test r13b, r13b
cmp edi, ebp
jmp 0x14041c3dc
jne 0x14041c3aa
mov rax, qword [rsp + 0x38]
mov r9, 0x24985c78
cmc
mov edi, eax
or r9b, 0x75
sub edi, ebp
shr r9, cl
sub r11, rbx
and r9, r8
movsx r9w, r13b
or r9b, r8b
add rcx, rbp
mov rbp, r11
dec r9b
mov r9, rcx
test r15b, r9b
cmp r8d, r9d
cmp bx, 0x7474
cmp edx, 3
jmp 0x14041c427
jb 0x14041bc1a
add edi, 4
xor ecx, ecx
cwde
adc ax, 0x2747
sbb ax, 0x70d9
nop word cs:[rax + rax]
shl ax, 0x9a
movzx eax, byte [r9 + rcx]
mov byte [rbp + rcx*4 + 2], al
cmp sp, di
mov byte [rbp + rcx*4 + 1], al
stc
cmp r12b, r14b
mov byte [rbp + rcx*4], al
mov byte [rbp + rcx*4 + 3], 0xff
movzx eax, byte [r9 + rcx + 1]
mov byte [rbp + rcx*4 + 6], al
cmc
stc
cmp bx, r11w
mov byte [rbp + rcx*4 + 5], al
cmp sil, 0x44
mov byte [rbp + rcx*4 + 4], al
sal al, 0xd8
cdqe
and ah, 0x92
mov byte [rbp + rcx*4 + 7], 0xff
ror al, 0x49
mov al, r8b
inc ah
movzx eax, byte [r9 + rcx + 2]
cmc
mov byte [rbp + rcx*4 + 0xa], al
jmp 0x14041c4a8
mov byte [rbp + rcx*4 + 9], al
jmp 0x14041c4b1
mov byte [rbp + rcx*4 + 8], al
mov byte [rbp + rcx*4 + 0xb], 0xff
ror ax, 0xba
sar ax, 5
rol ax, cl
movzx eax, byte [r9 + rcx + 3]
stc
mov byte [rbp + rcx*4 + 0xe], al
cmp r10w, 0x2475
cmp r8b, cl
mov byte [rbp + rcx*4 + 0xd], al
clc
mov byte [rbp + rcx*4 + 0xc], al
test bl, 0x28
clc
mov byte [rbp + rcx*4 + 0xf], 0xff
stc
add edi, 0xfffffffc
add rcx, 4
cmp r15b, 0xeb
cmp edi, 3
jmp 0x14041c4ff
jg 0x14041c449
jmp 0x14041bc1a
test eax, eax
js 0x14041bc1a
test byte [rsp + 0x28], 7
je 0x14041d033
xor ebp, ebp
mov edx, dword [rsp + 0x24]
mov rcx, qword [rsp + 0xd8]
nop dword [rax]
inc eax
setl al
movzx eax, byte [r9]
mov byte [r11 + rbp], al
test r12b, bl
cmc
add r9, 2
jmp 0x14041c548
inc rbp
cmp ecx, ebp
jmp 0x14041c552
jne 0x14041c533
mov rax, qword [rsp + 0x38]
ror ch, cl
mov ecx, eax
jmp 0x14041c566
sub ecx, ebp
stc
lea r11, [r11 + rbp]
cmp rax, 0xe3f1bb8
rcr ebp, 0x63
add ebp, edi
mov rbp, r11
stc
cmp edx, 7
jb 0x14041bc1a
jmp 0x14041d049
test eax, eax
jmp 0x14041c592
js 0x14041bc1a
test byte [rsp + 0x28], 1
jmp 0x14041c5a2
jne 0x14041ca2a
mov eax, dword [rsp + 0x24]
movzx cx, dh
movsx cx, bh
movzx rcx, r11w
mov ecx, eax
jmp 0x14041c5bf
jmp 0x14041ca76
test eax, eax
jmp 0x14041c5cb
js 0x14041bc1a
test byte [rsp + 0x28], 1
jmp 0x14041c5db
jne 0x14041cb36
mov eax, dword [rsp + 0x24]
xchg ch, cl
mov ecx, eax
jmp 0x14041c5ee
jmp 0x14041cbac
test eax, eax
jmp 0x14041c5fa
js 0x14041bc1a
mov ecx, dword [rsp + 0x24]
test r11d, r15d
cmp ecx, 0xf
jb 0x14041d19c
cmp qword [rsp + 0xc8], 0
jmp 0x14041c61e
je 0x14041d114
add r14, qword [rsp + 0x90]
or dil, 0x71
add r8, qword [rsp + 0x88]
sar dil, 0xad
clc
btc edi, r11d
mov rdi, qword [rsp + 0x98]
test r14b, dl
sub ecx, ecx
jmp 0x14041c653
nop word [rax + rax]
movq xmm2, qword [r8 + rcx - 0x18]
movq xmm5, qword [r8 + rcx - 0x10]
jmp 0x14041c66c
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x30], xmm2
jmp 0x14041c67c
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2 - 0x20], xmm5
jmp 0x14041c68c
movq xmm2, qword [r8 + rcx - 8]
movq xmm5, qword [r8 + rcx]
jmp 0x14041c69e
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x10], xmm2
jmp 0x14041c6ae
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2], xmm5
add rcx, 0x20
add rdi, 0xfffffffffffffffe
jmp 0x14041c6c5
jne 0x14041c659
jmp 0x14041d116
test eax, eax
js 0x14041bc1a
test byte [rsp + 0x28], 1
jmp 0x14041c6e2
jne 0x14041cc97
mov eax, dword [rsp + 0x24]
movsx ecx, di
mov ecx, eax
jmp 0x14041c6f6
jmp 0x14041ccf3
movzx ebx, byte [r9 + 2]
btc di, si
btc ecx, 0xc0
movzx ecx, byte [r9 + 1]
mov dil, 0x18
movzx edi, byte [r9]
clc
movsx ax, r9b
imul r8d, edi, 0x4d
shl al, cl
btc eax, 0x84
imul edi, ecx, 0x96
lea ecx, [rbx + rbx*8]
sar ax, 0x9c
cmp bx, r9w
lea ecx, [rcx + rcx*2]
sbb ah, 0x76
cmovle rax, r13
add ecx, ebx
mov ax, 0x4abd
add ecx, ebx
btc eax, ecx
dec ah
rcl ax, 0xe7
add ecx, edi
ror ah, 0x77
xor al, 0x68
movzx ax, r9b
add ecx, r8d
lahf
mov byte [rbp], ch
btr ecx, esi
ror cl, 0x77
movsx cx, r14b
movzx ecx, byte [r9 + 3]
mov byte [rbp + 1], cl
cmovnp rcx, r13
sbb ah, 0xff
xchg ch, ah
add r9, 4
setl ch
clc
add rbp, 2
bsr ax, r11w
xchg ch, cl
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
test eax, eax
jmp 0x14041c7a1
je 0x14041bc1a
add ecx, 2
rcl bx, cl
sub edi, edi
mov ah, 0x14
nop word cs:[rax + rax]
bt eax, eax
or bl, sil
sbb sil, 0x5d
movzx eax, byte [r9 + rdi*2 + 2]
sbb bl, ch
bts si, r13w
movzx edx, byte [r9 + rdi*2 + 1]
stc
movzx ebx, byte [r9 + rdi*2]
ror sil, cl
imul esi, ebx, 0x4d
neg bl
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
clc
lea ebx, [rbx + rbx*2]
add ebx, eax
test r14b, cl
add ebx, eax
add al, 0x76
add ebx, edx
sar al, cl
rcr ax, 0xa4
test eax, 0x6eb87a8a
add ebx, esi
shrd eax, r15d, 0x4c
setns dl
mov byte [rbp + rdi], bh
bswap si
movzx eax, byte [r9 + rdi*2 + 3]
adc dh, 0x46
rcl sil, cl
bswap rdx
mov byte [rbp + rdi + 1], al
bts ax, sp
movzx eax, byte [r9 + rdi*2 + 6]
btc si, r8w
bsf bx, bx
sal bl, 0x3f
movzx edx, byte [r9 + rdi*2 + 5]
bsf rbx, r10
sbb si, 0x277a
shl sil, 9
movzx ebx, byte [r9 + rdi*2 + 4]
adc si, 0x4b66
sal esi, 0x42
add si, r15w
imul esi, ebx, 0x4d
add bh, ch
inc bx
shr bx, 0x92
imul edx, edx, 0x96
cmp r13w, ax
add ebx, r10d
shl ebx, cl
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
cmc
add ebx, eax
add ebx, eax
ror ah, cl
add ebx, edx
adc al, bh
jmp 0x14041c89e
add ebx, esi
mov byte [rbp + rdi + 2], bh
btc ax, di
rcl ah, cl
movzx eax, byte [r9 + rdi*2 + 7]
stc
mov byte [rbp + rdi + 3], al
add ecx, 0xfffffffe
add rdi, 4
cmp ecx, 1
jg 0x14041c7ca
jmp 0x14041bc1a
movzx eax, byte [r9 + 2]
movzx ecx, byte [r9 + 1]
movzx edx, byte [r9]
movzx ebx, sp
imul edx, edx, 0x4d
adc bx, 0x1115
add bh, 0xd6
imul ebx, ecx, 0x96
setns ch
adc cx, 0x4a4e
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
cmc
add ecx, eax
add ecx, eax
stc
add ecx, ebx
jmp 0x14041c90b
add ecx, edx
movzx rax, bp
mov byte [rbp], ch
and al, 0x2b
add r9, 3
cmovae eax, ecx
inc ah
inc rbp
dec cx
jmp 0x14041c92c
mov ecx, dword [rsp + 0x30]
shrd eax, eax, 0xe7
sub al, bpl
cwde
mov eax, dword [rsp + 0x24]
test eax, eax
jmp 0x14041c943
je 0x14041bc1a
add ecx, 2
ror dil, cl
btr eax, 0x3c
add r9, 5
test rsp, r13
shr al, cl
nop word cs:[rax + rax]
movzx eax, byte [r9 - 3]
sub dl, r9b
cmc
movzx edx, byte [r9 - 4]
sal ebx, cl
mov dil, 0x95
rcr rdi, cl
movzx ebx, byte [r9 - 5]
neg edi
imul edi, ebx, 0x4d
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
test r8b, bl
lea ebx, [rbx + rbx*2]
clc
add ebx, eax
add ebx, eax
setge ah
add ebx, edx
add ebx, edi
mov byte [rbp], bh
movzx eax, byte [r9]
rcr bh, 0xe5
movzx edx, byte [r9 - 1]
movzx ebx, byte [r9 - 2]
shl rdi, cl
imul edi, ebx, 0x4d
shld ebx, r12d, 0x2c
shr rbx, cl
imul edx, edx, 0x96
stc
shrd bx, r8w, 0x7a
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
test si, dx
cmc
add ebx, eax
add ebx, edx
jmp 0x14041c9e7
add ebx, edi
cmc
jmp 0x14041c9ef
mov byte [rbp + 1], bh
add rbp, 2
clc
cmp bpl, bpl
test r8w, 0x1554
add ecx, 0xfffffffe
stc
jmp 0x14041ca0a
add r9, 6
cmc
test r15b, 0x9c
cmp r15w, di
cmp ecx, 1
jmp 0x14041ca1f
jg 0x14041c968
jmp 0x14041bc1a
movzx eax, byte [r9]
rcl ecx, cl
mov byte [rbp], al
movzx eax, byte [r9 + 1]
btr ecx, 0x14
shr ch, cl
sar cl, 0x9c
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
bts cx, dx
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
add r9, 3
add rbp, 4
cmp r10d, ebp
bts cx, sp
mov ecx, dword [rsp + 0x30]
btc ax, 0x30
mov eax, dword [rsp + 0x24]
jmp 0x14041ca76
test eax, eax
jmp 0x14041ca7d
je 0x14041bc1a
add ecx, 2
nop dword [rax]
adc ax, 0x5589
btc eax, 0xff
movzx eax, byte [r9]
cmc
cmp r8w, cx
mov byte [rbp], al
shr ah, 0x32
dec al
movzx eax, byte [r9 + 1]
clc
jmp 0x14041caae
mov byte [rbp + 1], al
movsx rax, cx
mov ax, 0x3118
or al, 0x1d
movzx eax, byte [r9 + 2]
cmp r13b, 0x1e
test bx, 0x4cdc
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
sete al
btr rax, rbx
movzx eax, byte [r9 + 3]
stc
cmp dl, spl
mov byte [rbp + 4], al
movzx ax, dh
mov rax, rsp
movzx eax, byte [r9 + 4]
jmp 0x14041caf4
mov byte [rbp + 5], al
sar ax, 0x11
movzx eax, byte [r9 + 5]
mov byte [rbp + 6], al
mov byte [rbp + 7], 0xff
test sil, al
stc
add r9, 6
stc
test r9, 0x3d977493
add rbp, 8
stc
add ecx, 0xfffffffe
test r14b, cl
clc
cmp ecx, 1
jmp 0x14041cb2b
jg 0x14041ca92
jmp 0x14041bc1a
movzx ebx, byte [r9 + 2]
movzx ecx, byte [r9 + 1]
clc
sets al
btr r8d, 0x6e
movzx edi, byte [r9]
xadd ah, al
bswap rax
imul r8d, edi, 0x4d
xadd al, dil
sub di, 0x16c9
xchg edi, eax
imul edi, ecx, 0x96
lea ecx, [rbx + rbx*8]
lea ecx, [rcx + rcx*2]
add ecx, ebx
shl eax, cl
rcr ah, 0x63
or rax, r9
add ecx, ebx
bsf ax, sp
setbe ah
add ecx, edi
sub ah, 0xb4
cdqe
cmp bpl, 0xa4
add ecx, r8d
cbw
mov byte [rbp], ch
add r9, 4
inc rbp
mov ecx, dword [rsp + 0x30]
cmovne eax, r14d
mov eax, dword [rsp + 0x24]
cmp esp, 0x2726dd4
test eax, eax
jmp 0x14041cbb3
je 0x14041bc1a
add ecx, 2
btc dx, di
movsx esi, sp
xor edi, edi
bt esi, r12d
bt rax, 0x71
nop word cs:[rax + rax]
movzx eax, byte [r9 + rdi*4 + 2]
movzx edx, byte [r9 + rdi*4 + 1]
movzx ebx, byte [r9 + rdi*4]
imul esi, ebx, 0x4d
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
cmp edi, eax
stc
lea ebx, [rbx + rbx*2]
add ebx, eax
clc
cmc
add ebx, eax
cbw
movsx eax, sp
cmp r13b, 0x5c
add ebx, edx
sar eax, 0xb4
rcr ah, cl
add ebx, esi
rcl al, 0xad
mov byte [rbp + rdi], bh
shl bh, cl
movzx eax, byte [r9 + rdi*4 + 6]
bt rbx, 0xa8
movzx edx, byte [r9 + rdi*4 + 5]
shl bh, 0x30
movzx ebx, byte [r9 + rdi*4 + 4]
imul esi, ebx, 0x4d
btr ebx, r14d
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
stc
test rsi, rsp
cmc
lea ebx, [rbx + rbx*2]
add ebx, eax
add ebx, eax
test r8b, bpl
clc
stc
add ebx, edx
add ebx, esi
cmp r13, 0x39b2037a
jmp 0x14041cc6b
mov byte [rbp + rdi + 1], bh
test dil, 0x99
test ebx, r10d
add ecx, 0xfffffffe
add rdi, 2
cmp rsp, 0x10de56b1
cmp ecx, 1
jmp 0x14041cc8c
jg 0x14041cbdc
jmp 0x14041bc1a
movzx ecx, byte [r9]
bsf ax, cx
sar ah, cl
mov byte [rbp], cl
shl ax, 0x65
movzx ecx, byte [r9 + 1]
mov al, 0x1c
sar al, 0xa
shr al, 0xe
mov byte [rbp + 1], cl
and ah, bh
bts ax, r9w
jmp 0x14041ccc4
movzx ecx, byte [r9 + 2]
mov byte [rbp + 2], cl
xor ecx, 0x7285c8b
add r9, 4
sub ch, ch
add rbp, 3
sar ax, 0xb1
mov ecx, dword [rsp + 0x30]
xor ax, r15w
setne ah
mov eax, dword [rsp + 0x24]
cmc
cmp rsi, r10
test eax, eax
jmp 0x14041ccfa
je 0x14041bc1a
add ecx, 2
nop dword [rax]
movzx eax, byte [r9]
mov byte [rbp], al
and ah, 0x8b
movzx eax, byte [r9 + 1]
test r8, r15
mov byte [rbp + 1], al
mov al, r14b
rcl al, cl
and ax, si
movzx eax, byte [r9 + 2]
test bh, 0xd0
stc
mov byte [rbp + 2], al
movzx eax, byte [r9 + 4]
mov byte [rbp + 3], al
movzx eax, byte [r9 + 5]
test spl, cl
mov byte [rbp + 4], al
movzx eax, byte [r9 + 6]
cmp ax, 0x3f8a
cmp r10b, r8b
mov byte [rbp + 5], al
add r9, 8
cmp r11b, 0x36
test r9w, r8w
cmp r14w, si
add rbp, 6
clc
test bpl, 0x1a
add ecx, 0xfffffffe
clc
cmp ecx, 1
jmp 0x14041cd77
jg 0x14041cd07
jmp 0x14041bc1a
mov edx, dword [rsp + 0x24]
shld cx, dx, 0x95
ror cx, cl
cmp r12w, sp
mov ecx, edx
test bx, dx
cmp edx, 3
jmp 0x14041cd9f
jb 0x14041bc1a
add ecx, 4
and rax, r13
xor al, al
ror ax, 0xda
add rbp, 0xb
add ah, 0x2d
nop word [rax + rax]
or ah, 0x8b
movzx eax, byte [r9]
test ch, 0x2a
mov byte [rbp - 9], al
mov byte [rbp - 0xa], al
clc
cmp r9b, r15b
mov byte [rbp - 0xb], al
movsx rax, r14w
add ax, 0x4ab
movzx eax, byte [r9 + 2]
cmp r10b, dl
mov byte [rbp - 6], al
test r11w, sp
mov byte [rbp - 7], al
cmp r10w, r15w
mov byte [rbp - 8], al
movzx rax, r12w
rcl ax, 0x17
btc eax, edi
movzx eax, byte [r9 + 4]
cmc
cmp r8w, di
mov byte [rbp - 3], al
mov byte [rbp - 4], al
clc
jmp 0x14041ce17
mov byte [rbp - 5], al
movsxd rax, r15d
shr rax, 0xb1
movzx eax, byte [r9 + 6]
cmc
jmp 0x14041ce2c
mov byte [rbp], al
cmp r12d, r10d
test r14b, r11b
mov byte [rbp - 1], al
clc
mov byte [rbp - 2], al
jmp 0x14041ce45
add r9, 8
stc
test r8, 0xa8a3d47
add ecx, 0xfffffffc
test r9w, 0x268e
add rbp, 0xc
cmc
cmp ecx, 3
jmp 0x14041ce67
jg 0x14041cdc1
jmp 0x14041bc1a
mov edx, dword [rsp + 0x24]
sbb dil, 0xcf
inc di
sbb di, bp
mov edi, edx
cmp edx, 3
jmp 0x14041ce8a
jb 0x14041bc1a
add edi, 4
movsx rax, r12w
shl ah, cl
add rbp, 0xb
cdqe
bts ax, r9w
nop word cs:[rax + rax]
or al, ah
nop
shr al, 0x8e
movzx eax, byte [r9]
stc
mov byte [rbp - 9], al
clc
mov byte [rbp - 0xa], al
jmp 0x14041ced2
mov byte [rbp - 0xb], al
inc eax
movzx eax, byte [r9 + 1]
clc
mov byte [rbp - 6], al
cmp r14, 0x6f700121
cmc
mov byte [rbp - 7], al
jmp 0x14041cef4
mov byte [rbp - 8], al
shrd ax, ax, 0xa0
movzx eax, byte [r9 + 2]
clc
cmp r11b, r8b
mov byte [rbp - 3], al
cmp r10w, 0x7644
test r9b, r10b
cmc
mov byte [rbp - 4], al
cmp r13w, r10w
jmp 0x14041cf1f
mov byte [rbp - 5], al
xadd ah, al
movzx eax, byte [r9 + 3]
stc
mov byte [rbp], al
mov byte [rbp - 1], al
clc
mov byte [rbp - 2], al
add r9, 4
test rdx, r14
add edi, 0xfffffffc
add rbp, 0xc
clc
cmp r8d, 0x739e132b
cmp edi, 3
jmp 0x14041cf53
jg 0x14041ceb9
jmp 0x14041bc1a
mov edx, dword [rsp + 0x24]
movzx cx, r15b
bsf ecx, esi
mov ecx, edx
jmp 0x14041cf71
cmp edx, 3
jb 0x14041bc1a
add ecx, 4
shr al, cl
sub edi, edi
movsx eax, r8w
mov ah, 0x3b
movzx eax, word [r9 + rdi]
jmp 0x14041cf92
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 0x14041cfb4
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]
jmp 0x14041cfd6
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 0x14041cff8
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 0xc], xmm2
add ecx, 0xfffffffc
cmp rsi, 0x626e6d47
cmp eax, esp
stc
add rdi, 8
cmp cx, 0x3974
cmp ecx, 3
jg 0x14041cf88
jmp 0x14041bc1a
mov edx, dword [rsp + 0x24]
mov ecx, edx
cmp r11w, 0xdd7
stc
cmp edx, 7
jb 0x14041bc1a
add ecx, 8
cdqe
sub edi, edi
clc
test si, dx
nop dword [rax + rax]
movzx eax, r13w
ror eax, 0xbf
movzx eax, byte [r9 + rdi*2]
jmp 0x14041d06d
mov byte [rbp + rdi], al
ror ah, cl
test r14, r9
bsf ax, r12w
movzx eax, byte [r9 + rdi*2 + 2]
stc
cmp spl, 0xa2
cmc
mov byte [rbp + rdi + 1], al
and al, 0x66
and rax, r14
movzx eax, byte [r9 + rdi*2 + 4]
mov byte [rbp + rdi + 2], al
sets ah
rol ah, 0x58
btc eax, 0xf3
movzx eax, byte [r9 + rdi*2 + 6]
mov byte [rbp + rdi + 3], al
movzx eax, byte [r9 + rdi*2 + 8]
cmc
mov byte [rbp + rdi + 4], al
movzx eax, byte [r9 + rdi*2 + 0xa]
jmp 0x14041d0c4
mov byte [rbp + rdi + 5], al
mov rax, 0x4e990be9
movsxd rax, r15d
movzx eax, byte [r9 + rdi*2 + 0xc]
mov byte [rbp + rdi + 6], al
movzx eax, byte [r9 + rdi*2 + 0xe]
cmp r9b, 0xae
test r14b, bpl
mov byte [rbp + rdi + 7], al
jmp 0x14041d0f3
add ecx, 0xfffffff8
clc
jmp 0x14041d0fd
add rdi, 8
cmp ecx, 7
jmp 0x14041d109
jg 0x14041d063
jmp 0x14041bc1a
xor ecx, ecx
test byte [rsp + 0xc0], 1
jmp 0x14041d123
je 0x14041d16c
lea rax, [rcx + rcx]
or rax, 0x10
jmp 0x14041d136
movq xmm2, qword [r9 + rcx]
jmp 0x14041d141
movq xmm5, qword [r9 + rcx + 8]
jmp 0x14041d14d
punpcklbw xmm2, xmm0
movdqu xmmword [rbp + rcx*2], xmm2
jmp 0x14041d15c
punpcklbw xmm5, xmm0
movdqu xmmword [rbp + rax], xmm5
rol ah, cl
bts ax, dx
mov rax, qword [rsp + 0x60]
test r9w, 0x558a
cmp qword [rsp + 0x68], rax
je 0x14041bc1a
add rbp, qword [rsp + 0x80]
movsx ax, r14b
sar cx, cl
cmc
add r9, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x54]
inc ecx
xor ebx, ebx
cwde
movzx eax, cx
nop word [rax + rax]
movzx eax, byte [r9 + rbx]
jmp 0x14041d1b4
mov byte [rbp + rbx*2], al
mov byte [rbp + rbx*2 + 1], 0xff
jmp 0x14041d1c2
dec ecx
inc rbx
test ecx, ecx
jmp 0x14041d1ce
jg 0x14041d1aa
jmp 0x14041bc1a
mov rcx, rsi
jmp 0x14041d1e1
call fcn.1401dbaac
mov rax, qword [rsp + 0x78]
jmp 0x14041d1f0
jmp 0x14041d217
mov rcx, rsi
jmp 0x14041d200
mov rsi, rdx
jmp 0x14041d208
call fcn.1401dbaac
mov rcx, rsi
call fcn.1401dbaac
xor eax, eax
movaps xmm6, xmmword [rsp + 0xf0]
sub r14d, 0x19dd01d8
test r15b, 0xa2
movaps xmm7, xmmword [rsp + 0x100]
sbb bpl, 0x49
stc
inc di
movaps xmm8, xmmword [rsp + 0x110]
xor r12d, edi
stc
add rsp, 0x128
cmovg r12, r12
pop rbx
movzx ebp, r12w
movsx di, sil
pop rbp
not r15d
movsx r13, r13w
cmovo esi, r13d
pop rdi
jmp 0x14041d275
pop rsi
mov r14d, 0xb175764
not r15w
movsx r15d, r11w
pop r12
pop r13
movsx r14, r11w
setbe r15b
pop r14
pop r15
ret