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

Disassembly:
push r15
clc
test dl, 0x3d
push r14
bts r14d, r13d
btc ax, di
test bx, r11w
push r13
push r12
sar r12w, cl
movzx r15d, r13w
or rax, rbx
push rsi
sar r14d, 0x1d
shrd r12d, eax, 0xa3
shr r12d, 0xae
push rdi
ror r14b, cl
push rbp
add ah, dh
push rbx
shr r12, 0xc9
dec r12
sub rsp, 0xd8
ror rax, 0x97
and r12, rsi
seta al
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm6
movsx r14d, ax
sar ah, cl
mov r12, r8
bts r14, rsi
mov rbx, rdx
mov r14w, 0x42d6
add al, sil
movsxd r15, edx
mov r14, rcx
add r15d, 0x620a4854
and ax, bx
neg ah
add r12, rdx
lea r15, [rcx + 8]
rcl al, cl
test r8d, r10d
xor eax, 0x4f7b42a0
mov dword [rcx + 8], 0
btr ax, 0x60
lea rax, [rcx + 0x128]
mov qword [rsp + 0xa0], rax
lea rax, [rcx + 0x110]
clc
mov qword [rsp + 0x98], rax
xadd al, al
lea rax, [rcx + 0xc0]
stc
jmp 0x1403eb7bc
mov qword [rsp + 0xa8], rax
lea rax, [rcx + 0x90]
mov qword [rsp + 0x90], rax
lea rax, [rcx + 0x70]
test bl, 0xf3
mov qword [rsp + 0x88], rax
movsx rax, r11w
dec ax
and al, 0x71
lea rax, [rcx + 0x50]
clc
stc
test cx, di
mov qword [rsp + 0x80], rax
lea rax, [rcx + 0x30]
jmp 0x1403eb80c
mov qword [rsp + 0x78], rax
rcl ah, cl
adc rax, rax
inc ax
lea rax, [rcx + 0x10]
cmp r10b, 0xcf
cmc
stc
mov qword [rsp + 0x70], rax
cmp r12, 0x1ee56d5
cmp r9b, r9b
sub edx, edx
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1400bd400]
cmp r14b, 0x49
xor ecx, ecx
sar r13b, 0xb6
lea r13, [rbx + 1]
cmp r13, r12
jmp 0x1403eb854
ja 0x1403ecf31
mov rax, rbx
movzx edi, byte [rbx]
sar bpl, 0x72
sar bl, cl
mov ebp, edi
sar bx, cl
movsx rbx, bx
test r9w, r11w
and ebp, 0x7f
bts ebx, r8d
shl rbp, cl
and bh, 0xdc
dec bl
lea rdx, [rdx + rbp]
clc
bts bx, di
add rcx, 7
shrd ebx, esp, 0xef
movsx bx, bpl
ror bx, 0x6f
mov rbx, r13
test dil, dil
js 0x1403eb848
mov rcx, rdx
shr rcx, 3
clc
jmp 0x1403eb8b9
cmp rcx, 5
jmp 0x1403eb8c2
jle 0x1403eb909
cmp rcx, 9
jmp 0x1403eb8d1
jg 0x1403eba53
cmp rcx, 6
jmp 0x1403eb8e0
je 0x1403ecc43
cmp rcx, 7
jmp 0x1403eb8ef
je 0x1403eccd4
cmp rcx, 8
jmp 0x1403eb8fe
je 0x1403ecd6e
jmp 0x1403ec265
cmp rcx, 2
jmp 0x1403eb912
jle 0x1403ebbeb
cmp rcx, 3
jmp 0x1403eb921
je 0x1403ebd1d
cmp rcx, 4
jmp 0x1403eb930
je 0x1403ebdfe
cmp rcx, 5
jmp 0x1403eb93f
jne 0x1403ec265
and edx, 7
test dx, 0x2f8
cmp edx, 2
jne 0x1403ecf31
or byte [r15], 0x20
sub al, 1
and rax, 0x38da06e6
xor ebp, ebp
neg bx
cbw
or rax, r11
mov rax, r13
shl bx, 0xda
bswap rbx
sar bl, 0xbd
xor ecx, ecx
ror bl, 0x42
test cl, r11b
nop
inc rbx
cmp spl, r14b
sar bx, cl
lea rbx, [rax + 1]
stc
cmp r15b, bl
cmp rbx, r12
jmp 0x1403eb99c
ja 0x1403ecf31
movzx edx, byte [rax]
bt rax, rsp
mov eax, edx
test r14, rsp
stc
and eax, 0x7f
stc
clc
cmp dl, 0x12
shl rax, cl
jmp 0x1403eb9c3
add rbp, rax
cmp ch, 0xd
add rcx, 7
or al, 0x8e
mov rax, rbx
test dl, dl
jmp 0x1403eb9d9
js 0x1403eb98c
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
test edx, r9d
clc
test rbp, rbp
jmp 0x1403eb9f5
je 0x1403ec2e1
js 0x1403ecfa2
cmp rbp, 0xf
jmp 0x1403eba0a
ja 0x1403ec331
mov qword [rsp + 0x30], rbp
bswap rdx
mov qword [rsp + 0x38], 0xf
movzx edx, bp
movsx rcx, r8w
lea rcx, [rsp + 0x20]
setb dl
mov rdx, rbx
movsx r8d, r13w
movzx r8w, dl
movsx r8w, r8b
mov r8, rbp
jmp 0x1403eba49
call fcn.1404a0bfe
jmp 0x1403ec736
cmp rcx, 0xa
jmp 0x1403eba5c
je 0x1403ebf09
cmp rcx, 0xb
jmp 0x1403eba6b
je 0x1403ec014
cmp rcx, 0xc
jne 0x1403ec265
and edx, 7
cmp edx, 2
jmp 0x1403eba86
jne 0x1403ecf31
or byte [r15 + 1], 0x10
movsx ebp, r12w
mov rbp, r13
cmp r10b, 0x5d
mov rbp, r13
sub r8d, r8d
sub ecx, ecx
neg dx
nop word cs:[rax + rax]
lea rdx, [rbp + 1]
cmp r10b, 0xea
cmp rdx, r12
jmp 0x1403ebac4
ja 0x1403ecf31
mov rax, r8
rcr di, cl
rcl di, cl
movzx edi, byte [rbp]
mov ebx, edi
sar bpl, 0x80
sal bpl, 0x7c
cmp r8w, ax
and ebx, 0x7f
shl rbx, cl
add r8, rbx
movzx ebp, di
rcr bpl, 0xe9
add rcx, 7
mov rbp, rdx
jmp 0x1403ebb01
test dil, dil
jmp 0x1403ebb09
js 0x1403ebab4
lea rbx, [rbx + rax]
clc
lea rbx, [rbx + rdx]
cmp bpl, 0xfb
cmp rbx, r12
jmp 0x1403ebb24
ja 0x1403ecf31
lea rax, [0x1400bee30]
jmp 0x1403ebb36
mov qword [rsp + 0x20], rax
bswap cx
cwde
cbw
lea rax, [rsp + 0x30]
mov cx, 0x1e68
movups xmmword [rax], xmm6
movups xmmword [rax + 0x20], xmm6
not ch
mov dword [rsp + 0x28], 0
movzx cx, bpl
not cx
movzx rcx, dx
movups xmmword [rsp + 0x40], xmm7
bswap cx
movzx cx, r12b
movsx ecx, dx
movups xmmword [rsp + 0x60], xmm7
movzx rcx, di
cmove ecx, r10d
mov cx, r8w
lea rcx, [rsp + 0x20]
call fcn.1403eeb63
mov ebp, eax
stc
test al, al
jmp 0x1403ebb9c
je 0x1403ec57e
mov rdx, qword [r14 + 0x130]
test r14b, r14b
cmp rdx, qword [r14 + 0x138]
jmp 0x1403ebbb8
je 0x1403ec556
mov rcx, rdx
mov rdx, 0x4ca954fa
xchg dl, dl
lea rdx, [rsp + 0x20]
jmp 0x1403ebbd4
call fcn.1403efc01
add qword [r14 + 0x130], 0x50
jmp 0x1403ebbe6
jmp 0x1403ec57e
cmp rcx, 1
je 0x1403ec178
cmp rcx, 2
jmp 0x1403ebbfe
jne 0x1403ec265
and edx, 7
cmp edx, 2
jmp 0x1403ebc0f
jne 0x1403ecf31
or byte [r15], 4
shrd eax, r9d, 0xb2
xor ebp, ebp
test r15b, r11b
mov rax, r13
movsx rbx, cx
xor ecx, ecx
btc ebx, r12d
nop word cs:[rax + rax]
lea rbx, [rax + 1]
stc
clc
cmp rbx, r12
jmp 0x1403ebc4d
ja 0x1403ecf31
movzx edx, byte [rax]
sar eax, 0xf3
sub al, spl
bts ax, si
mov eax, edx
and eax, 0x7f
cmp sp, r8w
jmp 0x1403ebc6e
shl rax, cl
test cx, 0x6cc8
jmp 0x1403ebc7b
lea rbp, [rbp + rax]
ror ah, cl
add rcx, 7
jmp 0x1403ebc93
mov rax, rbx
test dl, dl
jmp 0x1403ebc9d
js 0x1403ebc3f
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
cmp dl, r13b
cmc
test rbp, rbp
je 0x1403ec2f4
js 0x1403ecfa2
cmp rbp, 0xf
jmp 0x1403ebcc9
ja 0x1403ec3a0
mov qword [rsp + 0x30], rbp
cmovnp r8, r14
cwd
xchg r8b, dl
mov qword [rsp + 0x38], 0xf
cqo
mov r8b, 0x9b
movsxd rcx, r14d
lea rcx, [rsp + 0x20]
cmovnp r8w, sp
cwd
jmp 0x1403ebcff
mov rdx, rbx
movzx r8w, dl
movsx r8, sp
movsx r8w, bpl
mov r8, rbp
call fcn.1404a0bfe
jmp 0x1403ec836
and edx, 7
cmp edx, 2
jmp 0x1403ebd28
jne 0x1403ecf31
or byte [r15], 8
xor ebp, ebp
btc rbx, rax
jmp 0x1403ebd40
mov rax, r13
bts rbx, r9
ror bh, cl
dec bx
sub ecx, ecx
nop word cs:[rax + rax]
lea rbx, [rax + 1]
cmp rbx, r12
jmp 0x1403ebd67
ja 0x1403ecf31
movzx edx, byte [rax]
mov eax, edx
jmp 0x1403ebd77
and eax, 0x7f
shl rax, cl
stc
add rbp, rax
neg al
ror eax, cl
add rcx, 7
mov rax, rbx
clc
test dl, dl
jmp 0x1403ebd94
js 0x1403ebd5b
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
test rbp, rbp
jmp 0x1403ebdac
je 0x1403ec302
js 0x1403ecfa2
cmp rbp, 0xf
jmp 0x1403ebdc1
ja 0x1403ec401
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], 0xf
movsxd rcx, r12d
lea rcx, [rsp + 0x20]
cmovns dx, r12w
mov rdx, rbx
movsx r8, dx
movzx r8, r11w
not r8w
mov r8, rbp
call fcn.1404a0bfe
jmp 0x1403ec954
and edx, 7
cmp edx, 2
jmp 0x1403ebe09
jne 0x1403ecf31
or byte [r15], 0x10
bt ax, cx
stc
rcr bh, cl
sub ebp, ebp
dec bh
sal eax, cl
cmovl rbx, r12
mov rax, r13
test r10w, 0x5efc
adc bl, 0x1a
or bl, 0x28
sub ecx, ecx
movzx ebx, r13w
inc bh
nop word cs:[rax + rax]
adc bl, 0xd3
lea rbx, [rax + 1]
cmp rbx, r12
jmp 0x1403ebe57
ja 0x1403ecf31
movzx edx, byte [rax]
bt ax, r14w
and al, r12b
mov eax, edx
cmp r12b, r13b
test r11b, 0x87
and eax, 0x7f
clc
shl rax, cl
stc
cmp bp, r11w
add rbp, rax
bts ax, r9w
rcl al, 0x66
add rcx, 7
movsx rax, r11w
mov rax, rbx
test dl, dl
jmp 0x1403ebe9a
js 0x1403ebe4b
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
test r13d, edi
jmp 0x1403ebeb2
test rbp, rbp
jmp 0x1403ebeba
je 0x1403ec310
js 0x1403ecfa2
cmp rbp, 0xf
jmp 0x1403ebecf
ja 0x1403ec470
mov qword [rsp + 0x30], rbp
not cx
mov qword [rsp + 0x38], 0xf
movsx r8, cx
lea rcx, [rsp + 0x20]
movsx edx, si
not dh
mov rdx, rbx
mov r8, rbp
jmp 0x1403ebeff
call fcn.1404a0bfe
jmp 0x1403eca59
and edx, 7
stc
cmp edx, 2
jmp 0x1403ebf15
jne 0x1403ecf31
or byte [r15 + 1], 4
stc
mov rbp, r13
btr dx, r13w
xor r8d, r8d
add rdx, rbp
movzx dx, r10b
shl dl, cl
sub ecx, ecx
nop word cs:[rax + rax]
cmc
sub edx, r15d
sbb dl, bpl
lea rdx, [rbp + 1]
cmp r15w, dx
test r15, 0x6dc546d9
test r14d, eax
cmp rdx, r12
jmp 0x1403ebf64
ja 0x1403ecf31
mov rax, r8
movzx di, al
cmovs rdi, r11
or edi, 0x4c093404
movzx edi, byte [rbp]
btc ebp, 0x99
rcr bl, 0x18
sar bpl, 0x92
mov ebx, edi
and bp, 0x326f
and ebx, 0x7f
movsx bp, r15b
cmp r11b, 0xea
bts ebp, r8d
shl rbx, cl
movzx ebp, ax
add r8, rbx
adc bpl, cl
add bpl, 6
add rcx, 7
xadd ebp, ebp
mov rbp, rdx
stc
test cl, 0xd2
test dil, dil
jmp 0x1403ebfc7
js 0x1403ebf4a
lea rbx, [rbx + rax]
test di, bx
lea rbx, [rbx + rdx]
cmp rbx, r12
jmp 0x1403ebfe0
ja 0x1403ecf31
mov rcx, qword [rsp + 0xa8]
jmp 0x1403ebff3
call fcn.1403eeb63
mov edx, 0
mov ecx, 0
test al, al
jmp 0x1403ec009
jne 0x1403eb848
jmp 0x1403ecf31
and edx, 7
cmp edx, 2
jne 0x1403ecf31
or byte [r15 + 1], 8
mov bp, cx
mov rbp, r13
bts rdx, r12
inc dx
sub r8d, r8d
sub ecx, ecx
nop word [rax + rax]
lea rdx, [rbp + 1]
test r8b, r8b
cmp rdx, r12
jmp 0x1403ec04f
ja 0x1403ecf31
mov rax, r8
rcr edi, 0x36
cmc
sub ebx, 0x2a272821
movzx edi, byte [rbp]
rol bpl, 0xa3
mov ebx, edi
and ebx, 0x7f
shl rbx, cl
lea r8, [r8 + rbx]
add rcx, 7
movsx rbp, r9w
mov rbp, rdx
test dil, dil
jmp 0x1403ec089
js 0x1403ec040
lea rbx, [rbx + rax]
stc
lea rbx, [rbx + rdx]
stc
cmp r8b, 0x1b
test spl, r13b
cmp rbx, r12
jmp 0x1403ec0a8
ja 0x1403ecf31
lea rax, [0x1400bee30]
jmp 0x1403ec0bd
mov qword [rsp + 0x20], rax
movzx rax, r12w
lea rax, [rsp + 0x30]
movsx cx, bl
jmp 0x1403ec0d4
movups xmmword [rax], xmm6
not ecx
movsx cx, r8b
bswap cx
movups xmmword [rax + 0x20], xmm6
movsx rcx, r9w
mov rcx, 0x1d7469ec
mov dword [rsp + 0x28], 0
mov cl, sil
movsx cx, sil
not cl
movups xmmword [rsp + 0x40], xmm7
mov ecx, esi
xchg cl, ch
movups xmmword [rsp + 0x60], xmm7
movzx rcx, sp
lea rcx, [rsp + 0x20]
jmp 0x1403ec11e
call fcn.1403eeb63
mov ebp, eax
test al, al
jmp 0x1403ec12c
je 0x1403ec57e
mov rdx, qword [r14 + 0x118]
cmp si, ax
stc
cmp rdx, qword [r14 + 0x120]
jmp 0x1403ec149
je 0x1403ec563
mov rcx, rdx
jmp 0x1403ec157
lea rdx, [rsp + 0x20]
jmp 0x1403ec161
call fcn.1403efc01
add qword [r14 + 0x118], 0x50
jmp 0x1403ec173
jmp 0x1403ec57e
and edx, 7
cmp edx, 2
jne 0x1403ecf31
or byte [r15], 2
xadd rax, rbx
or ax, 0x4ee6
xor ebp, ebp
mov rax, r13
xor ecx, ecx
nop dword [rax]
sal bx, 0x4f
bt ebx, 0x75
lea rbx, [rax + 1]
cmp rbx, r12
jmp 0x1403ec1ae
ja 0x1403ecf31
movzx edx, byte [rax]
mov eax, edx
and eax, 0x7f
cmc
clc
shl rax, cl
jmp 0x1403ec1cc
add rbp, rax
add rcx, 7
movsx ax, r11b
cmc
xadd ax, ax
mov rax, rbx
stc
test r13w, 0x137e
test dl, dl
jmp 0x1403ec1ee
js 0x1403ec1a2
movaps xmmword [rsp + 0x30], xmm6
cmp r12b, dil
movaps xmmword [rsp + 0x20], xmm6
cmp r13b, 0x7b
test spl, 0xfc
cmc
test rbp, rbp
jmp 0x1403ec212
je 0x1403ec323
js 0x1403ecfa2
cmp rbp, 0xf
jmp 0x1403ec227
ja 0x1403ec4e4
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], 0xf
xchg dx, dx
lea rcx, [rsp + 0x20]
movzx dx, dl
jmp 0x1403ec24c
mov rdx, rbx
movzx r8d, r11w
mov r8, rbp
jmp 0x1403ec25b
call fcn.1404a0bfe
jmp 0x1403ecb63
and edx, 7
test r14b, bl
jmp 0x1403ec270
cmp rdx, 1
jmp 0x1403ec279
jg 0x1403ece14
test rdx, rdx
jmp 0x1403ec287
jne 0x1403eced4
mov rax, r13
btr bx, 0x63
nop word cs:[rax + rax]
lea rbx, [rax + 1]
cmp r9d, 0x61890060
cmp rbx, r12
jmp 0x1403ec2b3
ja 0x1403ecf31
cmp byte [rax], 0
cdqe
mov edx, 0
lahf
jmp 0x1403ec2c9
mov ecx, 0
mov rax, rbx
jmp 0x1403ec2d6
js 0x1403ec2a0
jmp 0x1403eb848
mov qword [rsp + 0x38], 0xf
jmp 0x1403ec2ef
jmp 0x1403ec736
mov qword [rsp + 0x38], 0xf
jmp 0x1403ec836
mov qword [rsp + 0x38], 0xf
jmp 0x1403ec954
mov qword [rsp + 0x38], 0xf
jmp 0x1403ec31e
jmp 0x1403eca59
mov qword [rsp + 0x38], 0xf
jmp 0x1403ecb63
mov rdi, r15
mov r15, rbp
sub eax, edi
or r15, 0xf
bt rax, rsp
rol ax, 2
cmp r15, 0x17
lahf
mov eax, 0x16
jmp 0x1403ec354
cmovb r15, rax
cmc
cmp r11d, 0x2ec217d2
clc
cmp r15, 0xfff
jmp 0x1403ec36d
jb 0x1403ec6d4
lea rcx, [r15 + 0x28]
jmp 0x1403ec37c
call fcn.1404457b7
lea rsi, [rax + 0x27]
cmp dil, r14b
cmc
and rsi, 0xffffffffffffffe0
jmp 0x1403ec392
mov qword [rsi - 8], rax
jmp 0x1403ec39b
jmp 0x1403ec6e5
mov rdi, r15
test r8, 0x54201549
mov r15, rbp
or r15, 0xf
cmp r15, 0x17
movsx eax, cx
mov eax, 0x16
cmovb r15, rax
jmp 0x1403ec3c6
cmp r15, 0xfff
jmp 0x1403ec3d2
jb 0x1403ec7d4
lea rcx, [r15 + 0x28]
jmp 0x1403ec3e1
call fcn.1404457b7
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
jmp 0x1403ec3f3
mov qword [rsi - 8], rax
jmp 0x1403ec3fc
jmp 0x1403ec7e2
mov rdi, r15
sbb ax, 0x4976
mov r15, rbp
sub ax, r14w
or r15, 0xf
cmp sil, sil
jmp 0x1403ec41f
cmp r15, 0x17
mov eax, 0x16
jmp 0x1403ec42d
cmovb r15, rax
test rax, 0x17476905
cmp r15, 0xfff
jmp 0x1403ec443
jb 0x1403ec8ee
lea rcx, [r15 + 0x28]
call fcn.1404457b7
lea rsi, [rax + 0x27]
cmp r8b, dl
and rsi, 0xffffffffffffffe0
jmp 0x1403ec462
mov qword [rsi - 8], rax
jmp 0x1403ec46b
jmp 0x1403ec8ff
mov rdi, r15
jmp 0x1403ec478
mov r15, rbp
bsf eax, esp
stc
or r15, 0xf
xor al, r10b
bt eax, 0xe9
cmp r15, 0x17
jmp 0x1403ec49a
mov eax, 0x16
jmp 0x1403ec4a4
cmovb r15, rax
cmp r15, 0xfff
jmp 0x1403ec4b4
jb 0x1403ec9f6
lea rcx, [r15 + 0x28]
jmp 0x1403ec4c3
call fcn.1404457b7
lea rsi, [rax + 0x27]
stc
and rsi, 0xffffffffffffffe0
jmp 0x1403ec4d6
mov qword [rsi - 8], rax
jmp 0x1403ec4df
jmp 0x1403eca07
mov rdi, r15
mov r15, rbp
bt ax, 0xf
btr eax, r10d
setg ah
or r15, 0xf
movsxd rax, ebp
sar eax, 0x36
cmp r15, 0x17
mov eax, 0x16
jmp 0x1403ec50e
cmovb r15, rax
test r13b, bpl
clc
cmp r15, 0xfff
jmp 0x1403ec522
jb 0x1403ecb0a
lea rcx, [r15 + 0x28]
jmp 0x1403ec531
call fcn.1404457b7
lea rsi, [rax + 0x27]
jmp 0x1403ec53f
and rsi, 0xffffffffffffffe0
jmp 0x1403ec548
mov qword [rsi - 8], rax
jmp 0x1403ec551
jmp 0x1403ecb1a
mov rcx, qword [rsp + 0xa0]
jmp 0x1403ec56f
mov rcx, qword [rsp + 0x98]
movzx r8d, cx
lea r8, [rsp + 0x20]
jmp 0x1403ec579
call fcn.1403ef778
lea rax, [0x1400bee30]
jmp 0x1403ec58a
mov qword [rsp + 0x20], rax
clc
nop
rcl al, cl
mov rax, qword [rsp + 0x68]
cmp rax, 0x10
jmp 0x1403ec5a2
jb 0x1403ec61d
mov rcx, qword [rsp + 0x50]
mov edx, 0x4c346584
sal dh, 0x5a
lea rdx, [rax + 1]
jmp 0x1403ec5bf
cmp rdx, 0x1000
jmp 0x1403ec5cb
jb 0x1403ec618
mov rdi, qword [rcx - 8]
cmp rax, 0x14e515b5
test rdi, r13
cmp r14b, bpl
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jmp 0x1403ec5f2
jae 0x1403ecfa7
add rax, 0x28
setg cl
movzx rcx, dx
mov rdx, rax
setge ch
movzx rcx, r13w
movsx ecx, dx
mov rcx, rdi
jmp 0x1403ec618
call fcn.1402440d8
movups xmmword [rsp + 0x60], xmm7
or al, 0x86
sar al, cl
movsx rax, r12w
mov byte [rsp + 0x50], 0
rcl eax, 0x9d
mov rax, qword [rsp + 0x48]
test rbp, 0x28f83c90
cmp rax, 0x10
jmp 0x1403ec647
jb 0x1403ec6ad
mov rcx, qword [rsp + 0x30]
shrd edx, r14d, 0xd7
lea rdx, [rax + 1]
cmc
cmp rdx, 0x1000
jmp 0x1403ec668
jb 0x1403ec6a8
mov rdi, qword [rcx - 8]
cmc
jmp 0x1403ec678
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jmp 0x1403ec688
jae 0x1403ecfa7
add rax, 0x28
movsx rcx, cx
mov rdx, rax
mov ecx, r15d
movsx rcx, ax
mov rcx, rdi
jmp 0x1403ec6a8
call fcn.1402440d8
mov edx, 0
sub cl, r10b
xor ch, 0x59
cmovs cx, r12w
mov ecx, 0
test r8b, 0xa2
test bpl, bpl
jne 0x1403eb848
jmp 0x1403ecf31
lea rcx, [r15 + 1]
jmp 0x1403ec6dd
call fcn.1404457b7
mov rsi, rax
mov qword [rsp + 0x20], rsi
movzx ecx, r12w
jmp 0x1403ec6f3
mov qword [rsp + 0x30], rbp
movsx dx, r14b
mov ch, 0x5c
movsxd rdx, eax
mov qword [rsp + 0x38], r15
bswap edx
mov rcx, rsi
movzx r8w, r14b
mov rdx, rbx
mov r8, rbp
jmp 0x1403ec71d
call fcn.1404a0bfe
mov byte [rsi + rbp], 0
sbb ah, 0xdf
cwde
test r8d, 0x415173ea
mov r15, rdi
rcl eax, cl
mov rax, qword [r14 + 0xa8]
cmc
stc
cmp rax, 0x10
jb 0x1403ec7b1
mov rcx, qword [rsp + 0x90]
add dl, 0xb8
mov rcx, qword [rcx]
lea rdx, [rax + 1]
cmp r15w, 0x714f
test sil, bl
test bh, 0x5d
cmp rdx, 0x1000
jb 0x1403ec7ac
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
jmp 0x1403ec781
sub rcx, rdi
cmp r8w, 0x513
cmp rcx, 0x20
jae 0x1403ecfa7
add rax, 0x28
movzx cx, bpl
mov rdx, rax
movsxd rcx, esi
cmovns ecx, ebx
not cx
mov rcx, rdi
call fcn.1402440d8
add rbx, rbp
movaps xmm0, xmmword [rsp + 0x20]
movsx rax, ax
movaps xmm1, xmmword [rsp + 0x30]
mov rax, qword [rsp + 0x90]
jmp 0x1403ec7cf
jmp 0x1403ecc0d
lea rcx, [r15 + 1]
call fcn.1404457b7
mov rsi, rax
xchg edx, edx
mov qword [rsp + 0x20], rsi
cmovb ecx, esi
jmp 0x1403ec7f2
mov qword [rsp + 0x30], rbp
bswap dx
mov qword [rsp + 0x38], r15
cdq
mov rcx, rsi
mov rdx, rbx
bswap r8w
not r8
mov r8, rbp
jmp 0x1403ec815
call fcn.1404a0bfe
mov byte [rsi + rbp], 0
mov rax, rdi
add ah, 0x26
btc ax, 0x58
mov r15, rdi
cmp spl, 0x5a
add al, dil
sbb al, r12b
mov rax, qword [r14 + 0x48]
test r11b, 0x25
jmp 0x1403ec848
cmp rax, 0x10
jmp 0x1403ec851
jb 0x1403ec8c1
mov rcx, qword [rsp + 0x78]
sar rdx, 0xb3
rcl dl, 0x63
mov rcx, qword [rcx]
setle dh
dec edx
adc dl, spl
lea rdx, [rax + 1]
cmp rdx, 0x1000
jmp 0x1403ec87e
jb 0x1403ec8bc
mov rdi, qword [rcx - 8]
stc
clc
add rcx, 0xfffffffffffffff8
cmc
sub rcx, rdi
cmp dl, 0x68
cmp rcx, 0x20
jae 0x1403ecfa7
add rax, 0x28
cmovns rdx, r9
movsxd rdx, r10d
mov rdx, rax
jmp 0x1403ec8b4
mov rcx, rdi
jmp 0x1403ec8bc
call fcn.1402440d8
add rbx, rbp
mov ax, r15w
movaps xmm0, xmmword [rsp + 0x20]
lahf
cdqe
movaps xmm1, xmmword [rsp + 0x30]
bswap rax
jmp 0x1403ec8df
mov rax, qword [rsp + 0x78]
jmp 0x1403ec8e9
jmp 0x1403ecc0d
lea rcx, [r15 + 1]
jmp 0x1403ec8f7
call fcn.1404457b7
mov rsi, rax
mov qword [rsp + 0x20], rsi
movsx rdx, bx
xchg ch, cl
mov qword [rsp + 0x30], rbp
cqo
mov qword [rsp + 0x38], r15
movsx r8d, r14w
movsx rdx, bp
mov rcx, rsi
movzx dx, r14b
cmove dx, r10w
jmp 0x1403ec930
mov rdx, rbx
movzx r8d, sp
mov r8, rbp
jmp 0x1403ec93f
call fcn.1404a0bfe
mov byte [rsi + rbp], 0
bt r15w, bx
dec r15d
cmc
mov r15, rdi
mov rax, qword [r14 + 0x68]
test edx, esi
cmp rax, 0x10
jmp 0x1403ec963
jb 0x1403ec9ca
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
xor edx, 0x776e31d8
lea rdx, [rax + 1]
stc
cmp rdx, 0x1000
jmp 0x1403ec98b
jb 0x1403ec9c5
mov rdi, qword [rcx - 8]
cmp r12b, bl
add rcx, 0xfffffffffffffff8
cmc
sub rcx, rdi
cmp rcx, 0x20
jae 0x1403ecfa7
add rax, 0x28
jmp 0x1403ec9b3
mov rdx, rax
movzx rcx, si
movsxd rcx, esp
mov rcx, rdi
jmp 0x1403ec9c5
call fcn.1402440d8
add rbx, rbp
movzx ax, r10b
cdqe
jmp 0x1403ec9d9
movaps xmm0, xmmword [rsp + 0x20]
bswap ax
movzx eax, ax
movaps xmm1, xmmword [rsp + 0x30]
mov rax, qword [rsp + 0x80]
jmp 0x1403ecc0d
lea rcx, [r15 + 1]
jmp 0x1403ec9ff
call fcn.1404457b7
mov rsi, rax
mov qword [rsp + 0x20], rsi
cmovae r8w, ax
mov qword [rsp + 0x30], rbp
not dl
movzx cx, cl
movsxd rdx, r8d
mov qword [rsp + 0x38], r15
bswap cx
movsxd rcx, ebx
seta r8b
mov rcx, rsi
cmovns rdx, rdi
mov rdx, rbx
cmovne r8, r9
mov r8, rbp
jmp 0x1403eca44
call fcn.1404a0bfe
mov byte [rsi + rbp], 0
rcl ax, 0xfc
rcr eax, 0xec
mov r15, rdi
inc eax
mov rax, qword [r14 + 0x88]
clc
cmp rax, 0x10
jmp 0x1403eca6a
jb 0x1403ecadd
mov rcx, qword [rsp + 0x88]
sub dx, r9w
shld dx, r12w, 0xec
movzx rdx, r14w
mov rcx, qword [rcx]
lea rdx, [rax + 1]
test r10d, 0x31050629
cmp r13w, 0x4749
cmp rdx, 0x1000
jb 0x1403ecad8
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
stc
cmp rcx, 0x20
jae 0x1403ecfa7
add rax, 0x28
mov rdx, rax
movsx ecx, ax
xchg cl, cl
mov rcx, 0x37ad79b1
mov rcx, rdi
jmp 0x1403ecad8
call fcn.1402440d8
add rbx, rbp
movaps xmm0, xmmword [rsp + 0x20]
not al
movsxd rax, r11d
movaps xmm1, xmmword [rsp + 0x30]
mov ax, 0x2479
mov ax, ax
cbw
mov rax, qword [rsp + 0x88]
jmp 0x1403ecb05
jmp 0x1403ecc0d
lea rcx, [r15 + 1]
call fcn.1404457b7
mov rsi, rax
movsx edx, r10w
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rbp
mov rdx, 0x6ddc565e
mov qword [rsp + 0x38], r15
cmovs r8, r12
mov rcx, rsi
cwd
movsx r8d, r8w
mov rdx, rbx
not r8b
mov r8, rbp
jmp 0x1403ecb4b
call fcn.1404a0bfe
mov byte [rsi + rbp], 0
or r15w, cx
sub r15b, 0x63
mov r15, rdi
bsf ax, cx
mov rax, qword [r14 + 0x28]
clc
cmp rax, 0x10
jmp 0x1403ecb71
jb 0x1403ecbee
mov rcx, qword [rsp + 0x70]
cmovp dx, r9w
rcr dx, 0x55
mov rcx, qword [rcx]
add dl, r8b
bt dx, bx
lea rdx, [rax + 1]
cmp r13b, 0x43
cmp rdx, 0x1000
jmp 0x1403ecba3
jb 0x1403ecbe9
mov rdi, qword [rcx - 8]
test dil, r14b
add rcx, 0xfffffffffffffff8
cmc
stc
sub rcx, rdi
cmp rcx, 0x20
jae 0x1403ecfa7
add rax, 0x28
movsx rdx, dx
movsx dx, r10b
movzx dx, r10b
mov rdx, rax
not ch
movsx rcx, r12w
setno cl
mov rcx, rdi
jmp 0x1403ecbe9
call fcn.1402440d8
add rbx, rbp
movzx rax, r9w
shr al, 0x7f
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
cmp r15, r14
sal dh, 0xf4
mov rax, qword [rsp + 0x70]
movups xmmword [rax + 0x10], xmm1
bswap cx
sal cx, 0xe3
bt dx, 0x9b
movups xmmword [rax], xmm0
and cl, sil
mov edx, 0
xchg cx, cx
mov ecx, 0
cmp rbx, r12
jmp 0x1403ecc38
jbe 0x1403eb848
jmp 0x1403ecf31
test dl, 7
jne 0x1403ecf31
or byte [r15], 0x40
mov rdx, r13
add bx, r15w
sub eax, eax
sub ecx, ecx
nop word cs:[rax + rax]
and bl, r9b
lea rbx, [rdx + 1]
cmp rbx, r12
jmp 0x1403ecc76
ja 0x1403ecf31
movzx ebp, byte [rdx]
cwd
btr rdx, 0x20
mov edx, ebp
cmp rdi, r13
and edx, 0x7f
shl rdx, cl
cmp r11w, si
lea rax, [rax + rdx]
rcr dx, cl
bsf edx, r10d
jmp 0x1403ecca5
add rcx, 7
mov rdx, rbx
cmp rsp, r12
test bpl, al
clc
test bpl, bpl
jmp 0x1403eccbb
js 0x1403ecc6a
mov dword [r14 + 0xb0], eax
sub edx, edx
jmp 0x1403ecccf
jmp 0x1403eb842
test dl, 7
jne 0x1403ecf31
or byte [r15], 0x80
mov rdx, r13
not rbx
cmp dil, r13b
sub eax, eax
sub ecx, ecx
nop dword [rax]
test dil, 0xbe
shr bx, 0x6f
sub bx, r8w
lea rbx, [rdx + 1]
stc
cmp r13b, r12b
jmp 0x1403ecd0e
cmp rbx, r12
jmp 0x1403ecd16
ja 0x1403ecf31
movzx ebp, byte [rdx]
cwd
mov edx, ebp
test r9b, r15b
cmp r10b, r12b
and edx, 0x7f
shl rdx, cl
lea rax, [rax + rdx]
adc dh, 0xa0
shld rdx, r9, 0xa3
adc dl, dil
add rcx, 7
ror rdx, 0x78
mov rdx, rbx
cmp r14b, 0xb1
test bpl, bpl
jmp 0x1403ecd55
js 0x1403ecd01
mov dword [r14 + 0xb4], eax
sub edx, edx
jmp 0x1403ecd69
jmp 0x1403eb842
test dl, 7
jmp 0x1403ecd76
jne 0x1403ecf31
or byte [r15 + 1], 1
btc rbx, r14
movsx ebx, r15w
mov rdx, r13
movzx bx, r12b
xor eax, eax
xor ecx, ecx
rol bx, 0xfa
nop word [rax + rax]
btr bx, r11w
lea rbx, [rdx + 1]
clc
stc
cmp rbx, r12
jmp 0x1403ecdb2
ja 0x1403ecf31
movzx ebp, byte [rdx]
sbb dl, 0xe3
btc rdx, rdi
bsf rdx, rdi
mov edx, ebp
and edx, 0x7f
test r8b, 0x34
shl rdx, cl
lea rax, [rax + rdx]
neg dx
and dx, 0x386c
add rcx, 7
cmc
and rdx, 0x825669b
mov rdx, rbx
test rcx, r10
test bpl, bpl
jmp 0x1403ecdf8
js 0x1403ecda4
mov dword [r14 + 0xb8], eax
test r11d, r15d
xor edx, edx
jmp 0x1403ece0f
jmp 0x1403eb842
cmp edx, 5
jmp 0x1403ece1c
je 0x1403ecef0
cmp edx, 2
jmp 0x1403ece2a
jne 0x1403ecf31
mov rax, r13
xadd bpl, bpl
shr bpl, 0x40
sub edx, edx
ror bpl, 8
sub ecx, ecx
cmovl bp, dx
nop word cs:[rax + rax]
rcl bpl, 0xf1
and bpl, r14b
lea rbp, [rax + 1]
stc
cmp rbp, r12
jmp 0x1403ece65
ja 0x1403ecf31
mov rdi, rdx
adc sil, cl
movzx esi, byte [rax]
mov ebx, esi
movzx eax, sp
and ebx, 0x7f
and eax, r11d
mov al, r8b
btr rax, 0x62
shl rbx, cl
add ah, 0x79
movzx rax, r10w
add rdx, rbx
cdqe
add rcx, 7
mov rax, rbp
cmc
test spl, r11b
test sil, sil
jmp 0x1403ecea9
js 0x1403ece58
add rbx, rdi
clc
lea rbx, [rbx + rbp]
clc
stc
cmp rbx, r12
jmp 0x1403ecec1
cmova rbx, rbp
cmp r10b, r10b
xor edx, edx
jmp 0x1403ececf
jmp 0x1403eb842
cmp edx, 1
jmp 0x1403ecedc
jne 0x1403ecf31
add rax, 9
jmp 0x1403eceeb
jmp 0x1403ecefe
add rax, 5
xadd bh, bh
sbb bl, 0xb
btr ebx, 0xf4
cmp rax, r12
setno bl
jmp 0x1403ecf0e
cmova rax, r13
mov bx, r10w
movzx ebx, r12w
mov rbx, rax
stc
cmp r15b, r10b
cmp r14b, 0x45
xor edx, edx
jmp 0x1403ecf2c
jmp 0x1403eb842
cmp r13, r12
movsxd rbp, edi
movzx si, r15b
seta al
btr r15w, 0xba
movaps xmm6, xmmword [rsp + 0xb0]
sbb r15, r14
mov r14b, 6
neg sil
movaps xmm7, xmmword [rsp + 0xc0]
sal bp, 0x26
setae dil
add rsp, 0xd8
pop rbx
pop rbp
movzx r14w, cl
xchg r13b, r13b
pop rdi
setae r15b
pop rsi
movzx r14, ax
pop r12
setae r14b
pop r13
movzx r14w, r14b
bswap r14w
pop r14
movsxd r15, ebp
not r15b
pop r15
jmp 0x1403ecfa1
ret
call fcn.1403b08ee
call fcn.1404b3723
int3