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

Disassembly:
push r15
cmp ah, 0x32
clc
jmp 0x14041fa0f
push r14
push r13
push r12
push rsi
jmp 0x14041fa1c
push rdi
test r10b, dil
clc
push rbp
test spl, 0x8e
push rbx
sub rsp, 0x128
jmp 0x14041fa36
movdqa xmmword [rsp + 0x110], xmm8
movdqa xmmword [rsp + 0x100], xmm7
movdqa xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
shl ax, cl
sar rax, 0x74
shld ax, bp, 0xbf
mov rax, rdx
cmp r10w, 0x5401
mov qword [rsp + 0x48], rdx
cmp r8d, edx
jne 0x14041fa85
mov rax, rsi
jmp 0x14041fa80
jmp 0x140421453
mov ebx, r9d
cwde
sbb ah, 0xd6
mov ebp, r8d
sub al, r10b
mov eax, r9d
or eax, r8d
jmp 0x14041fa9d
js 0x14042143b
test ebx, ebx
jmp 0x14041faaa
je 0x14041fadc
mov eax, 0x7fffffff
cmp dl, r13b
test ax, 0x7bee
jmp 0x14041fac1
sub edx, edx
cmp r10b, 0x22
idiv ebx
stc
cmp sp, 0x2c78
cmp eax, ebp
jmp 0x14041fad6
jl 0x14042143b
mov edi, dword [rsp + 0x190]
mov eax, ebx
imul eax, ebp
jmp 0x14041faf4
mov dword [rsp + 0x34], eax
or eax, edi
jmp 0x14041faff
js 0x14042143b
test edi, edi
jmp 0x14041fb0c
je 0x14041fb32
mov eax, 0x7fffffff
stc
sub edx, edx
stc
cmc
test cx, 0x53b
idiv edi
cmp eax, dword [rsp + 0x34]
jmp 0x14041fb2c
jl 0x14042143b
mov eax, dword [rsp + 0x34]
movsx rcx, sp
imul eax, edi
cmovp cx, r14w
movsxd rcx, eax
jmp 0x14041fb4a
call fcn.14012a197
test rax, rax
jmp 0x14041fb57
je 0x14042143b
mov rdx, rax
jmp 0x14041fb65
mov qword [rsp + 0x70], rbp
clc
cmc
cmp dh, 0x28
test edi, edi
jmp 0x14041fb76
mov qword [rsp + 0x78], rax
jmp 0x14041fb80
jle 0x14042140f
mov rax, qword [rsp + 0x70]
movsxd r15, ebx
mov rcx, qword [rsp + 0x48]
lea r15d, [rax + rcx*8]
cmp r15d, 0x23
jmp 0x14041fba0
ja 0x14042142b
movabs rcx, 0xe161a1c00
clc
jmp 0x14041fbb6
bt rcx, r15
jmp 0x14041fbbf
jae 0x14042142b
lea eax, [rbx - 1]
mov cx, 0x2f9b
not ch
inc cl
mov ecx, edi
setl bpl
mov qword [rsp + 0xe0], rcx
jmp 0x14041fbe3
mov ecx, eax
mov qword [rsp + 0x38], rcx
jmp 0x14041fbef
inc rcx
sbb dil, r15b
mov r8, rcx
ror bpl, cl
bswap edi
and r8, 0xfffffffffffffff0
cmove edi, eax
xor di, r12w
movsx rbp, r11w
lea rdi, [r8 - 0x10]
shrd ebp, edi, 0x93
mov qword [rsp + 0xc8], rdi
cmp r15, rsi
shr rdi, 4
mov bp, 0x4222
movsx bp, bl
inc rdi
bsr bp, cx
ror bpl, 0x44
ror rbp, cl
lea ebp, [rbx - 2]
mov dword [rsp + 0x30], ebp
btr ebp, edi
and rbp, 0x4d9603eb
xor bpl, r11b
movabs rbp, 0x1fffffff0
test r14b, 0xe2
test r13, rsi
or rbp, 8
test bpl, r10b
clc
jmp 0x14041fc6b
mov qword [rsp + 0x68], rcx
jmp 0x14041fc76
and rbp, rcx
mov ecx, eax
clc
sub ecx, ebp
clc
mov dword [rsp + 0x58], ecx
shl cx, cl
mov dword [rsp + 0x24], eax
and rcx, 0x13ab440d
sub eax, r8d
shl ch, 0x57
sete ch
mov dword [rsp + 0x54], eax
add ah, 0x12
rcl cx, cl
mov rax, rdi
and al, sil
sbb ecx, 0x34a011ce
mov qword [rsp + 0xc0], rdi
mov al, 7
btc ecx, 0xb3
bswap rcx
and rdi, 0xfffffffffffffffe
adc cl, al
mov qword [rsp + 0x98], rdi
cwde
mov eax, ebx
rcl cl, 0x5b
imul eax, dword [rsp + 0x48]
rol cl, cl
clc
mov dword [rsp + 0x5c], eax
sub ax, 0x5503
mov eax, ebx
and eax, 3
shrd rcx, rdi, 0xcd
mov ecx, ebx
jmp 0x14041fcf6
and ecx, 7
mov qword [rsp + 0xd8], rcx
jmp 0x14041fd06
pcmpeqd xmm0, xmm0
pxor xmm1, xmm1
movdqa xmm8, xmmword [0x1400bf4e0]
movdqa xmm3, xmmword [0x1400bf4f0]
movdqa xmm4, xmmword [0x1400bf500]
lea rcx, [rbp + rbp]
test ax, 0x666b
clc
mov qword [rsp + 0xb0], rcx
movsxd rcx, ebp
or ch, bl
bswap cx
mov qword [rsp + 0xb8], rbp
test rax, rbx
movzx rcx, bp
sub cl, al
lea rcx, [rbp + rbp*2]
jmp 0x14041fd5c
mov qword [rsp + 0xa8], rcx
btc ecx, 0x8f
rcr ch, 0x92
and cx, 0x17f6
mov qword [rsp + 0x60], r8
movsx ecx, di
and ch, 0x92
lea rcx, [r8 + r8]
stc
mov qword [rsp + 0x80], rcx
sub ch, bl
lea rcx, [rsi + 0x17]
mov qword [rsp + 0xa0], rcx
test al, sil
cmc
mov qword [rsp + 0x40], rax
lea rax, [rax + rax*2]
mov qword [rsp + 0xd0], rax
rcr al, 0x55
sbb al, r13b
cmp r14b, 0x4e
lea rax, [rdx + 0x30]
cmc
cmp spl, 0xa4
test dl, dil
mov qword [rsp + 0x90], rax
lea rax, [rsi + 0x18]
jmp 0x14041fdd3
mov qword [rsp + 0x88], rax
cmc
stc
jmp 0x14041fde2
xor r10d, r10d
clc
cmc
xor r13d, r13d
test r10w, r8w
cmc
cmp bp, bx
sub r12d, r12d
mov qword [rsp + 0xe8], rsi
jmp 0x14041fe02
mov qword [rsp + 0x28], rbx
jmp 0x14041fe0c
jmp 0x14041fe5e
inc r12
add r13d, dword [rsp + 0x5c]
add r10d, dword [rsp + 0x34]
rcr bx, 0x1a
cmovs ebx, r9d
rol bh, cl
cmp r12, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
cwd
jmp 0x14041fe3f
mov rbx, qword [rsp + 0x28]
xchg dl, dh
not rdx
jmp 0x14041fe4e
mov rdx, qword [rsp + 0x78]
jmp 0x14041fe58
je 0x14042140f
mov r14d, r10d
btc r11w, 0xbd
and r11b, r14b
mov r8d, r13d
movsx ebp, r12w
shr bpl, 0x4a
bts r9d, r9d
lea r11, [rdx + r14]
mov ebp, r12d
imul ebp, ebx
movsx r9w, r12b
mov r9d, ebp
test rsp, 0xe45416c
jmp 0x14041fe97
imul r9d, dword [rsp + 0x48]
stc
test r14w, bx
add r9, rsi
test r12, rax
jmp 0x14041fead
imul ebp, dword [rsp + 0x70]
lea rbp, [rbp + rdx]
stc
cmp spl, bpl
cmp r15d, 0x13
jmp 0x14041fec4
jle 0x14042023e
cmp r15d, 0x1b
seta ah
movzx ax, r15b
movsx eax, ax
mov eax, dword [rsp + 0x24]
jmp 0x14041fee2
jg 0x14042032f
cmp r15d, 0x14
jmp 0x14041fef1
je 0x140420466
cmp r15d, 0x19
jmp 0x14041ff00
je 0x14042050c
cmp r15d, 0x1a
jne 0x1404208c7
test eax, eax
jmp 0x14041ff17
js 0x14041fe11
mov ecx, dword [rsp + 0x24]
cmp r15b, 0xf5
stc
cmc
cmp ecx, 7
jmp 0x14041ff2f
jb 0x14042018b
add r8, qword [rsp + 0xa0]
add rbp, qword [rsp + 0xb0]
add r9, qword [rsp + 0xa8]
btr bx, 0xae
and al, r14b
sub ecx, ecx
neg ah
mov r14, qword [rsp + 0xb8]
nop
bts bx, r8w
rcr dil, 0x91
movzx edi, byte [r8 - 0x15]
not al
add rbx, r14
movzx ebx, byte [r8 - 0xf]
movzx esi, byte [r8 - 9]
rcr dl, cl
btr dx, sp
movzx eax, byte [r8 - 3]
movzx edx, byte [r8 - 0xc]
shl edx, 8
or edx, ebx
movzx ebx, byte [r8 - 0x12]
test bpl, spl
stc
cmp dil, bpl
shl ebx, 8
or ebx, edi
movd xmm7, ebx
pinsrw xmm7, edx, 1
movzx edx, byte [r8]
shl edx, 8
jmp 0x14041ffbb
or edx, eax
btc eax, esi
movzx eax, byte [r8 - 6]
stc
clc
shl eax, 8
or eax, esi
jmp 0x14041ffd1
movd xmm2, eax
pinsrw xmm2, edx, 1
punpcklbw xmm2, xmm1
movzx eax, byte [r8 - 0x16]
xadd sil, dl
movzx edx, byte [r8 - 0x10]
movzx esi, byte [r8 - 0xa]
movzx edi, byte [r8 - 4]
bt bx, 0x66
movzx ebx, byte [r8 - 0xd]
shl ebx, 8
test r9, r10
or ebx, edx
mov rdx, r11
or dl, bpl
movzx edx, byte [r8 - 0x13]
cmp si, 0x75c8
shl edx, 8
cmp r9w, r10w
or edx, eax
jmp 0x140420026
movd xmm5, edx
pinsrw xmm5, ebx, 1
movzx eax, byte [r8 - 1]
sbb dl, 0x5e
shl eax, 8
or eax, edi
bt edx, 0x8a
ror dl, cl
cmovae edx, r8d
movzx edx, byte [r8 - 7]
clc
shl edx, 8
cmp r11b, 0x76
stc
or edx, esi
jmp 0x14042005b
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]
xor bx, r13w
movzx edx, byte [r8 - 0x11]
movzx esi, byte [r8 - 0xb]
movzx edi, byte [r8 - 5]
btr bx, 0xc0
movzx ebx, byte [r8 - 0xe]
shl ebx, 8
cmp bpl, sil
or ebx, edx
movzx edx, byte [r8 - 0x14]
test r8b, r13b
shl edx, 8
jmp 0x1404200b6
or edx, eax
jmp 0x1404200bd
movd xmm2, edx
pinsrw xmm2, ebx, 1
movzx eax, byte [r8 - 2]
btc dx, r8w
test bpl, spl
shl eax, 8
btc dx, 0xd9
bts rdx, r15
or eax, edi
adc rdx, 0x43456cac
cqo
add edx, edx
movzx edx, byte [r8 - 8]
stc
clc
shl edx, 8
test edx, 0x53eb18b5
or edx, esi
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
clc
add rcx, 8
jmp 0x14042015f
add r8, 0x18
cmc
cmp dx, 0x1949
cmp r14, rcx
jmp 0x140420171
jne 0x14041ff6c
mov ecx, dword [rsp + 0x58]
cmp qword [rsp + 0x68], r14
jmp 0x140420185
je 0x14041fe11
inc ecx
jmp 0x14042019b
add r9, 2
nop word cs:[rax + rax]
cdqe
movzx eax, byte [r9]
xor rbx, 0x4a8252de
movzx edx, byte [r9 - 1]
bsr di, r9w
movzx di, dl
movzx ebx, byte [r9 - 2]
imul edi, ebx, 0x4d
rol bh, 0xaa
imul edx, edx, 0x96
stc
xor ebx, eax
lea ebx, [rax + rax*8]
jmp 0x1404201e2
lea ebx, [rbx + rbx*2]
add ebx, eax
cmc
test rbx, r11
cmp r12b, 0x12
add ebx, eax
test sil, 0x5c
add ebx, edx
add ebx, edi
clc
mov byte [rbp], bh
stc
test r10b, cl
cmp r14w, r11w
mov byte [rbp + 1], 0xff
cmc
stc
add rbp, 2
jmp 0x140420214
dec ecx
cmp sil, 0x58
cmp r10, r12
add r9, 3
cmc
jmp 0x14042022c
test ecx, ecx
jmp 0x140420233
jg 0x1404201ac
jmp 0x14041fe11
lea rcx, [rsi + r8]
cmp r15d, 0xb
cmovns rax, r14
mov eax, dword [rsp + 0x24]
jmp 0x140420253
jle 0x14042038d
cmp r15d, 0xc
jmp 0x140420262
je 0x140420537
cmp r15d, 0x11
je 0x1404206f3
cmp r15d, 0x13
jmp 0x14042027b
jne 0x1404208c7
test eax, eax
jmp 0x140420288
js 0x14041fe11
test byte [rsp + 0x28], 3
jmp 0x140420298
je 0x140420fd4
xor ebp, ebp
shl ah, cl
btc ecx, 0
cqo
mov edx, dword [rsp + 0x24]
shl bh, 0xfa
mov ecx, edx
sbb bl, sil
mov rbx, qword [rsp + 0xd0]
nop word cs:[rax + rax]
bsf ax, bx
shr al, 0x87
movzx eax, byte [r9]
mov byte [r11 + rbp + 2], al
mov byte [r11 + rbp + 1], al
stc
mov byte [r11 + rbp], al
clc
cmp r8, 0x52ec67eb
jmp 0x1404202f0
add r9, 2
jmp 0x1404202f9
dec ecx
add rbp, 3
cmp ebx, ebp
jmp 0x140420306
jne 0x1404202d0
lea r11, [r11 + rbp]
mov rbp, r11
cmp r14b, al
jmp 0x14042031c
cmp edx, 3
jmp 0x140420324
jb 0x14041fe11
jmp 0x140420ff4
cmp r15d, 0x1c
jmp 0x140420338
je 0x140420779
cmp r15d, 0x21
jmp 0x140420347
je 0x1404207a1
cmp r15d, 0x22
jmp 0x140420356
jne 0x1404208c7
test eax, eax
jmp 0x140420363
js 0x14041fe11
test byte [rsp + 0x28], 1
jmp 0x140420373
jne 0x1404208ef
mov eax, dword [rsp + 0x24]
movsx rcx, r10w
mov ecx, eax
jmp 0x140420388
jmp 0x140420981
cmp r15d, 0xa
je 0x1404207db
cmp r15d, 0xb
jmp 0x1404203a0
jne 0x1404208c7
test eax, eax
jmp 0x1404203ad
js 0x14041fe11
test byte [rsp + 0x28], 3
jmp 0x1404203bd
je 0x1404210ba
sub ebx, ebx
xchg dil, dil
cmp r8w, r11w
jmp 0x1404203d1
mov edx, dword [rsp + 0x24]
stc
mov rdi, qword [rsp + 0x40]
mov al, r8b
test r13, r13
bswap rax
nop
clc
movzx eax, byte [rcx + rbx]
mov byte [rbp + 2], al
mov byte [rbp + 1], al
cmc
cmp r12b, 0xe5
mov byte [rbp], al
add rbp, 3
jmp 0x140420402
inc rbx
cmp cx, 0x496c
cmp edi, ebx
jne 0x1404203e7
mov rax, qword [rsp + 0x38]
sub r9b, 0x16
sbb r9w, cx
adc di, 0x43ff
mov edi, eax
rol r9d, 0xcb
sub edi, ebx
sal r9b, 0x5b
bt r9d, 0x9d
bsr r9w, sp
add rcx, rbx
btr r9w, si
bsr r9, rdi
mov r9, rcx
test r15w, r11w
cmc
jmp 0x140420453
cmp edx, 3
jmp 0x14042045b
jb 0x14041fe11
jmp 0x1404210d6
test eax, eax
jmp 0x14042046d
js 0x14041fe11
test byte [rsp + 0x28], 3
jmp 0x14042047d
je 0x140421182
xor edi, edi
mov edx, dword [rsp + 0x24]
movzx eax, bx
movsx rax, r11w
seta ch
mov rcx, qword [rsp + 0x40]
lahf
bswap ax
setnp ah
nop word cs:[rax + rax]
movsxd rax, esp
movzx eax, word [r9]
jmp 0x1404204b8
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp], xmm2
add r9, 2
add rbp, 4
jmp 0x1404204db
inc rdi
jmp 0x1404204e3
cmp ecx, edi
jmp 0x1404204ea
jne 0x1404204af
mov rax, qword [rsp + 0x38]
mov ecx, eax
sub ecx, edi
cmp edx, 3
jmp 0x140420501
jb 0x14041fe11
jmp 0x1404211a8
test eax, eax
js 0x14041fe11
test byte [rsp + 0x28], 1
jne 0x140420ab7
mov eax, dword [rsp + 0x24]
mov cx, r14w
movsx cx, r11b
cmovnp rcx, rax
mov ecx, eax
jmp 0x140420b3f
test eax, eax
js 0x14041fe11
mov edx, dword [rsp + 0x24]
btc di, r13w
rol dil, 0x6b
mov edi, edx
test dil, r12b
cmp di, r15w
test byte [rsp + 0x28], 3
jmp 0x14042055f
je 0x1404205f8
xor ebx, ebx
ror al, cl
shr di, cl
shl di, 0xae
sub ebp, ebp
inc al
mov rdi, qword [rsp + 0x40]
nop dword [rax]
mov eax, ecx
lahf
movsx eax, r14w
movzx eax, byte [rcx + rbp]
mov byte [r11 + rbp*4 + 2], al
mov byte [r11 + rbp*4 + 1], al
jmp 0x140420597
mov byte [r11 + rbp*4], al
mov byte [r11 + rbp*4 + 3], 0xff
inc rbp
jmp 0x1404205aa
add rbx, 0xfffffffffffffffc
cmp edi, ebp
jmp 0x1404205b5
jne 0x140420584
mov rax, qword [rsp + 0x38]
rol r9w, cl
mov edi, eax
or r9, r11
movsx r9, di
cmp r10b, 0xd6
sub edi, ebp
btc r9w, r11w
sub r11, rbx
lea rcx, [rcx + rbp]
mov rbp, r11
inc r9w
neg r9b
cmovno r9, rbx
mov r9, rcx
cmc
cmp r15b, 0x80
test r15b, bl
cmp edx, 3
jmp 0x140420600
jb 0x14041fe11
add edi, 4
sar rax, cl
xor al, r13b
jmp 0x140420614
xor ecx, ecx
rcr al, cl
nop word cs:[rax + rax]
shr ah, 0x2f
adc ax, 0x488d
shld ax, r14w, 0x94
movzx eax, byte [r9 + rcx]
cmc
mov byte [rbp + rcx*4 + 2], al
test dx, sp
test r8b, 0x21
mov byte [rbp + rcx*4 + 1], al
mov byte [rbp + rcx*4], al
mov byte [rbp + rcx*4 + 3], 0xff
xor eax, 0x63ff20cb
movzx eax, byte [r9 + rcx + 1]
test r10w, ax
clc
mov byte [rbp + rcx*4 + 6], al
clc
jmp 0x140420667
mov byte [rbp + rcx*4 + 5], al
clc
cmp r15b, r10b
mov byte [rbp + rcx*4 + 4], al
clc
mov byte [rbp + rcx*4 + 7], 0xff
cmp spl, 0x63
movzx eax, byte [r9 + rcx + 2]
cmc
cmp al, 0xe9
stc
mov byte [rbp + rcx*4 + 0xa], al
mov byte [rbp + rcx*4 + 9], al
cmp r11b, spl
stc
mov byte [rbp + rcx*4 + 8], al
movzx ax, dil
mov byte [rbp + rcx*4 + 0xb], 0xff
movzx eax, byte [r9 + rcx + 3]
stc
cmp sil, 0x2e
mov byte [rbp + rcx*4 + 0xe], al
cmc
jmp 0x1404206b6
mov byte [rbp + rcx*4 + 0xd], al
test r8d, 0x22a57e12
mov byte [rbp + rcx*4 + 0xc], al
mov byte [rbp + rcx*4 + 0xf], 0xff
test r10b, r15b
clc
add edi, 0xfffffffc
stc
jmp 0x1404206d8
add rcx, 4
test r14b, al
clc
cmp edi, 3
jmp 0x1404206e8
jg 0x14042062f
jmp 0x14041fe11
test eax, eax
jmp 0x1404206fa
js 0x14041fe11
test byte [rsp + 0x28], 7
je 0x14042125e
xor ebp, ebp
mov edx, dword [rsp + 0x24]
adc al, r15b
sets ch
mov rcx, qword [rsp + 0xd8]
nop dword [rax]
movzx eax, byte [r9]
clc
mov byte [r11 + rbp], al
cmp bpl, cl
test r9b, r8b
add r9, 2
jmp 0x14042073a
inc rbp
cmc
cmp bx, 0x47d4
cmp ecx, ebp
jmp 0x14042074a
jne 0x140420722
mov rax, qword [rsp + 0x38]
rcl ch, 0x25
cmc
ror rcx, cl
mov ecx, eax
sub ecx, ebp
add r11, rbp
mov rbp, r11
cmp edx, 7
jmp 0x14042076e
jb 0x14041fe11
jmp 0x14042127c
test eax, eax
js 0x14041fe11
test byte [rsp + 0x28], 1
jmp 0x14042078b
jne 0x140420c41
mov eax, dword [rsp + 0x24]
mov ecx, eax
jmp 0x14042079c
jmp 0x140420c9e
test eax, eax
jmp 0x1404207a8
js 0x14041fe11
test byte [rsp + 0x28], 1
jmp 0x1404207b8
jne 0x140420d49
mov eax, dword [rsp + 0x24]
movzx rcx, di
movsx cx, r12b
movzx ecx, r12w
mov ecx, eax
jmp 0x1404207d6
jmp 0x140420dc6
test eax, eax
jmp 0x1404207e2
js 0x14041fe11
mov ecx, dword [rsp + 0x24]
stc
jmp 0x1404207f2
cmp ecx, 0xf
jmp 0x1404207fa
jb 0x1404213ca
cmp qword [rsp + 0xc8], 0
jmp 0x14042080e
je 0x140421330
add r14, qword [rsp + 0x90]
shld edi, r9d, 0x3f
btr rdi, rdi
add r8, qword [rsp + 0x88]
test dx, 0x7e95
sub di, r9w
mov rdi, qword [rsp + 0x98]
xor ecx, ecx
nop word [rax + rax]
movq xmm2, qword [r8 + rcx - 0x18]
jmp 0x140420852
movq xmm5, qword [r8 + rcx - 0x10]
jmp 0x14042085e
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x30], xmm2
jmp 0x14042086e
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2 - 0x20], xmm5
movq xmm2, qword [r8 + rcx - 8]
jmp 0x140420885
movq xmm5, qword [r8 + rcx]
punpcklbw xmm2, xmm0
movdqu xmmword [r14 + rcx*2 - 0x10], xmm2
jmp 0x14042089b
punpcklbw xmm5, xmm0
movdqu xmmword [r14 + rcx*2], xmm5
add rcx, 0x20
test r13b, 0x49
cmp bx, 0x2bfd
stc
add rdi, 0xfffffffffffffffe
jmp 0x1404208bc
jne 0x140420846
jmp 0x140421344
test eax, eax
jmp 0x1404208ce
js 0x14041fe11
test byte [rsp + 0x28], 1
jne 0x140420ea7
mov eax, dword [rsp + 0x24]
mov ecx, eax
jmp 0x1404208ea
jmp 0x140420f11
movzx ebx, byte [r9 + 2]
adc r8b, 0xf5
rcr di, 0x44
movzx ecx, byte [r9 + 1]
bt di, 0x47
movzx edi, byte [r9]
btc r8w, 0x44
imul r8d, edi, 0x4d
mov rax, 0x4c65230b
imul edi, ecx, 0x96
lea ecx, [rbx + rbx*8]
rcr ah, 0xc8
nop
bswap eax
lea ecx, [rcx + rcx*2]
add ecx, ebx
add ecx, ebx
movsx ax, r12b
add ecx, edi
not ah
inc al
add ecx, r8d
shld ax, r10w, 0x16
mov byte [rbp], ch
shld cx, r15w, 0xdd
movzx ecx, byte [r9 + 3]
sub ah, 0xcd
cdqe
btc eax, edx
mov byte [rbp + 1], cl
xor rcx, 0x78fd537e
add r9, 4
movzx rcx, r12w
mov ax, sp
add rbp, 2
mov ecx, dword [rsp + 0x30]
cwde
rol eax, 0xed
mov eax, dword [rsp + 0x24]
test eax, eax
je 0x14041fe11
add ecx, 2
bt si, 0x91
xor edi, edi
nop word cs:[rax + rax]
movzx eax, byte [r9 + rdi*2 + 2]
movzx edx, byte [r9 + rdi*2 + 1]
rcl bx, 0x4d
movzx ebx, byte [r9 + rdi*2]
shl sil, 0xc3
movzx rsi, dx
btc esi, r15d
imul esi, ebx, 0x4d
imul edx, edx, 0x96
rcr bh, 0x67
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
test rbx, 0x48b64c66
cmp dx, r12w
add ebx, eax
add ebx, edx
bsr ax, r13w
btr eax, r11d
movsx ax, bpl
add ebx, esi
bsr si, bp
stc
mov dx, 0x143
mov byte [rbp + rdi], bh
movzx eax, byte [r9 + rdi*2 + 3]
sbb dl, 0xed
movzx rbx, ax
dec bl
mov byte [rbp + rdi + 1], al
xor si, 0x3c5a
test r8, 0xde33a75
movzx eax, byte [r9 + rdi*2 + 6]
shl edx, cl
movzx edx, byte [r9 + rdi*2 + 5]
xadd rbx, rsi
sub bx, r10w
add bh, 0x22
movzx ebx, byte [r9 + rdi*2 + 4]
neg rsi
movzx rsi, di
imul esi, ebx, 0x4d
sub bl, dh
bts bx, r13w
imul edx, edx, 0x96
bts ebx, r13d
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
cmp spl, 0x4a
cmc
clc
add ebx, eax
cmc
stc
add ebx, eax
add ebx, edx
cwde
add ebx, esi
xchg al, ah
xor al, r12b
cmovge rax, rsi
mov byte [rbp + rdi + 2], bh
bt ax, 0xf8
jmp 0x140420a89
movzx eax, byte [r9 + rdi*2 + 7]
cmc
mov byte [rbp + rdi + 3], al
clc
cmp dil, 0xc0
stc
add ecx, 0xfffffffe
add rdi, 4
cmp r15b, dil
cmp ecx, 1
jmp 0x140420aac
jg 0x1404209a1
jmp 0x14041fe11
movzx eax, byte [r9 + 2]
shld rbx, rbp, 0x36
movzx ecx, byte [r9 + 1]
movsx edx, r15w
movzx edx, byte [r9]
bts bx, r9w
cmp esi, 0x4a650ebb
imul edx, edx, 0x4d
imul ebx, ecx, 0x96
lea ecx, [rax + rax*8]
cmp di, 0x6d82
test r8d, 0x1bfe14f9
lea ecx, [rcx + rcx*2]
add ecx, eax
cmp esp, 0x79437b6c
add ecx, eax
mov al, 0x38
cwde
sub al, 0xca
add ecx, ebx
jmp 0x140420b14
add ecx, edx
sal al, 0xad
movsx rax, di
mov byte [rbp], ch
add r9, 3
mov al, r15b
movzx eax, bx
inc rbp
or cx, 0x3690
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
clc
test r15b, 0x9c
test eax, eax
jmp 0x140420b46
je 0x14041fe11
add ecx, 2
cqo
sub ax, 0x7b
sbb di, r15w
add r9, 5
add bl, 0xb6
movzx ebx, di
rol ah, cl
nop word cs:[rax + rax]
movzx eax, byte [r9 - 3]
movzx edx, byte [r9 - 4]
movzx ebx, byte [r9 - 5]
sub di, r15w
imul edi, ebx, 0x4d
imul edx, edx, 0x96
movsx ebx, r10w
movsx bx, r8b
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
clc
add ebx, eax
clc
add ebx, eax
and al, r11b
movsxd rax, r15d
cmp r12b, al
add ebx, edx
stc
add ebx, edi
stc
movsxd rdi, esp
bt ax, 0x4b
mov byte [rbp], bh
movzx eax, byte [r9]
shr dil, cl
xor rdi, r8
rcr di, cl
movzx edx, byte [r9 - 1]
sal bh, 0xf
movzx ebx, byte [r9 - 2]
cmp sp, 0x4924
imul edi, ebx, 0x4d
and bx, 0x3818
sal bl, cl
imul edx, edx, 0x96
ror bx, cl
test rcx, r15
cmovp bx, r8w
lea ebx, [rax + rax*8]
stc
lea ebx, [rbx + rbx*2]
clc
stc
add ebx, eax
add ebx, eax
add ebx, edx
add ebx, edi
jmp 0x140420c0d
mov byte [rbp + 1], bh
cmp dil, 0x99
stc
add rbp, 2
test r13w, 0x6665
test r8b, dl
add ecx, 0xfffffffe
add r9, 6
cmp bp, 0x121f
cmp ecx, 1
jmp 0x140420c36
jg 0x140420b71
jmp 0x14041fe11
movzx eax, byte [r9]
xor ecx, 0x77e17537
inc ecx
mov byte [rbp], al
not cl
rcl cl, cl
movzx eax, byte [r9 + 1]
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
or ecx, 0x35f54372
bsr ecx, r8d
jmp 0x140420c70
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
add r9, 3
movzx ax, r12b
add rbp, 4
btr ecx, r15d
mov ecx, dword [rsp + 0x30]
cmovo ax, di
xadd ax, ax
or al, 7
mov eax, dword [rsp + 0x24]
test ax, 0x6840
test eax, eax
jmp 0x140420ca5
je 0x14041fe11
add ecx, 2
movzx eax, si
nop dword [rax]
cbw
movzx eax, byte [r9]
cmc
test sil, 0xe4
mov byte [rbp], al
movzx eax, byte [r9 + 1]
cmc
mov byte [rbp + 1], al
bsr ax, bx
movzx eax, byte [r9 + 2]
clc
stc
cmp dx, 0x3d12
mov byte [rbp + 2], al
mov byte [rbp + 3], 0xff
lahf
rcr ax, 0xea
add al, 0x36
movzx eax, byte [r9 + 3]
mov byte [rbp + 4], al
movzx eax, byte [r9 + 4]
cmc
clc
mov byte [rbp + 5], al
bts ax, r10w
movzx eax, byte [r9 + 5]
stc
mov byte [rbp + 6], al
test bx, 0x3cc3
cmc
cmp r8w, r14w
mov byte [rbp + 7], 0xff
cmp r11b, al
jmp 0x140420d20
add r9, 6
clc
cmc
add rbp, 8
clc
stc
add ecx, 0xfffffffe
test si, bx
cmp r12w, si
cmp ecx, 1
jmp 0x140420d3e
jg 0x140420cb7
jmp 0x14041fe11
movzx ebx, byte [r9 + 2]
cbw
xor ecx, 0xa685488
rol r8b, cl
movzx ecx, byte [r9 + 1]
adc r8b, 0xa8
lahf
bt ax, cx
movzx edi, byte [r9]
cmp al, 0x44
imul r8d, edi, 0x4d
rcl rax, cl
clc
imul edi, ecx, 0x96
movzx cx, r14b
cwde
inc ah
lea ecx, [rbx + rbx*8]
lea ecx, [rcx + rcx*2]
rcl eax, cl
sbb al, r14b
add ecx, ebx
add ecx, ebx
btr ax, 0x90
add ecx, edi
movsxd rax, ebp
sal al, cl
test r14b, r12b
add ecx, r8d
mov byte [rbp], ch
add r9, 4
movzx cx, r14b
movzx eax, r8w
not ecx
inc rbp
mov ecx, dword [rsp + 0x30]
add ah, dl
rol rax, cl
mov eax, dword [rsp + 0x24]
test eax, eax
jmp 0x140420dcd
je 0x14041fe11
add ecx, 2
setl sil
bsr si, si
sub edi, edi
nop word cs:[rax + rax]
ror rsi, cl
movzx eax, byte [r9 + rdi*4 + 2]
movzx edx, byte [r9 + rdi*4 + 1]
bswap bx
and bx, 0x3c97
sar bx, 0xdd
movzx ebx, byte [r9 + rdi*4]
ror sil, cl
btr rsi, 0x15
imul esi, ebx, 0x4d
sbb bl, r13b
bts bx, r8w
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
add ebx, eax
add ebx, edx
add ebx, esi
cmc
xor esi, r9d
rol dl, cl
mov byte [rbp + rdi], bh
rcr edx, cl
and al, r10b
movzx eax, byte [r9 + rdi*4 + 6]
mov rsi, r9
movzx edx, byte [r9 + rdi*4 + 5]
add sil, 0x36
movzx ebx, byte [r9 + rdi*4 + 4]
imul esi, ebx, 0x4d
movsx bx, spl
imul edx, edx, 0x96
lea ebx, [rax + rax*8]
lea ebx, [rbx + rbx*2]
add ebx, eax
add ebx, eax
add ebx, edx
clc
add ebx, esi
mov byte [rbp + rdi + 1], bh
cmp al, spl
add ecx, 0xfffffffe
test r15, r10
add rdi, 2
test r14, 0x40666695
stc
clc
cmp ecx, 1
jmp 0x140420e9c
jg 0x140420df1
jmp 0x14041fe11
movzx ecx, byte [r9]
cmp rcx, 0x38c37a1c
clc
mov byte [rbp], cl
or cl, r13b
movzx ecx, byte [r9 + 1]
mov eax, 0x562562e9
mov byte [rbp + 1], cl
or ax, r9w
jmp 0x140420ed4
movzx ecx, byte [r9 + 2]
and ah, 0xe7
mov byte [rbp + 2], cl
bt rcx, 0xc7
bts cx, r14w
add r9, 4
xor al, r14b
add rbp, 3
dec cx
sbb ax, 0x5648
sub al, r13b
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x24]
test r14w, 0x346a
jmp 0x140420f11
test eax, eax
jmp 0x140420f18
je 0x14041fe11
add ecx, 2
btc ax, di
shr ah, 0
btc rax, 0x2a
nop dword [rax]
sub ax, 0x4761
xor ah, dh
rcr ah, 0x13
movzx eax, byte [r9]
jmp 0x140420f43
mov byte [rbp], al
xadd ax, ax
dec al
movzx eax, byte [r9 + 1]
cmp r15, rdi
test eax, 0x203d0a26
mov byte [rbp + 1], al
movzx eax, byte [r9 + 2]
test bpl, 0xd
mov byte [rbp + 2], al
rcr rax, cl
dec eax
movzx eax, byte [r9 + 4]
clc
cmc
test r8w, r14w
mov byte [rbp + 3], al
shr al, 0x27
and al, sil
movzx eax, byte [r9 + 5]
mov byte [rbp + 4], al
cmp r13b, 0xa
sar al, cl
not ah
movzx eax, byte [r9 + 6]
cmp r12d, eax
clc
mov byte [rbp + 5], al
test bpl, 0xa5
test bl, r10b
add r9, 8
jmp 0x140420faf
add rbp, 6
add ecx, 0xfffffffe
cmp r10w, 0x1fe8
jmp 0x140420fc1
cmp ecx, 1
jmp 0x140420fc9
jg 0x140420f3a
jmp 0x14041fe11
mov edx, dword [rsp + 0x24]
shld rcx, rsp, 0x44
movzx ecx, di
sar cl, cl
mov ecx, edx
clc
cmc
cmp edx, 3
jmp 0x140420fee
jb 0x14041fe11
add ecx, 4
xor ax, ax
add rbp, 0xb
nop word [rax + rax]
movzx eax, byte [r9]
clc
cmp spl, dil
mov byte [rbp - 9], al
cmp r8w, 0x57f4
test r14b, 0xba
cmp al, r12b
mov byte [rbp - 0xa], al
mov byte [rbp - 0xb], al
not ax
movsx ax, r8b
movzx ax, r15b
movzx eax, byte [r9 + 2]
test dil, 0xa7
clc
mov byte [rbp - 6], al
test bx, 0x597
test dl, al
cmp bpl, r13b
mov byte [rbp - 7], al
clc
cmp r15b, 0x8d
mov byte [rbp - 8], al
movzx ax, dil
movzx eax, byte [r9 + 4]
cmp rsp, rsi
mov byte [rbp - 3], al
cmc
cmp cl, r11b
cmp dil, 0x9d
mov byte [rbp - 4], al
test r10b, bl
jmp 0x140421077
mov byte [rbp - 5], al
add ax, r9w
shl ah, 0x24
xor al, 0x10
movzx eax, byte [r9 + 6]
mov byte [rbp], al
mov byte [rbp - 1], al
cmp bpl, 0x40
clc
mov byte [rbp - 2], al
add r9, 8
stc
add ecx, 0xfffffffc
jmp 0x1404210a3
add rbp, 0xc
cmc
cmp r10w, bx
cmp ecx, 3
jg 0x140421004
jmp 0x14041fe11
mov edx, dword [rsp + 0x24]
mov edi, edx
clc
cmp r14w, r15w
test r9b, r15b
cmp edx, 3
jmp 0x1404210d0
jb 0x14041fe11
add edi, 4
bts eax, edi
cmp al, 0x1d
add rbp, 0xb
xadd ax, ax
nop word cs:[rax + rax]
shr ah, cl
xor ax, r8w
movzx eax, byte [r9]
cmp rsi, 0x2b596e4c
mov byte [rbp - 9], al
clc
cmp cx, r8w
mov byte [rbp - 0xa], al
mov byte [rbp - 0xb], al
movzx eax, byte [r9 + 1]
cmc
test rcx, r8
stc
mov byte [rbp - 6], al
mov byte [rbp - 7], al
mov byte [rbp - 8], al
rcr rax, 0x9c
movzx eax, byte [r9 + 2]
cmc
mov byte [rbp - 3], al
mov byte [rbp - 4], al
stc
cmp bp, r11w
mov byte [rbp - 5], al
movzx eax, byte [r9 + 3]
mov byte [rbp], al
mov byte [rbp - 1], al
stc
test ax, 0x659b
mov byte [rbp - 2], al
add r9, 4
clc
test r9w, 0x28a0
stc
add edi, 0xfffffffc
cmp ch, 0xe8
cmp cl, r15b
jmp 0x14042116b
add rbp, 0xc
cmp edi, 3
jmp 0x140421177
jg 0x1404210fa
jmp 0x14041fe11
mov edx, dword [rsp + 0x24]
sbb cl, r14b
and cx, 0xc49
mov ecx, edx
cmp ah, al
cmc
cmp r13, 0x3ebe1511
cmp edx, 3
jmp 0x1404211a2
jb 0x14041fe11
add ecx, 4
adc ah, 7
shr ah, 0x4a
sub edi, edi
mov ax, 0x6842
nop
setae al
movzx eax, word [r9 + rdi]
jmp 0x1404211c5
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]
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 0x140421204
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 0x140421226
movd xmm2, eax
punpcklbw xmm2, xmm1
pshuflw xmm2, xmm2, 0x40
packuswb xmm2, xmm2
movd dword [rbp + rdi*2 + 0xc], xmm2
add ecx, 0xfffffffc
test ax, r12w
cmp rsp, 0x6aef4056
add rdi, 8
clc
cmp ecx, 3
jg 0x1404211bb
jmp 0x14041fe11
mov edx, dword [rsp + 0x24]
stc
movsx cx, r10b
mov ecx, edx
cmp r9b, 0x60
cmp edx, 7
jmp 0x140421276
jb 0x14041fe11
add ecx, 8
movzx eax, r15w
xor edi, edi
nop dword [rax + rax]
movzx eax, byte [r9 + rdi*2]
mov byte [rbp + rdi], al
cmc
movzx eax, byte [r9 + rdi*2 + 2]
jmp 0x1404212a6
mov byte [rbp + rdi + 1], al
movsx eax, bx
movzx eax, byte [r9 + rdi*2 + 4]
cmp dl, r14b
clc
mov byte [rbp + rdi + 2], al
movzx eax, byte [r9 + rdi*2 + 6]
mov byte [rbp + rdi + 3], al
xor al, 0x1f
bt ax, r8w
movzx eax, byte [r9 + rdi*2 + 8]
cmp dil, r11b
stc
cmc
mov byte [rbp + rdi + 4], al
movzx eax, byte [r9 + rdi*2 + 0xa]
cmp dx, r11w
mov byte [rbp + rdi + 5], al
movzx eax, byte [r9 + rdi*2 + 0xc]
clc
mov byte [rbp + rdi + 6], al
lahf
not rax
btc ax, 0x42
movzx eax, byte [r9 + rdi*2 + 0xe]
cmc
mov byte [rbp + rdi + 7], al
stc
cmc
add ecx, 0xfffffff8
stc
jmp 0x140421313
add rdi, 8
cmc
jmp 0x14042131d
cmp ecx, 7
jmp 0x140421325
jg 0x14042128d
jmp 0x14041fe11
xor ecx, ecx
test ecx, 0x216d5623
jmp 0x140421344
test byte [rsp + 0xc0], 1
jmp 0x140421351
je 0x14042138f
lea rax, [rcx + rcx]
or rax, 0x10
jmp 0x140421364
movq xmm2, qword [r9 + rcx]
jmp 0x14042136f
movq xmm5, qword [r9 + rcx + 8]
jmp 0x14042137b
punpcklbw xmm2, xmm0
movdqu xmmword [rbp + rcx*2], xmm2
punpcklbw xmm5, xmm0
movdqu xmmword [rbp + rax], xmm5
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x68], rax
jmp 0x14042139e
je 0x14041fe11
add rbp, qword [rsp + 0x80]
movzx ecx, r10w
bt eax, 5
sub eax, eax
add r9, qword [rsp + 0x60]
nop
mov eax, esi
mov ecx, dword [rsp + 0x54]
cmovns ax, ax
dec rax
inc ecx
bts eax, eax
btr ax, 0xcc
sub ebx, ebx
nop word [rax + rax]
movzx eax, byte [r9 + rbx]
mov byte [rbp + rbx*2], al
mov byte [rbp + rbx*2 + 1], 0xff
jmp 0x1404213ef
dec ecx
jmp 0x1404213f6
inc rbx
test r10w, si
test ecx, ecx
jmp 0x140421404
jg 0x1404213dc
jmp 0x14041fe11
mov rcx, rsi
jmp 0x140421417
call fcn.14016e120
mov rax, qword [rsp + 0x78]
jmp 0x140421426
jmp 0x140421453
mov rcx, rsi
mov rsi, rdx
jmp 0x140421436
call fcn.14016e120
mov rcx, rsi
jmp 0x140421443
call fcn.14016e120
xor eax, eax
dec r14w
movzx r14w, dl
movaps xmm6, xmmword [rsp + 0xf0]
xadd r14b, bpl
or r15w, 0x19a2
clc
movaps xmm7, xmmword [rsp + 0x100]
or bp, 0x4b48
movaps xmm8, xmmword [rsp + 0x110]
bt rdi, rdi
sal bh, cl
add rsp, 0x128
bswap r12d
pop rbx
pop rbp
movzx r13d, si
pop rdi
cmova si, dx
pop rsi
pop r12
setnp r13b
movsxd r15, ecx
pop r13
movsx r15, r12w
setae r15b
movzx r15d, r14w
pop r14
movzx r15d, r10w
pop r15
ret