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

Disassembly:
push r15
stc
clc
push r14
push r13
push r12
push rsi
clc
cmp cl, 0xc5
push rdi
cmc
push rbp
cmp sp, r14w
push rbx
sub rsp, 0x128
jmp 0x140417a50
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
sal al, cl
mov rax, rdx
cmc
test spl, 0xe9
mov qword [rsp + 0x48], rdx
jmp 0x140417a83
cmp r8d, edx
jmp 0x140417a8b
jne 0x140417a9e
mov rax, rsi
jmp 0x140417a99
jmp 0x140419561
mov ebx, r9d
sar ah, 0xba
cwde
mov ebp, r8d
clc
shrd rax, rsi, 0x64
mov eax, r9d
or eax, r8d
jmp 0x140417ab9
js 0x140419549
test ebx, ebx
jmp 0x140417ac6
je 0x140417af6
mov eax, 0x7fffffff
stc
jmp 0x140417ada
xor edx, edx
cmp edx, 0x1d2773cb
jmp 0x140417ae7
idiv ebx
cmp eax, ebp
jmp 0x140417af0
jl 0x140419549
mov edi, dword [rsp + 0x190]
and ax, r11w
mov eax, ebx
imul eax, ebp
jmp 0x140417b12
mov dword [rsp + 0x34], eax
jmp 0x140417b1c
or eax, edi
jmp 0x140417b23
js 0x140419549
test edi, edi
jmp 0x140417b30
je 0x140417b4c
mov eax, 0x7fffffff
sub edx, edx
idiv edi
cmp cx, bp
cmp eax, dword [rsp + 0x34]
jl 0x140419549
mov eax, dword [rsp + 0x34]
imul eax, edi
cmovs cx, r11w
jmp 0x140417b61
movsxd rcx, eax
jmp 0x140417b69
call fcn.140118f4a
test rax, rax
jmp 0x140417b76
je 0x140419549
mov rdx, rax
clc
jmp 0x140417b85
mov qword [rsp + 0x70], rbp
test edi, edi
jmp 0x140417b91
mov qword [rsp + 0x78], rax
jmp 0x140417b9b
jle 0x14041951f
mov rax, qword [rsp + 0x70]
ror ch, cl
shr r15, 0xb2
mov rcx, qword [rsp + 0x48]
lea r15d, [rax + rcx*8]
cmp r14, 0x78bb1938
cmp r15d, 0x23
jmp 0x140417bc5
ja 0x140419536
movabs rcx, 0xe161a1c00
jmp 0x140417bda
bt rcx, r15
jmp 0x140417be3
jae 0x140419536
lea eax, [rbx - 1]
dec r8b
movsx bp, al
mov ecx, edi
mov di, cx
not bpl
movsx edi, r8w
mov qword [rsp + 0xe0], rcx
mov ecx, eax
mov qword [rsp + 0x38], rcx
inc rcx
cmp edx, edi
mov r8, rcx
and r8, 0xfffffffffffffff0
bt bp, sp
adc bpl, r12b
test spl, bpl
lea rdi, [r8 - 0x10]
cmp r11b, 0xb5
bts rbp, rax
movsx bp, al
mov qword [rsp + 0xc8], rdi
shr rdi, 4
xchg bpl, bpl
movzx rbp, di
bswap ebp
inc rdi
xchg bpl, bpl
ror ebp, cl
lea ebp, [rbx - 2]
stc
jmp 0x140417c5a
mov dword [rsp + 0x30], ebp
sbb bpl, r14b
movsx bp, r13b
movabs rbp, 0x1fffffff0
or rbp, 8
stc
mov qword [rsp + 0x68], rcx
cmp r9b, r11b
test dil, r13b
and rbp, rcx
mov ecx, eax
jmp 0x140417c8b
sub ecx, ebp
mov dword [rsp + 0x58], ecx
movsx rcx, sp
shr ch, cl
btc cx, di
mov dword [rsp + 0x24], eax
sub eax, r8d
mov dword [rsp + 0x54], eax
test r11w, si
mov rax, rdi
or ah, 0x2d
mov qword [rsp + 0xc0], rdi
bts cx, cx
and rdi, 0xfffffffffffffffe
xadd ecx, eax
test r10b, 0x6d
mov qword [rsp + 0x98], rdi
mov eax, ebx
imul eax, dword [rsp + 0x48]
movsxd rcx, r14d
rcr cl, 0x43
mov dword [rsp + 0x5c], eax
mov eax, ebx
rol cl, cl
and eax, 3
mov ecx, ebx
test r8d, eax
and ecx, 7
jmp 0x140417cf4
mov qword [rsp + 0xd8], rcx
pcmpeqd xmm0, xmm0
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1400bf4e0]
movdqa xmm3, xmmword [0x1400bf4f0]
movdqa xmm4, xmmword [0x1400bf500]
lea rcx, [rbp + rbp]
cmp r9d, 0x6c640efc
mov qword [rsp + 0xb0], rcx
adc cx, r9w
mov qword [rsp + 0xb8], rbp
and ch, ah
jmp 0x140417d47
lea rcx, [rbp + rbp*2]
cmp dh, bl
jmp 0x140417d53
mov qword [rsp + 0xa8], rcx
shld rcx, r12, 0x32
adc ch, 0x65
mov qword [rsp + 0x60], r8
btc cx, r15w
shrd ecx, r12d, 0xb5
lea rcx, [r8 + r8]
clc
stc
mov qword [rsp + 0x80], rcx
movsx ecx, r14w
lea rcx, [rsi + 0x17]
test bh, 0xd4
cmp r14, 0x5dd603a7
mov qword [rsp + 0xa0], rcx
cmp di, 0x685a
mov qword [rsp + 0x40], rax
cmp r11b, 0x8c
test r11w, 0x7e4a
lea rax, [rax + rax*2]
stc
mov qword [rsp + 0xd0], rax
btr ax, 0x6f
lea rax, [rdx + 0x30]
jmp 0x140417dcd
mov qword [rsp + 0x90], rax
bswap eax
rol ax, 1
lea rax, [rsi + 0x18]
mov qword [rsp + 0x88], rax
test rbx, rax
test sil, 0x7d
xor r10d, r10d
cmp cx, 0x1645
cmc
sub r13d, r13d
test rbx, 0x3e8c0573
cmc
xor r12d, r12d
jmp 0x140417e09
mov qword [rsp + 0xe8], rsi
jmp 0x140417e16
mov qword [rsp + 0x28], rbx
jmp 0x140417e69
inc r12
cdq
ror dx, cl
add r13d, dword [rsp + 0x5c]
xchg esi, ebx
add r10d, dword [rsp + 0x34]
cmp r9d, 0x51309a1
cmp r12, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
movsx bx, r12b
mov rbx, qword [rsp + 0x28]
cdq
mov rdx, 0x748f0305
xchg dh, dl
mov rdx, qword [rsp + 0x78]
je 0x14041951f
mov r14d, r10d
not r9b
sal r11w, 0xc9
or r11b, 0xa0
mov r8d, r13d
setne bpl
adc r9w, r14w
lea r11, [rdx + r14]
add r9d, r8d
xchg bp, bp
sub rbp, rcx
mov ebp, r12d
sar r9b, cl
imul ebp, ebx
cmc
mov r9d, ebp
cmp bx, r12w
imul r9d, dword [rsp + 0x48]
test bpl, r8b
cmp r13b, spl
test edi, 0x562633d4
add r9, rsi
cmp r8d, edx
imul ebp, dword [rsp + 0x70]
test r14b, sil
add rbp, rdx
cmp r15d, 0x13
jmp 0x140417ecd
jle 0x14041828b
cmp r15d, 0x1b
mov ah, 0xad
lahf
mov eax, dword [rsp + 0x24]
jg 0x14041839c
cmp r15d, 0x14
jmp 0x140417eee
je 0x1404184d0
cmp r15d, 0x19
jmp 0x140417efd
je 0x140418591
cmp r15d, 0x1a
jmp 0x140417f0c
jne 0x14041896a
test eax, eax
jmp 0x140417f19
js 0x140417e20
mov ecx, dword [rsp + 0x24]
cmp ecx, 7
jmp 0x140417f2b
jb 0x1404181cc
add r8, qword [rsp + 0xa0]
add rbp, qword [rsp + 0xb0]
test dl, al
cdq
add r9, qword [rsp + 0xa8]
rcr di, cl
movsx rbx, r8w
xchg bx, ax
sub ecx, ecx
mov r14, qword [rsp + 0xb8]
cwd
rcl di, 0x15
nop
movzx di, r13b
ror sil, cl
movzx edi, byte [r8 - 0x15]
mov sil, 0xdc
clc
bt ax, 0xba
movzx ebx, byte [r8 - 0xf]
btc rax, rdx
mov ah, 0xa3
movzx esi, byte [r8 - 9]
shr al, 0x3e
movzx eax, byte [r8 - 3]
bt edx, esi
or dl, bpl
movzx edx, byte [r8 - 0xc]
clc
cmp r8b, 0xb
stc
shl edx, 8
clc
cmc
or edx, ebx
sal ebx, cl
cmc
movzx ebx, byte [r8 - 0x12]
shl ebx, 8
clc
cmc
or ebx, edi
jmp 0x140417fc2
movd xmm7, ebx
pinsrw xmm7, edx, 1
movzx edx, byte [r8]
shl edx, 8
jmp 0x140417fde
or edx, eax
test al, r10b
btc ax, di
movzx eax, byte [r8 - 6]
cmp edi, r11d
jmp 0x140417ff4
shl eax, 8
or eax, esi
jmp 0x140417ffe
movd xmm2, eax
pinsrw xmm2, edx, 1
punpcklbw xmm2, xmm1
movzx eax, byte [r8 - 0x16]
movzx edx, byte [r8 - 0x10]
bts ebx, edx
movzx esi, byte [r8 - 0xa]
add rbx, rdi
movzx edi, byte [r8 - 4]
sub rbx, 0x26cd3934
rcr bh, cl
movzx rbx, r9w
movzx ebx, byte [r8 - 0xd]
cmp r12b, r9b
shl ebx, 8
cmp di, 0x6a70
cmp dl, r13b
or ebx, edx
rcl dl, cl
movzx edx, byte [r8 - 0x13]
shl edx, 8
or edx, eax
jmp 0x140418058
movd xmm5, edx
pinsrw xmm5, ebx, 1
movzx eax, byte [r8 - 1]
cmp r10, r12
xor edx, esp
shl eax, 8
or eax, edi
movzx edx, byte [r8 - 7]
clc
shl edx, 8
test r15b, r10b
or edx, esi
jmp 0x140418083
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]
movsx dx, sil
movzx bx, r15b
sal si, 0x2b
movzx edx, byte [r8 - 0x11]
shr sil, 0x7b
shld di, r12w, 0x29
movzx esi, byte [r8 - 0xb]
shrd edi, esp, 0xcb
shr ebx, 0x4d
test r12w, 0x4ad
movzx edi, byte [r8 - 5]
movzx ebx, byte [r8 - 0xe]
shl ebx, 8
clc
or ebx, edx
cdq
movzx edx, byte [r8 - 0x14]
shl edx, 8
or edx, eax
jmp 0x1404180f4
movd xmm2, edx
pinsrw xmm2, ebx, 1
movzx eax, byte [r8 - 2]
mov rdx, 0x291c1063
shl rdx, 9
bt dx, cx
shl eax, 8
sbb dh, al
bsr dx, sp
rcl dl, 0xf0
or eax, edi
and dl, r14b
rcr dl, 0xd3
xadd dh, dl
movzx edx, byte [r8 - 8]
clc
shl edx, 8
cmc
or edx, esi
jmp 0x140418139
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
test di, 0x4eee
jmp 0x14041819b
add rcx, 8
cmp sil, 0xd6
add r8, 0x18
jmp 0x1404181af
cmp r14, rcx
jmp 0x1404181b7
jne 0x140417f6f
mov ecx, dword [rsp + 0x58]
cmp qword [rsp + 0x68], r14
je 0x140417e20
inc ecx
or bl, 0xec
shrd di, r13w, 0x2f
or al, sil
add r9, 2
mov bx, 0x4b78
sbb ax, r9w
cwd
nop word cs:[rax + rax]
bts bx, si
rol bx, 0xcc
movsx dx, bpl
movzx eax, byte [r9]
rol bl, cl
shl bx, 0xe7
movzx edx, byte [r9 - 1]
movzx ebx, byte [r9 - 2]
rcr dil, 0
shrd di, dx, 0x86
imul edi, ebx, 0x4d
movzx ebx, r8w
neg bx
imul edx, edx, 0x96
setnp bh
movsx rbx, dx
lea ebx, [rax + rax*8]
cmp r11b, 0xfb
lea ebx, [rbx + rbx*2]
test bp, r14w
cmc
add ebx, eax
add ebx, eax
jmp 0x14041824d
add ebx, edx
test r8w, 0x48f4
add ebx, edi
mov byte [rbp], bh
cmc
mov byte [rbp + 1], 0xff
clc
test dh, 0xdf
stc
add rbp, 2
dec ecx
test r9d, r9d
cmc
add r9, 3
clc
stc
jmp 0x140418279
test ecx, ecx
jmp 0x140418280
jg 0x140418200
jmp 0x140417e20
lea rcx, [rsi + r8]
jmp 0x14041829b
cmp r15d, 0xb
jmp 0x1404182a9
mov eax, dword [rsp + 0x24]
jmp 0x1404182b2
jle 0x1404183fe
cmp r15d, 0xc
jmp 0x1404182c1
je 0x1404185c8
cmp r15d, 0x11
jmp 0x1404182d0
je 0x140418774
cmp r15d, 0x13
jmp 0x1404182df
jne 0x14041896a
test eax, eax
jmp 0x1404182ec
js 0x140417e20
test byte [rsp + 0x28], 3
jmp 0x1404182fc
je 0x1404190c1
sub ebp, ebp
btr ax, ax
sub ch, 0xbd
ror ch, 0xb7
mov edx, dword [rsp + 0x24]
clc
bsr bx, r10w
mov ecx, edx
mov rbx, qword [rsp + 0xd0]
nop word cs:[rax + rax]
movzx eax, byte [r9]
cmp rdx, 0x37480307
cmc
mov byte [r11 + rbp + 2], al
jmp 0x140418348
mov byte [r11 + rbp + 1], al
mov byte [r11 + rbp], al
jmp 0x140418356
add r9, 2
jmp 0x14041835f
dec ecx
add rbp, 3
clc
cmp ebx, ebp
jne 0x14041832f
add r11, rbp
rcl bpl, cl
rcr bp, 8
mov rbp, r11
test r10b, 0x91
cmp r14b, r13b
cmp r14, 0x58272ab1
cmp edx, 3
jmp 0x140418391
jb 0x140417e20
jmp 0x1404190e1
cmp r15d, 0x1c
jmp 0x1404183a5
je 0x140418811
cmp r15d, 0x21
je 0x140418848
cmp r15d, 0x22
jmp 0x1404183be
jne 0x14041896a
test eax, eax
jmp 0x1404183cb
js 0x140417e20
test byte [rsp + 0x28], 1
jmp 0x1404183db
jne 0x140418992
mov eax, dword [rsp + 0x24]
movsx cx, r13b
movsx ecx, r12w
movzx cx, ch
mov ecx, eax
jmp 0x1404183f9
jmp 0x140418a35
cmp r15d, 0xa
je 0x14041887a
cmp r15d, 0xb
jmp 0x140418411
jne 0x14041896a
test eax, eax
jmp 0x14041841e
js 0x140417e20
test byte [rsp + 0x28], 3
je 0x140419194
sub ebx, ebx
dec dil
xor dil, 0xc2
sbb rdx, 0xad31345
mov edx, dword [rsp + 0x24]
shld edi, r8d, 0x66
test r8b, 0xd3
mov rdi, qword [rsp + 0x40]
nop
ror al, 0xaf
rcl ah, 0x1b
sbb ah, 0x6a
movzx eax, byte [rcx + rbx]
mov byte [rbp + 2], al
mov byte [rbp + 1], al
mov byte [rbp], al
add rbp, 3
jmp 0x140418472
inc rbx
cmp edi, ebx
jmp 0x14041847c
jne 0x14041845c
mov rax, qword [rsp + 0x38]
bt r9w, 0xb0
or di, 0x1e4f
mov edi, eax
shld r9, r15, 0xd7
xadd r9w, r9w
sub edi, ebx
xor r9w, 0x45b3
sub r9b, r9b
sbb r9b, bl
lea rcx, [rcx + rbx]
cmc
sub r9, 0x4e6368a3
mov r9, rcx
cmp bh, ah
cmp edx, 3
jmp 0x1404184c5
jb 0x140417e20
jmp 0x1404191b5
test eax, eax
jmp 0x1404184d7
js 0x140417e20
test byte [rsp + 0x28], 3
jmp 0x1404184e7
je 0x14041927b
sub edi, edi
bswap ax
movsxd rcx, r10d
movsx ecx, di
mov edx, dword [rsp + 0x24]
bswap eax
movsx ax, bl
mov rcx, qword [rsp + 0x40]
nop
nop word cs:[rax + rax]
mov rax, 0x58ef4499
movsx eax, r8w
movzx rax, bp
movzx eax, word [r9]
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp], xmm2
add r9, 2
add rbp, 4
jmp 0x14041854c
inc rdi
jmp 0x14041855b
cmp ecx, edi
jmp 0x140418562
jne 0x140418525
mov rax, qword [rsp + 0x38]
mov ecx, eax
test r12d, r9d
test rbp, 0x1d105b57
sub ecx, edi
cmp bpl, bl
cmp edx, 3
jmp 0x140418586
jb 0x140417e20
jmp 0x14041928f
test eax, eax
jmp 0x140418598
js 0x140417e20
test byte [rsp + 0x28], 1
jmp 0x1404185a8
jne 0x140418b85
mov eax, dword [rsp + 0x24]
seta cl
bswap rcx
movsx ecx, r10w
mov ecx, eax
jmp 0x1404185c3
jmp 0x140418bfc
test eax, eax
jmp 0x1404185cf
js 0x140417e20
mov edx, dword [rsp + 0x24]
adc edi, r11d
sbb dil, 0xe
ror rdi, cl
mov edi, edx
cmc
clc
test byte [rsp + 0x28], 3
jmp 0x1404185f1
je 0x140418691
sub ebx, ebx
sub ebp, ebp
movzx ax, bpl
mov rdi, qword [rsp + 0x40]
cwde
nop dword [rax]
movzx rax, r12w
movzx eax, byte [rcx + rbp]
jmp 0x140418617
mov byte [r11 + rbp*4 + 2], al
mov byte [r11 + rbp*4 + 1], al
jmp 0x140418626
mov byte [r11 + rbp*4], al
jmp 0x14041862f
mov byte [r11 + rbp*4 + 3], 0xff
jmp 0x14041863a
inc rbp
test sp, sp
clc
add rbx, 0xfffffffffffffffc
clc
cmp r13b, r13b
test sp, r13w
cmp edi, ebp
jmp 0x140418654
jne 0x14041860e
mov rax, qword [rsp + 0x38]
mov edi, eax
test bx, r8w
sub edi, ebp
ror r9b, cl
sub r11, rbx
bsf r9w, r9w
movzx r9w, r10b
add rcx, rbp
adc r9d, r8d
xchg bpl, r9b
sbb r9d, edx
mov rbp, r11
mov r9, rcx
test cx, 0x4b82
cmp r14b, dil
cmp edx, 3
jmp 0x140418699
jb 0x140417e20
add edi, 4
rol ax, cl
bts rax, rdi
sub ecx, ecx
nop word cs:[rax + rax]
bsr ax, r8w
and al, 0x35
cdqe
movzx eax, byte [r9 + rcx]
mov byte [rbp + rcx*4 + 2], al
mov byte [rbp + rcx*4 + 1], al
cmp bp, 0xf47
cmp r14, rsp
stc
mov byte [rbp + rcx*4], al
shrd ax, r12w, 0x4d
bts ax, r15w
mov byte [rbp + rcx*4 + 3], 0xff
rol eax, cl
movzx eax, byte [r9 + rcx + 1]
mov byte [rbp + rcx*4 + 6], al
mov byte [rbp + rcx*4 + 5], al
jmp 0x140418702
mov byte [rbp + rcx*4 + 4], al
mov byte [rbp + rcx*4 + 7], 0xff
btc eax, 0xa2
movsx eax, r9w
bts ax, di
movzx eax, byte [r9 + rcx + 2]
cmp sil, 5
mov byte [rbp + rcx*4 + 0xa], al
mov byte [rbp + rcx*4 + 9], al
cmc
cmp rcx, rax
mov byte [rbp + rcx*4 + 8], al
movsxd rax, ebp
inc ah
mov byte [rbp + rcx*4 + 0xb], 0xff
movzx eax, byte [r9 + rcx + 3]
mov byte [rbp + rcx*4 + 0xe], al
mov byte [rbp + rcx*4 + 0xd], al
clc
mov byte [rbp + rcx*4 + 0xc], al
mov byte [rbp + rcx*4 + 0xf], 0xff
clc
cmc
add edi, 0xfffffffc
add rcx, 4
clc
test r8b, 0xd9
cmp edi, 3
jmp 0x140418769
jg 0x1404186be
jmp 0x140417e20
test eax, eax
jmp 0x14041877b
js 0x140417e20
test byte [rsp + 0x28], 7
jmp 0x14041878b
je 0x140419347
sub ebp, ebp
movsxd rcx, r14d
mov edx, dword [rsp + 0x24]
mov rcx, qword [rsp + 0xd8]
sub al, r9b
nop dword [rax]
xor rax, 0x445a2762
neg al
xadd ah, al
movzx eax, byte [r9]
mov byte [r11 + rbp], al
add r9, 2
jmp 0x1404187c5
inc rbp
cmp ecx, ebp
jmp 0x1404187cf
jne 0x1404187b4
mov rax, qword [rsp + 0x38]
mov ecx, eax
clc
test r8b, cl
sub ecx, ebp
clc
test ebx, edx
jmp 0x1404187ea
add r11, rbp
bsr bp, r8w
xchg bpl, bpl
bsf ebp, r15d
mov rbp, r11
test bh, dl
cmp edx, 7
jmp 0x140418806
jb 0x140417e20
jmp 0x14041936a
test eax, eax
jmp 0x140418818
js 0x140417e20
test byte [rsp + 0x28], 1
jmp 0x140418828
jne 0x140418d00
mov eax, dword [rsp + 0x24]
movsx cx, r15b
mov ch, 0x60
xchg ch, ch
mov ecx, eax
jmp 0x140418843
jmp 0x140418d5f
test eax, eax
jmp 0x14041884f
js 0x140417e20
test byte [rsp + 0x28], 1
jmp 0x14041885f
jne 0x140418e36
mov eax, dword [rsp + 0x24]
movsx cx, r12b
mov ecx, eax
jmp 0x140418875
jmp 0x140418eb0
test eax, eax
jmp 0x140418881
js 0x140417e20
mov ecx, dword [rsp + 0x24]
jmp 0x140418891
cmp ecx, 0xf
jmp 0x140418899
jb 0x1404194cd
cmp qword [rsp + 0xc8], 0
je 0x140419435
add r14, qword [rsp + 0x90]
add r8, qword [rsp + 0x88]
movzx di, bpl
mov rdi, qword [rsp + 0x98]
stc
cmp r13w, 0x7dd
sub ecx, ecx
jmp 0x1404188d9
nop word [rax + rax]
movq xmm2, qword [r8 + rcx - 0x18]
jmp 0x1404188eb
movq xmm5, qword [r8 + rcx - 0x10]
jmp 0x1404188f7
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x30], xmm2
jmp 0x140418907
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2 - 0x20], xmm5
jmp 0x140418917
movq xmm2, qword [r8 + rcx - 8]
jmp 0x140418923
movq xmm5, qword [r8 + rcx]
jmp 0x14041892e
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x10], xmm2
jmp 0x14041893e
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2], xmm5
cmp r9w, cx
test r9w, r9w
add rcx, 0x20
stc
cmc
add rdi, 0xfffffffffffffffe
jmp 0x14041895f
jne 0x1404188df
jmp 0x140419440
test eax, eax
jmp 0x140418971
js 0x140417e20
test byte [rsp + 0x28], 1
jmp 0x140418981
jne 0x140418fae
mov eax, dword [rsp + 0x24]
mov ecx, eax
jmp 0x140419003
movzx ebx, byte [r9 + 2]
add dil, r10b
or r8b, r11b
movzx ecx, byte [r9 + 1]
or r8, rdx
shr r8b, 0xbd
cmp r9, r12
movzx edi, byte [r9]
bsr ax, r14w
btr r8w, di
inc r8b
imul r8d, edi, 0x4d
btr rdi, rsp
imul edi, ecx, 0x96
shl ch, cl
lea ecx, [rbx + rbx*8]
sbb rax, r11
movsx rax, dx
lea ecx, [rcx + rcx*2]
bsf eax, eax
add ecx, ebx
add ecx, ebx
add ecx, edi
bts ax, di
stc
add ecx, r8d
cwde
shld eax, r9d, 0x94
mov byte [rbp], ch
rol ax, cl
rcr ah, 0x5c
movzx ecx, byte [r9 + 3]
rol rax, 0x85
btr ax, 0x33
cmc
mov byte [rbp + 1], cl
xchg al, al
sbb al, spl
xor ch, 0x9b
add r9, 4
add rbp, 2
bts eax, r14d
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
jmp 0x140418a35
test eax, eax
je 0x140417e20
add ecx, 2
sbb rax, 0x28417e23
cmp r14b, 7
stc
sub edi, edi
nop word cs:[rax + rax]
shr sil, cl
bt eax, esi
movzx eax, byte [r9 + rdi*2 + 2]
xor rbx, rbp
movzx edx, byte [r9 + rdi*2 + 1]
rcr sil, cl
btc bx, r9w
btr si, 0x4d
movzx ebx, byte [r9 + rdi*2]
imul esi, ebx, 0x4d
cmp r8b, 0x32
imul edx, edx, 0x96
rol bl, 0x12
test r13b, 0xd4
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
jmp 0x140418aa5
add ebx, eax
cmp bp, r11w
add eax, 0x45fa5d07
sar ah, 0xaf
add ebx, edx
add ebx, esi
mov byte [rbp + rdi], bh
jmp 0x140418ac9
movzx eax, byte [r9 + rdi*2 + 3]
mov byte [rbp + rdi + 1], al
movzx eax, byte [r9 + rdi*2 + 6]
rcr sil, 0xd1
bt bx, r15w
bt rsi, 0xef
movzx edx, byte [r9 + rdi*2 + 5]
shld rbx, r10, 0x96
movsx esi, bp
btr bx, 0x2d
movzx ebx, byte [r9 + rdi*2 + 4]
ror sil, cl
shld rsi, rcx, 0xe9
and esi, 0x6fce36fd
imul esi, ebx, 0x4d
movzx rbx, ax
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
stc
lea ebx, [rbx + rbx*2]
test r13b, r8b
jmp 0x140418b2d
add ebx, eax
cmp r13b, 0x37
cmp al, dl
add ebx, eax
rcl eax, cl
not eax
sar ah, 0xe7
add ebx, edx
not al
add al, sil
movzx ax, r9b
add ebx, esi
xadd al, al
sbb al, sil
xchg ah, al
mov byte [rbp + rdi + 2], bh
cmc
movzx eax, byte [r9 + rdi*2 + 7]
mov byte [rbp + rdi + 3], al
test esi, r14d
add ecx, 0xfffffffe
cmp r11b, 0xe
add rdi, 4
cmc
cmp ecx, 1
jmp 0x140418b7a
jg 0x140418a62
jmp 0x140417e20
movzx eax, byte [r9 + 2]
shr bh, cl
movzx ecx, byte [r9 + 1]
movzx edx, byte [r9]
rcl ebx, cl
movsx ebx, bp
not bl
imul edx, edx, 0x4d
imul ebx, ecx, 0x96
sal ch, cl
btc cx, si
lea ecx, [rax + rax*8]
cmp r13w, 0x76cc
lea ecx, [rcx + rcx*2]
clc
add ecx, eax
cmc
add ecx, eax
bts rax, rdi
add ecx, ebx
shl ah, 0xde
add ecx, edx
sar ax, 0xb1
bt ax, 0xb8
mov byte [rbp], ch
bts eax, ebp
add r9, 3
inc rbp
rcr rcx, 0xa0
xchg cx, ax
movsxd rcx, esp
mov ecx, dword [rsp + 0x30]
sar eax, 0x7d
movsxd rax, r10d
mov eax, dword [rsp + 0x24]
cmp r11d, 0x3f705aac
test eax, eax
jmp 0x140418c03
je 0x140417e20
add ecx, 2
bts rbx, r14
clc
rcr bh, cl
add r9, 5
btc bx, 0xc4
cmp r13, rsp
nop word cs:[rax + rax]
test r11w, cx
movzx eax, byte [r9 - 3]
sbb bl, r10b
movzx edx, byte [r9 - 4]
rol bx, 0xf9
movzx ebx, byte [r9 - 5]
imul edi, ebx, 0x4d
not bx
or rbx, 0x60151fd6
cmp r8b, 0x5f
imul edx, edx, 0x96
movzx bx, cl
ror bl, 0x78
movsx rbx, r9w
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
cmp bp, 0x1261
add ebx, eax
add ebx, eax
movsx eax, dx
add ebx, edx
inc ah
rcr al, cl
add ebx, edi
bsr dx, r9w
sbb dx, r14w
mov byte [rbp], bh
shl dil, cl
shr bx, 0x3c
cwde
movzx eax, byte [r9]
rol dil, cl
movzx edx, byte [r9 - 1]
movsxd rbx, r11d
movzx ebx, byte [r9 - 2]
movsx di, r10b
imul edi, ebx, 0x4d
imul edx, edx, 0x96
test r14, 0x3ac104da
bt ebx, 0xba
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
cmc
cmp rbp, 0x70a92304
add ebx, eax
add ebx, edx
add ebx, edi
test di, r11w
cmp r11b, 0x66
mov byte [rbp + 1], bh
add rbp, 2
test r13b, bpl
add ecx, 0xfffffffe
clc
add r9, 6
cmp ecx, 1
jg 0x140418c2f
jmp 0x140417e20
movzx eax, byte [r9]
clc
mov byte [rbp], al
setp ch
or al, dil
movzx eax, byte [r9 + 1]
clc
sar cx, cl
mov byte [rbp + 1], al
sbb ax, r10w
sar al, cl
movzx eax, byte [r9 + 2]
mov byte [rbp + 2], al
bsf rcx, rdi
dec rcx
cmc
mov byte [rbp + 3], 0xff
bts eax, r14d
add r9, 3
dec ax
movsxd rax, r8d
add al, 0x98
add rbp, 4
sbb ah, 0x8e
rcl al, 0x6a
mov ecx, dword [rsp + 0x30]
adc al, r13b
lahf
mov eax, dword [rsp + 0x24]
test r15b, 0
clc
test eax, eax
jmp 0x140418d66
je 0x140417e20
add ecx, 2
sal ax, 0x2f
sbb ax, si
movzx ax, r14b
nop dword [rax]
xor rax, rsp
xadd ax, ax
mov rax, r14
movzx eax, byte [r9]
cmc
cmp r13d, r11d
cmp r8w, 0x1302
mov byte [rbp], al
xor ax, r9w
test r9b, bpl
movzx eax, byte [r9 + 1]
stc
test eax, r15d
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
mov byte [rbp + 2], al
sbb ax, 0x51d6
rcl ah, cl
and al, 0x89
mov byte [rbp + 3], 0xff
movzx eax, byte [r9 + 3]
mov byte [rbp + 4], al
movzx eax, byte [r9 + 4]
cmp r11b, dl
cmp r12w, 0xc8d
stc
mov byte [rbp + 5], al
xor ax, 0x1e40
xor ah, ah
movsxd rax, r13d
movzx eax, byte [r9 + 5]
test rsi, rbx
mov byte [rbp + 6], al
clc
jmp 0x140418df6
mov byte [rbp + 7], 0xff
cmc
jmp 0x140418e03
add r9, 6
clc
test r10d, 0x729d6aeb
add rbp, 8
cmc
cmp dil, r14b
test ch, 0xb5
add ecx, 0xfffffffe
stc
jmp 0x140418e23
cmp ecx, 1
jmp 0x140418e2b
jg 0x140418d89
jmp 0x140417e20
movzx ebx, byte [r9 + 2]
movzx ecx, byte [r9 + 1]
movzx edi, byte [r9]
imul r8d, edi, 0x4d
adc di, 0x6949
imul edi, ecx, 0x96
lea ecx, [rbx + rbx*8]
inc ax
add ax, 0x946
lea ecx, [rcx + rcx*2]
add ecx, ebx
btc rax, rbp
cmc
add ecx, ebx
cmp r12d, 0x637737a3
add ecx, edi
add ecx, r8d
movsx rax, r12w
mov byte [rbp], ch
seto al
sar rcx, 0xe3
add r9, 4
movzx eax, si
mov ax, r14w
movzx ax, dil
inc rbp
setp ch
rol ax, 0x1d
shl eax, 0x3b
mov ecx, dword [rsp + 0x30]
or al, r9b
xor al, 0xcb
rcl al, 0x3d
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x140417e20
add ecx, 2
ror ax, 0x55
rcr si, 0xdb
sub edi, edi
btr rsi, 0xf2
nop word cs:[rax + rax]
sbb sil, spl
and ebx, 0x78021f46
movzx eax, byte [r9 + rdi*4 + 2]
dec dx
shl bl, 0x94
shld rsi, r14, 0x69
movzx edx, byte [r9 + rdi*4 + 1]
movzx ebx, byte [r9 + rdi*4]
bsf esi, esp
imul esi, ebx, 0x4d
and ebx, 0x8f5251e
rol bx, 0xfd
imul edx, edx, 0x96
bsr ebx, r13d
cmc
xor bh, 0x51
lea ebx, [rax + rax*8]
test ecx, edx
clc
lea ebx, [rbx + rbx*2]
clc
add ebx, eax
cmc
stc
add ebx, eax
add ebx, edx
adc dl, r10b
stc
sub al, 0xac
add ebx, esi
mov byte [rbp + rdi], bh
btc eax, r13d
rdtsc
movzx eax, byte [r9 + rdi*4 + 6]
movzx edx, byte [r9 + rdi*4 + 5]
movzx ebx, byte [r9 + rdi*4 + 4]
sub si, 0x4bcc
shr sil, 0x55
imul esi, ebx, 0x4d
ror bx, cl
mov bl, 0xaa
imul edx, edx, 0x96
bsf ebx, eax
bts ebx, r12d
clc
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
jmp 0x140418f7d
add ebx, eax
cmp r9d, 0x2cf23531
add ebx, edx
jmp 0x140418f8d
add ebx, esi
mov byte [rbp + rdi + 1], bh
cmc
jmp 0x140418f99
add ecx, 0xfffffffe
add rdi, 2
cmp ecx, 1
jg 0x140418ee1
jmp 0x140417e20
movzx ecx, byte [r9]
neg ah
mov byte [rbp], cl
bts ax, r12w
movzx ecx, byte [r9 + 1]
bsf eax, r8d
rcl al, cl
shrd ax, r8w, 0x9c
mov byte [rbp + 1], cl
jmp 0x140418fdc
movzx ecx, byte [r9 + 2]
sal ah, 0xc
mov byte [rbp + 2], cl
add r9, 4
bt ax, 0x5d
add rbp, 3
lahf
shl ax, cl
inc rax
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
test eax, eax
jmp 0x14041900a
je 0x140417e20
add ecx, 2
ror ax, cl
cmp r11d, esi
nop dword [rax]
bswap ax
nop
add ah, ch
movzx eax, byte [r9]
test r11w, r15w
mov byte [rbp], al
stc
and eax, 0x73f2d25
movzx eax, byte [r9 + 1]
test r9b, 0xe6
mov byte [rbp + 1], al
inc rax
ror eax, cl
movzx eax, byte [r9 + 2]
clc
cmc
cmp r12, 0x44f96230
mov byte [rbp + 2], al
xadd al, ah
add ah, 0x71
and al, r14b
movzx eax, byte [r9 + 4]
test r15, r8
test ch, 0x86
mov byte [rbp + 3], al
movzx eax, r9w
xadd al, al
movzx eax, byte [r9 + 5]
cmp r12w, bx
mov byte [rbp + 4], al
xchg al, ah
movzx eax, byte [r9 + 6]
jmp 0x140419090
mov byte [rbp + 5], al
test dx, r9w
add r9, 8
test r10w, r13w
add rbp, 6
test r13, 0x57324e12
stc
add ecx, 0xfffffffe
cmp ecx, 1
jmp 0x1404190b6
jg 0x140419024
jmp 0x140417e20
mov edx, dword [rsp + 0x24]
movzx rcx, si
mov ecx, edx
jmp 0x1404190d3
cmp edx, 3
jmp 0x1404190db
jb 0x140417e20
add ecx, 4
bsr ax, cx
and al, 0xa8
add rbp, 0xb
movsx ax, r11b
nop word [rax + rax]
movzx eax, byte [r9]
test r8b, r13b
cmp dx, 0x2187
jmp 0x14041910a
mov byte [rbp - 9], al
cmp di, 0x8d7
test r10b, r8b
stc
mov byte [rbp - 0xa], al
cmp r11b, cl
stc
mov byte [rbp - 0xb], al
movzx eax, byte [r9 + 2]
jmp 0x14041912a
mov byte [rbp - 6], al
stc
mov byte [rbp - 7], al
mov byte [rbp - 8], al
movsx eax, r15w
rol ah, cl
movzx eax, byte [r9 + 4]
clc
cmp r11w, r14w
mov byte [rbp - 3], al
cmp r8w, r13w
mov byte [rbp - 4], al
jmp 0x140419156
mov byte [rbp - 5], al
rcl eax, cl
rcr rax, cl
bt eax, ebp
movzx eax, byte [r9 + 6]
clc
mov byte [rbp], al
clc
test r15w, cx
mov byte [rbp - 1], al
mov byte [rbp - 2], al
cmc
add r9, 8
add ecx, 0xfffffffc
add rbp, 0xc
cmp ecx, 3
jmp 0x140419189
jg 0x1404190f9
jmp 0x140417e20
mov edx, dword [rsp + 0x24]
shr rdi, 0x5d
cmovb di, bp
xor rdi, r10
mov edi, edx
stc
cmc
cmp edx, 3
jmp 0x1404191af
jb 0x140417e20
add edi, 4
xor rax, 0x50014971
rcl al, 0x36
cwde
add rbp, 0xb
or eax, eax
setle ah
nop word cs:[rax + rax]
btc rax, r14
movzx eax, byte [r9]
cmp bl, r13b
mov byte [rbp - 9], al
cmp esi, ebx
stc
mov byte [rbp - 0xa], al
mov byte [rbp - 0xb], al
sal ax, 0xf6
shrd ax, bx, 0x18
movzx eax, byte [r9 + 1]
test esi, 0x36864ff5
cmp r10w, 0x2c08
cmc
mov byte [rbp - 6], al
jmp 0x140419214
mov byte [rbp - 7], al
clc
mov byte [rbp - 8], al
movzx eax, byte [r9 + 2]
mov byte [rbp - 3], al
mov byte [rbp - 4], al
test bh, 0xb
cmp spl, r13b
cmp rsi, 0x3ea133f
mov byte [rbp - 5], al
movzx eax, byte [r9 + 3]
mov byte [rbp], al
cmp r10b, r12b
stc
mov byte [rbp - 1], al
jmp 0x14041924a
mov byte [rbp - 2], al
cmp dil, 0x50
stc
add r9, 4
jmp 0x14041925b
add edi, 0xfffffffc
cmp spl, 0xa0
add rbp, 0xc
cmp al, 0xa8
cmp edi, 3
jmp 0x140419270
jg 0x1404191de
jmp 0x140417e20
mov edx, dword [rsp + 0x24]
mov ecx, edx
cmp edx, 3
jmp 0x140419289
jb 0x140417e20
add ecx, 4
dec eax
test esi, 0x6a224687
xor edi, edi
movsx ax, sil
movzx eax, bx
movzx eax, word [r9 + rdi]
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 0x1404192cb
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 0x1404192ed
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 0x14041930f
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 0xc], xmm2
add ecx, 0xfffffffc
cmp r11b, r11b
test r12w, bp
add rdi, 8
jmp 0x140419339
cmp ecx, 3
jg 0x1404192a4
jmp 0x140417e20
mov edx, dword [rsp + 0x24]
ror ch, 0xfc
dec cx
btr rcx, 0x67
mov ecx, edx
cmp r10b, 0x23
cmp edx, 7
jmp 0x140419364
jb 0x140417e20
add ecx, 8
adc ah, bh
sub edi, edi
nop dword [rax + rax]
cwde
movzx eax, byte [r9 + rdi*2]
cmp di, di
stc
mov byte [rbp + rdi], al
sar al, 0xa2
movzx rax, r15w
movzx eax, byte [r9 + rdi*2 + 2]
cmp r15d, 0x781025fe
test r14b, al
mov byte [rbp + rdi + 1], al
movzx eax, byte [r9 + rdi*2 + 4]
clc
mov byte [rbp + rdi + 2], al
test r12b, 0xb4
sub eax, 0x51d32ba3
movzx eax, byte [r9 + rdi*2 + 6]
test cl, 0x84
cmc
stc
mov byte [rbp + rdi + 3], al
adc al, 0x3c
movzx eax, byte [r9 + rdi*2 + 8]
clc
stc
cmp cx, 0x6762
mov byte [rbp + rdi + 4], al
movzx eax, byte [r9 + rdi*2 + 0xa]
test r13w, r9w
mov byte [rbp + rdi + 5], al
neg rax
add rax, 0x24206cec
and ax, 0x7923
movzx eax, byte [r9 + rdi*2 + 0xc]
test di, 0x5e45
mov byte [rbp + rdi + 6], al
sbb ah, 0xf
rcl ax, cl
movzx eax, byte [r9 + rdi*2 + 0xe]
cmp dil, r13b
mov byte [rbp + rdi + 7], al
test rbp, r8
add ecx, 0xfffffff8
clc
add rdi, 8
cmc
cmp ecx, 7
jmp 0x14041942a
jg 0x14041937a
jmp 0x140417e20
sub ecx, ecx
clc
jmp 0x140419440
test byte [rsp + 0xc0], 1
jmp 0x14041944d
je 0x140419494
lea rax, [rcx + rcx]
or rax, 0x10
jmp 0x140419460
movq xmm2, qword [r9 + rcx]
jmp 0x14041946b
movq xmm5, qword [r9 + rcx + 8]
jmp 0x140419477
punpcklbw xmm2, xmm0
movdqu xmmword [rbp + rcx*2], xmm2
jmp 0x140419486
punpcklbw xmm5, xmm0
movdqu xmmword [rbp + rax], xmm5
bts rax, rsp
mov rax, qword [rsp + 0x60]
jmp 0x14041949f
cmp qword [rsp + 0x68], rax
jmp 0x1404194a9
je 0x140417e20
add rbp, qword [rsp + 0x80]
xadd cl, cl
bsr ecx, r15d
add r9, qword [rsp + 0x60]
bswap ecx
mov ecx, dword [rsp + 0x54]
movzx eax, r12w
inc ecx
shl rax, cl
ror ah, 0x5d
cbw
xor ebx, ebx
not ah
nop word [rax + rax]
lahf
movzx eax, byte [r9 + rbx]
jmp 0x1404194ec
mov byte [rbp + rbx*2], al
jmp 0x1404194f5
mov byte [rbp + rbx*2 + 1], 0xff
jmp 0x1404194ff
dec ecx
jmp 0x140419506
inc rbx
test r9b, 0xf4
test ecx, ecx
jmp 0x140419514
jg 0x1404194e2
jmp 0x140417e20
mov rcx, rsi
jmp 0x140419527
call fcn.14029196c
mov rax, qword [rsp + 0x78]
jmp 0x140419561
mov rcx, rsi
xchg sil, sil
mov rsi, rdx
jmp 0x140419544
call fcn.14029196c
mov rcx, rsi
jmp 0x140419551
call fcn.14029196c
sub eax, eax
movzx r12w, r15b
sal sil, 0xb5
movaps xmm6, xmmword [rsp + 0xf0]
ror rdi, cl
rol r12, 0xcf
add r15b, 0xf8
movaps xmm7, xmmword [rsp + 0x100]
btr r15w, r14w
movaps xmm8, xmmword [rsp + 0x110]
movsxd rsi, r14d
add rsp, 0x128
movzx esi, di
movsx di, spl
pop rbx
mov sil, 0x51
cmovp di, cx
xchg r13b, r13b
pop rbp
pop rdi
pop rsi
movsx r15, di
cmovnp r14w, di
mov r13b, 0xb
pop r12
pop r13
movsxd r15, ebx
mov r14b, 0x5b
pop r14
jmp 0x1404195cf
pop r15
jmp 0x1404195d6
ret