Function at 0x1403de2e4
Capabilities:
Authenticate hmac

Disassembly:
push r15
cmc
test cl, 8
push r14
push rsi
cmc
xchg si, si
push rdi
sar dil, 0x4c
push rbx
inc bl
sbb bl, bl
rcl rbx, cl
sub rsp, 0x20
mov rdi, rdx
movsx bx, bl
movzx bx, sil
cmp r11b, 0x49
mov rsi, rcx
mov bx, sp
xor rbx, 0x35c453c8
mov rbx, qword [rcx + 8]
cmp rbx, qword [rcx + 0x10]
jmp 0x1403de32c
je 0x1403de3bf
lea rax, [0x1400bed10]
jmp 0x1403de33e
mov qword [rbx], rax
mov dword [rbx + 8], 0
xorps xmm0, xmm0
movups xmmword [rbx + 0x10], xmm0
mov qword [rbx + 0x20], 0
movzx eax, si
mov qword [rbx + 0x28], 0xf
or al, dil
shr ax, 0x59
movups xmmword [rbx + 0x38], xmm0
xor rax, 0x6f242dcd
btc eax, r8d
mov qword [rbx + 0x48], 0
neg ah
bt ax, dx
rcl ah, 0x7a
mov eax, dword [rdi + 8]
stc
cmc
mov dword [rbx + 8], eax
cmc
cmp rbx, rdi
je 0x1403de4cd
mov r15, qword [rdi + 0x20]
test r15d, 0x77bc2af0
cmp qword [rdi + 0x28], 0x10
jb 0x1403de401
mov r9, qword [rdi + 0x10]
jmp 0x1403de3ba
jmp 0x1403de405
mov rcx, rsi
cmp r8b, bpl
mov rdx, rbx
sar r15w, 0x91
mov r8, rdi
movsx r14d, r11w
cmp r15w, 0x243e
add rsp, 0x20
pop rbx
movsx rdi, r11w
movzx r15, ax
pop rdi
bswap r14d
pop rsi
movzx r14, r8w
xchg r15b, r14b
pop r14
pop r15
jmp 0x1403de3fc
jmp 0x1403de505
lea r9, [rdi + 0x10]
lea rcx, [rbx + 0x10]
lea r14, [rbx + 0x38]
clc
cmp spl, r14b
jmp 0x1403de416
cmp r15, 0xf
jmp 0x1403de41f
jbe 0x1403de437
mov rdx, r15
jmp 0x1403de42d
call fcn.1403b3ea5
jmp 0x1403de462
mov qword [rbx + 0x20], r15
jmp 0x1403de445
mov rdx, r9
mov r8, r15
jmp 0x1403de450
call fcn.14049c53b
mov byte [rbx + r15 + 0x10], 0
test dx, r13w
cmp dh, 0x38
mov rax, qword [rdi + 0x30]
test bl, r8b
adc edx, eax
mov qword [rbx + 0x30], rax
movsxd rax, eax
shrd dx, sp, 0x82
bsr rdx, rdx
mov rdx, qword [rdi + 0x38]
rol ax, cl
mov rax, qword [rdi + 0x40]
rcr r8b, cl
add r8, 0x44e33171
sub rax, rdx
sar rax, 3
add ecx, r13d
xor ecx, 0x45f12b59
movabs r8, 0x6db6db6db6db6db7
jmp 0x1403de4b1
imul r8, rax
mov cx, ax
movzx rcx, r14w
movsx rcx, r14w
mov rcx, r14
jmp 0x1403de4c8
call fcn.1403dee18
mov rax, qword [rsi + 8]
rol bh, cl
mov r15b, 0x3c
xadd cx, cx
lea rcx, [rax + 0x50]
and r15b, al
neg dil
mov qword [rsi + 8], rcx
add rsp, 0x20
pop rbx
movzx r14, cx
movsx esi, bx
pop rdi
pop rsi
movsxd r14, edi
not r15b
setns r15b
pop r14
pop r15
ret
push r15
bts eax, r9d
movzx eax, r9w
rcl rax, 0xed
push r14
clc
push r13
xor ax, 0xb21
shr ax, cl
rcr ah, 0x32
push r12
push rsi
mov r12b, 0xf8
rcl r14b, 0xad
push rdi
xor dil, al
bt r14, rcx
movsx ax, r11b
push rbp
adc r14d, ebp
movzx edi, cx
inc r12b
push rbx
not eax
movsxd rdi, r15d
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm6
or bp, r9w
clc
bts rbp, rax
mov r12, rdx
movabs rax, 0x333333333333333
mov rbx, qword [rcx]
bts bp, r8w
mov rdi, qword [rcx + 8]
sub rdi, rbx
cdq
bt bp, r13w
shrd rbp, r10, 0x41
sar rdi, 4
movabs r14, 0xcccccccccccccccd
imul rdi, r14
movsx edx, bx
mov edx, 0x5b3c651b
inc rdi
mov qword [rsp + 0x20], rcx
cmp r14b, 0xd0
bswap ebp
mov rcx, qword [rcx + 0x10]
not edx
test r10, rdx
sub rcx, rbx
xadd bpl, dl
movsx bp, dil
sar rcx, 4
imul rcx, r14
rcr bpl, 0x5c
mov rbp, rcx
shr rbp, 1
cmovo edx, ebp
and dh, 0xee
cmc
mov rdx, rax
sub rdx, rbp
stc
test r9w, 0x3459
clc
lea rbp, [rbp + rcx]
test bl, r12b
cmp rbp, rdi
jmp 0x1403de5f6
cmovbe rbp, rdi
cmp rcx, rdx
jmp 0x1403de602
cmova rbp, rax
cmp r11d, 0x65112387
test r11, 0x314120e3
cmp rbp, rax
ja 0x1403dee0d
mov rsi, r8
mov rcx, rbp
shl rcx, 4
stc
cmp r8b, r9b
lea rcx, [rcx + rcx*4]
cmp rbp, 0x34
jmp 0x1403de638
mov qword [rsp + 0x38], rdi
jmp 0x1403de642
mov qword [rsp + 0x30], rbp
jmp 0x1403de64c
jb 0x1403de67f
cmp rbp, rax
jae 0x1403dee0d
add rcx, 0x27
call fcn.140440eec
lea rdi, [rax + 0x27]
stc
test r15b, 0xb0
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1403de67a
jmp 0x1403de69e
test rbp, rbp
je 0x1403de69a
call fcn.140440eec
mov rdi, rax
jmp 0x1403de695
jmp 0x1403de69e
sub edi, edi
not ah
mov rax, r12
movsx r13, r13w
sub rax, rbx
not r15b
shld r15, r11, 0x8b
sar rax, 4
test r11w, 0x5e9c
cmovo rbx, r8
imul rax, r14
or r13b, r10b
rcl r13b, 0x25
shl r15b, cl
lea rbx, [rax + rax*4]
rcl r15d, cl
and r13d, eax
shl rbx, 4
setae r15b
mov r13b, r15b
lea r13, [rdi + rbx]
not r15d
lea r15, [0x1400bed10]
jmp 0x1403de6f4
mov qword [rdi + rbx], r15
jmp 0x1403de6fd
mov dword [rdi + rbx + 8], 0
xorps xmm0, xmm0
movups xmmword [rdi + rbx + 0x10], xmm0
mov qword [rdi + rbx + 0x20], 0
mov qword [rdi + rbx + 0x28], 0xf
cmc
movups xmmword [rdi + rbx + 0x38], xmm0
mov qword [rdi + rbx + 0x48], 0
mov eax, dword [rsi + 8]
clc
mov dword [rdi + rbx + 8], eax
jmp 0x1403de73c
cmp r13, rsi
je 0x1403de843
mov r14, qword [rsi + 0x20]
cmp qword [rsi + 0x28], 0x10
jmp 0x1403de753
jb 0x1403de767
mov r9, qword [rsi + 0x10]
jmp 0x1403de762
jmp 0x1403de76b
lea r9, [rsi + 0x10]
lea rbp, [rdi + rbx]
shld ax, ax, 0x9f
add rbp, 0x10
sub rax, rbp
and ax, 0x3237
rcl rax, 0x47
lea rax, [rdi + rbx]
add rax, 0x38
mov qword [rsp + 0x28], rax
clc
test rsi, r11
cmp r14, 0xf
jmp 0x1403de79d
jbe 0x1403de7c1
mov rcx, rbp
xchg rdx, rdx
not dx
bswap dx
mov rdx, r14
jmp 0x1403de7b7
call fcn.1403b3ea5
jmp 0x1403de7ea
mov qword [rdi + rbx + 0x20], r14
movzx dx, cl
setl ch
mov rcx, rbp
mov rdx, r9
mov r8, r14
jmp 0x1403de7db
call fcn.14049c53b
mov byte [rbp + r14], 0
movzx r8d, bx
mov rax, qword [rsi + 0x30]
bts r8w, ax
ror dl, cl
mov qword [rdi + rbx + 0x30], rax
mov ax, ax
bsr r8, r9
bts r8d, r9d
mov rdx, qword [rsi + 0x38]
btc eax, edx
mov r8, qword [rsi + 0x40]
sub r8, rdx
movsxd rcx, r11d
setg ah
bt rax, rcx
sar r8, 3
cdqe
movabs rax, 0x6db6db6db6db6db7
imul r8, rax
jmp 0x1403de839
mov rcx, qword [rsp + 0x28]
call fcn.1403dee18
mov rax, qword [rsp + 0x20]
inc r14b
movsx r14d, r15w
mov rbx, qword [rax]
mov r14, qword [rax + 8]
cmp r14, r12
jmp 0x1403de85e
je 0x1403debe2
cmp rbx, r12
je 0x1403dea1e
xor esi, esi
xorps xmm6, xmm6
jmp 0x1403de920
mov rdx, rbp
jmp 0x1403de87f
call fcn.1403b3ea5
lea rcx, [rdi + rsi]
movsx r8w, bl
add rcx, 0x38
shld r8d, ebx, 0x3f
and r8d, 0x2d116ae4
mov rax, qword [rbx + rsi + 0x30]
sub edx, 0x5a2836b7
ror r8d, 0x17
mov qword [rdi + rsi + 0x30], rax
btr eax, 0x54
btc dx, bp
mov rdx, qword [rbx + rsi + 0x38]
mov r8b, 0x62
sub r8b, 0x17
dec r8d
mov r8, qword [rbx + rsi + 0x40]
cmovs ax, di
sbb ah, cl
sub r8, rdx
add al, 0xc2
adc ax, r9w
sar r8, 3
bsf ax, bp
and ax, dx
movabs rax, 0x6db6db6db6db6db7
imul r8, rax
call fcn.1403dee18
lea rax, [rbx + rsi]
add rax, 0x50
jmp 0x1403de907
add rsi, 0x50
test r11d, 0x1257590
cmp rax, r12
jmp 0x1403de91a
je 0x1403dea15
mov qword [rdi + rsi], r15
movzx eax, bx
mov dword [rdi + rsi + 8], 0
sbb al, 0xf8
btc eax, r10d
or al, al
movups xmmword [rdi + rsi + 0x10], xmm6
mov al, r11b
mov qword [rdi + rsi + 0x20], 0
mov qword [rdi + rsi + 0x28], 0xf
sal ah, 0xfa
rcr rax, cl
bts rax, r10
movups xmmword [rdi + rsi + 0x38], xmm6
cmc
test r12b, spl
dec al
mov qword [rdi + rsi + 0x48], 0
shrd ax, bp, 0xda
add ah, ch
cmp dil, bl
mov eax, dword [rbx + rsi + 8]
stc
mov dword [rdi + rsi + 8], eax
test r8w, ax
stc
cmp rdi, rbx
jmp 0x1403de98f
je 0x1403de8fa
cmp qword [rbx + rsi + 0x28], 0x10
jmp 0x1403de9a0
jb 0x1403de9b5
mov r9, qword [rbx + rsi + 0x10]
jmp 0x1403de9b0
jmp 0x1403de9c0
lea r9, [rbx + rsi]
test r11b, r8b
add r9, 0x10
lea rcx, [rdi + rsi]
sal bpl, cl
sbb bpl, spl
test r13b, bpl
add rcx, 0x10
mov rbp, qword [rbx + rsi + 0x20]
test r11b, r9b
cmp rbp, 0xf
ja 0x1403de877
lea r14, [rdi + rsi]
movsxd r8, edi
mov qword [rdi + rsi + 0x20], rbp
movzx dx, r10b
mov r8d, esp
mov rdx, r9
not r8b
jmp 0x1403dea02
mov r8, rbp
call fcn.14049c53b
mov byte [rbp + r14 + 0x10], 0
jmp 0x1403de884
mov rax, qword [rsp + 0x20]
mov r14, qword [rax + 8]
cmp r14, r12
jmp 0x1403dea26
je 0x1403ded8d
sub ebx, ebx
jmp 0x1403dea33
xorps xmm6, xmm6
jmp 0x1403deabe
mov rdx, rbp
jmp 0x1403dea43
call fcn.1403b3ea5
lea rcx, [rbx + r13]
add rcx, 0x88
rcl dl, 0xa0
mov rax, qword [r12 + rbx + 0x30]
xadd rdx, rdx
mov qword [r13 + rbx + 0x80], rax
xor dx, 0x6a14
mov rdx, qword [r12 + rbx + 0x38]
mov r8, qword [r12 + rbx + 0x40]
test r13w, r10w
stc
jmp 0x1403dea80
sub r8, rdx
lahf
shld rax, rdx, 0x6f
sar r8, 3
movabs rax, 0x6db6db6db6db6db7
imul r8, rax
jmp 0x1403deaa0
call fcn.1403dee18
lea rax, [r12 + rbx]
add rax, 0x50
add rbx, 0x50
cmp spl, bpl
clc
cmp rax, r14
je 0x1403ded8d
lea rax, [r12 + rbx]
lea rcx, [rbx + r13]
or dx, 0x5d88
add rcx, 0x50
xor edx, r11d
mov qword [r13 + rbx + 0x50], r15
mov dword [r13 + rbx + 0x58], 0
movsx rdx, r10w
movups xmmword [r13 + rbx + 0x60], xmm6
mov qword [r13 + rbx + 0x70], 0
sbb dx, r11w
cmp r10d, 0x618131c1
jmp 0x1403deb03
mov qword [r13 + rbx + 0x78], 0xf
bswap dx
movups xmmword [r13 + rbx + 0x88], xmm6
shld rdx, r14, 0xd7
ror dh, 0x1d
mov qword [r13 + rbx + 0x98], 0
shr dx, 4
mov edx, dword [r12 + rbx + 8]
cmc
mov dword [r13 + rbx + 0x58], edx
test r15b, 0x6f
cmc
cmp rcx, rax
jmp 0x1403deb48
je 0x1403deaa5
cmp qword [r12 + rbx + 0x28], 0x10
jmp 0x1403deb59
jb 0x1403deb6e
mov r9, qword [r12 + rbx + 0x10]
jmp 0x1403deb69
jmp 0x1403deb86
lea r9, [r12 + rbx]
sbb rcx, 0x1d714372
sub bpl, r9b
rcr bpl, 0x50
add r9, 0x10
rcr ch, cl
lea rcx, [rbx + r13]
xor bpl, 0x42
add rcx, 0x60
mov rbp, qword [r12 + rbx + 0x20]
cmp r12w, 0x273c
cmp rbp, 0xf
jmp 0x1403deba6
ja 0x1403dea3b
lea rsi, [rbx + r13]
mov r8d, r15d
movsx r8, cx
mov qword [r13 + rbx + 0x70], rbp
mov rdx, rdx
sets r8b
mov rdx, r9
mov r8, rbp
jmp 0x1403debce
call fcn.14049c53b
mov byte [rbp + rsi + 0x60], 0
jmp 0x1403debdd
jmp 0x1403dea48
cmp rbx, r12
jmp 0x1403debea
je 0x1403ded8d
sub esi, esi
jmp 0x1403debf7
xorps xmm6, xmm6
jmp 0x1403dec86
mov rdx, rbp
call fcn.1403b3ea5
lea rcx, [rdi + rsi]
bsf r8, r10
xor dl, dil
add rcx, 0x38
mov rax, qword [rbx + rsi + 0x30]
adc rdx, 0x7847212f
bsf r8w, r15w
mov qword [rdi + rsi + 0x30], rax
adc ah, 0x2f
mov rdx, qword [rbx + rsi + 0x38]
mov r8, qword [rbx + rsi + 0x40]
sal ah, 0xc0
bt rax, r15
sub r8, rdx
btc eax, ebx
cwde
sar r8, 3
movabs rax, 0x6db6db6db6db6db7
cmc
test edi, r14d
cmp ebx, r8d
imul r8, rax
call fcn.1403dee18
lea rax, [rbx + rsi]
clc
add rax, 0x50
cmc
add rsi, 0x50
cmp r8b, 0xd4
clc
cmp rax, r12
jmp 0x1403dec80
je 0x1403ded8d
mov qword [rdi + rsi], r15
mov dword [rdi + rsi + 8], 0
shr al, 0xea
sub eax, ecx
movups xmmword [rdi + rsi + 0x10], xmm6
and eax, 0x9f30f9f
mov qword [rdi + rsi + 0x20], 0
shrd eax, esp, 0x7d
mov qword [rdi + rsi + 0x28], 0xf
rcr ah, cl
cmp r13, 0x48503851
bsf ax, r9w
movups xmmword [rdi + rsi + 0x38], xmm6
xchg ah, al
mov qword [rdi + rsi + 0x48], 0
btr eax, 0xe6
xor al, r14b
mov eax, dword [rbx + rsi + 8]
stc
clc
test spl, 0x78
mov dword [rdi + rsi + 8], eax
cmp r11w, r12w
cmp rdi, rbx
jmp 0x1403decf6
je 0x1403dec65
cmp qword [rbx + rsi + 0x28], 0x10
jmp 0x1403ded07
jb 0x1403ded1c
mov r9, qword [rbx + rsi + 0x10]
jmp 0x1403ded17
jmp 0x1403ded30
lea r9, [rbx + rsi]
and cl, r11b
add r9, 0x10
shld ebp, esi, 0xc
rol ebp, cl
bswap cx
lea rcx, [rdi + rsi]
movsxd rbp, r11d
inc rbp
add rcx, 0x10
mov rbp, qword [rbx + rsi + 0x20]
test r12b, r8b
cmp rbp, 0xf
jmp 0x1403ded4f
ja 0x1403debff
lea r14, [rdi + rsi]
movzx r8, r12w
movsx edx, r14w
cwd
mov qword [rdi + rsi + 0x20], rbp
mov rdx, r9
cmova r8w, r13w
mov r8, rbp
jmp 0x1403ded78
call fcn.14049c53b
mov byte [rbp + r14 + 0x10], 0
jmp 0x1403ded88
jmp 0x1403dec07
mov rcx, qword [rsp + 0x20]
mov rdx, rdi
mov r9b, 0x58
movsx r9d, r13w
movzx r9, r8w
mov r8, qword [rsp + 0x38]
setnp r9b
movzx r9d, r10w
mov r9, qword [rsp + 0x30]
jmp 0x1403dedb7
call fcn.1403df80b
mov rax, r13
movaps xmm6, xmmword [rsp + 0x40]
sar r15b, 0x36
test r14w, r13w
add rsp, 0x58
movsx r12, r15w
pop rbx
bswap r15w
pop rbp
bswap r13w
movsx rsi, sp
movsxd r12, r11d
pop rdi
pop rsi
pop r12
mov r13w, cx
mov r15, 0x77243fe9
pop r13
pop r14
movzx r15, r11w
movsx r15w, r14b
bswap r15w
pop r15
jmp 0x1403dee0c
ret
call fcn.1403abc8a
int3