Function at 0x1403ef309
Capabilities:
Authenticate hmac

Disassembly:
push r15
sar al, 0x72
shl rax, cl
push r14
push r13
cwde
push r12
shr r13w, cl
stc
push rsi
push rdi
btr r13, r15
xor r9b, bpl
push rbp
movsx r14d, dx
movzx r14d, bx
add r15b, 0x6e
push rbx
setnp bpl
sub rsp, 0x58
xor r9d, 0x31864283
mov r13, r8
movsx r9, r12w
mov rbp, rdx
movsxd r8, ecx
test bp, 0x6adf
mov r12, rcx
inc r15
lea r13, [r13 + rdx]
sbb r15b, 0x47
btc eax, r13d
stc
mov dword [rcx + 8], 0
rol ah, cl
movzx eax, r9w
sar r8b, cl
lea rax, [rcx + 0x70]
bswap r15w
movzx r9w, al
mov qword [rsp + 0x38], rax
lea rax, [rcx + 0x58]
sub r9, rsi
rcl r14b, cl
sub r9w, 0x6f4b
mov qword [rsp + 0x50], rax
shrd r14w, cx, 0x3c
test ah, 0xf0
lea rax, [rcx + 0x40]
rcr r15b, 0x3a
add r15d, ecx
mov qword [rsp + 0x48], rax
lea rax, [rcx + 0x28]
cmc
mov qword [rsp + 0x40], rax
xchg r9b, r9b
bts r15d, r10d
lea r15, [rcx + 0x10]
xor eax, eax
and r8b, 0xf0
xchg r9b, r8b
btc r9w, 0xfa
lea r9, [rsp + 0x30]
movzx r14w, spl
sub r8b, 0x3c
lea r8, [rsp + 0x28]
xor ecx, ecx
bswap r14d
adc r14b, 0xba
lea r14, [rbp + 1]
cmp bp, dx
test rdx, 0x7d4b081d
cmp r14, r13
ja 0x1403efac4
mov rdx, rbp
movzx edi, byte [rbp]
jmp 0x1403ef41e
mov ebx, edi
rol bp, 0x73
btr ebp, esp
and ebx, 0x7f
sbb bp, r9w
shl rbx, cl
rol rbp, 0x78
lea rax, [rax + rbx]
add bp, dx
sal bp, 0x16
or ebp, ebp
add rcx, 7
mov rbp, r14
test dil, dil
jmp 0x1403ef451
js 0x1403ef3f9
mov rcx, rax
cmp sil, 0xa3
cmp r12, rdx
shr rcx, 3
stc
cmp rcx, 0xb
jle 0x1403ef49d
cmp rcx, 0xc
jmp 0x1403ef479
je 0x1403ef55d
cmp rcx, 0xd
je 0x1403ef635
cmp rcx, 0xe
jmp 0x1403ef492
je 0x1403ef8b4
jmp 0x1403ef834
cmp rcx, 0xa
je 0x1403ef70f
cmp rcx, 0xb
jmp 0x1403ef4b0
jne 0x1403ef834
and eax, 7
cmc
cmp eax, 2
jmp 0x1403ef4c2
jne 0x1403efac4
or byte [r12 + 9], 8
rcr bh, cl
mov rax, r14
xor edx, edx
add ebx, 0x65c213d2
add bl, r15b
sub ecx, ecx
nop dword [rax]
lea rbx, [rax + 1]
cmc
cmp dl, sil
cmp rbx, r13
jmp 0x1403ef4f3
ja 0x1403efac4
mov rdi, rdx
rcl bpl, cl
movzx esi, byte [rax]
mov ebp, esi
inc ax
and ebp, 0x7f
sbb ax, 0xd82
shl rbp, cl
xor al, r10b
sbb al, 0xb
add rdx, rbp
bts ax, ax
test ah, 0x3b
add rcx, 7
mov rax, rbx
test sil, sil
jmp 0x1403ef52f
js 0x1403ef4e3
lea rbp, [rbp + rdi]
add rbp, rbx
mov qword [rsp + 0x28], rbp
jmp 0x1403ef547
mov qword [rsp + 0x30], rbx
cmovbe cx, cx
movzx ecx, si
mov rcx, qword [rsp + 0x40]
jmp 0x1403ef7e1
and eax, 7
clc
cmc
cmp dl, 0x7d
cmp eax, 2
jmp 0x1403ef56d
jne 0x1403efac4
or byte [r12 + 9], 0x10
or bl, 0x8f
adc bl, r8b
sar bh, 0x72
mov rax, r14
shld rbx, r8, 0x65
xor edx, edx
rol bx, cl
test dx, 0x1364
xor ecx, ecx
not ebx
sub bx, cx
sar bh, cl
nop dword [rax]
bswap rbx
lea rbx, [rax + 1]
cmc
cmp al, 0x66
cmp rbx, r13
ja 0x1403efac4
mov rdi, rdx
movzx esi, byte [rax]
sar bpl, 0x85
xor bp, r13w
shld rax, rbp, 0x84
mov ebp, esi
neg ax
or al, r12b
and ebp, 0x7f
sbb ax, r14w
shl rbp, cl
xadd al, ah
movsxd rax, ebp
add rdx, rbp
clc
bts eax, esp
btr ax, 0xee
add rcx, 7
mov rax, rbx
test r12b, 0x90
cmc
cmp rdi, r9
test sil, sil
jmp 0x1403ef601
js 0x1403ef5a3
lea rbp, [rbp + rdi]
movzx rcx, si
add rbp, rbx
jmp 0x1403ef618
mov qword [rsp + 0x28], rbp
movsx rcx, r11w
mov qword [rsp + 0x30], rbx
mov rcx, qword [rsp + 0x48]
jmp 0x1403ef630
jmp 0x1403ef7e1
and eax, 7
stc
cmp r13w, r15w
cmp eax, 2
jmp 0x1403ef645
jne 0x1403efac4
or byte [r12 + 9], 0x20
cdqe
mov rax, r14
setle bl
xchg bh, bl
test r13w, sp
sub edx, edx
shl rbx, cl
btc bx, bx
sub ecx, ecx
and bl, bpl
btr ebx, 0x1d
not bx
nop dword [rax]
lea rbx, [rax + 1]
test bx, 0x79e0
cmp rbx, r13
jmp 0x1403ef688
ja 0x1403efac4
mov rdi, rdx
rcr bpl, cl
btc ebp, edi
movzx esi, byte [rax]
mov ebp, esi
add ax, 0x714
and ebp, 0x7f
bsr ax, r9w
shl rbp, cl
dec al
add ax, 0x4901
lea rdx, [rdx + rbp]
or eax, r8d
add rcx, 7
clc
mov rax, rbx
test r11b, 0xcb
cmp ebx, r15d
jmp 0x1403ef6cc
test sil, sil
jmp 0x1403ef6d4
js 0x1403ef677
add rbp, rdi
bt cx, 0xe5
bt ecx, r10d
xor cx, 0xb86
add rbp, rbx
not cl
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x30], rbx
movsx rcx, r9w
not rcx
movzx ecx, r10w
mov rcx, qword [rsp + 0x50]
jmp 0x1403ef7e1
and eax, 7
cmp r8b, r8b
cmc
cmp eax, 2
jmp 0x1403ef71e
jne 0x1403efac4
or byte [r12 + 9], 4
movzx bx, r8b
mov rax, r14
mov bh, 0xe3
bt ebx, 0xaa
add bl, dil
sub edx, edx
ror bh, cl
xor ecx, ecx
not bh
nop word [rax + rax]
lea rbx, [rax + 1]
clc
cmp r8b, r15b
cmp rbx, r13
jmp 0x1403ef75a
ja 0x1403efac4
mov rdi, rdx
movzx esi, byte [rax]
mov ebp, esi
and ebp, 0x7f
bsf eax, ebx
adc al, r8b
rcl ah, cl
shl rbp, cl
lea rdx, [rdx + rbp]
add al, bl
shld ax, r8w, 0xb7
btr ax, ax
add rcx, 7
not ax
setne ah
mov rax, rbx
test r10b, 5
cmp sil, 0x4c
test sil, sil
jmp 0x1403ef7a3
js 0x1403ef74a
add rbp, rdi
bts edx, edx
adc edx, 0x790e71dd
add rbp, rbx
mov qword [rsp + 0x28], rbp
movsxd rdi, ebx
mov sil, r12b
movsx rdx, bp
mov qword [rsp + 0x30], rbx
movzx si, cl
movzx esi, r12w
movsx edi, dx
mov rcx, r15
cwd
mov dh, 0x54
bswap edi
mov rdx, r9
jmp 0x1403ef7e9
mov rsi, r9
seto dil
movsxd rdi, esi
mov rdi, r8
call fcn.1403f05bf
mov r8, rdi
mov r9, rsi
dec ch
shr ecx, 0xe4
bsr rcx, r9
mov eax, 0
test r10w, 0x4bcd
sbb cl, r9b
shl cx, cl
mov ecx, 0
clc
cmp rbp, r13
jmp 0x1403ef829
jbe 0x1403ef3f9
jmp 0x1403efac4
and eax, 7
jmp 0x1403ef83c
cmp rax, 1
jmp 0x1403ef845
jg 0x1403ef984
test rax, rax
jne 0x1403efa4f
mov rdx, r14
cmc
xor rbp, 0x12cf64ca
nop word cs:[rax + rax]
shrd rbp, rbp, 0x28
rcr bpl, 0x85
add rbp, 0x60270f64
lea rbp, [rdx + 1]
cmp rbp, r13
ja 0x1403efac4
cmp byte [rdx], 0
mov eax, 0
movzx cx, r10b
mov ecx, 0
jmp 0x1403ef8a1
mov rdx, rbp
jmp 0x1403ef8a9
js 0x1403ef87d
jmp 0x1403ef3f9
test al, 7
jmp 0x1403ef8bb
jne 0x1403efac4
or byte [r12 + 9], 0x40
add bp, r11w
btc rdx, 0x36
mov rdx, r14
bsf bp, r11w
adc bpl, 0x3d
shr bpl, 0xc2
xor eax, eax
rcl bpl, 6
bt ebp, esp
sub ecx, ecx
sub bpl, 0xc7
rol rbp, cl
clc
nop word cs:[rax + rax]
adc bpl, 0x17
lea rbp, [rdx + 1]
cmp r8w, 0x1a01
test sp, bp
cmp rbp, r13
jmp 0x1403ef917
ja 0x1403efac4
movzx ebx, byte [rdx]
and rdx, r13
movsx dx, r14b
mov edx, ebx
and edx, 0x7f
stc
cmp r15, r15
shl rdx, cl
add rax, rdx
add rcx, 7
mov rdx, rbp
clc
test bl, bl
js 0x1403ef902
mov dword [rsp + 0x28], eax
not dl
or rdx, r15
test r13d, 0x2a9e4b11
mov rdx, qword [r12 + 0x78]
cmc
cmp rdx, qword [r12 + 0x80]
je 0x1403efa8c
mov dword [rdx], eax
test sp, r9w
add qword [r12 + 0x78], 4
clc
xor eax, eax
jmp 0x1403ef97f
jmp 0x1403ef3f0
cmp eax, 5
jmp 0x1403ef98c
je 0x1403efa66
cmp eax, 2
jne 0x1403efac4
mov rax, r14
xchg bh, bh
xor edx, edx
rcl bh, cl
sub ecx, ecx
bts ebx, r11d
cmp bpl, 0x1b
nop word cs:[rax + rax]
btc ebx, r14d
bt ebx, 0x18
cmp r15b, r12b
lea rbx, [rax + 1]
cmp rbx, r13
jmp 0x1403ef9d4
ja 0x1403efac4
mov rdi, rdx
sal sil, cl
stc
movzx esi, byte [rax]
xchg bpl, al
ror bp, 0x5c
mov ebp, esi
rcl rax, 0xc3
and ebp, 0x7f
bts ax, r15w
shl rbp, cl
bt ax, r9w
add rdx, rbp
movzx eax, dx
sub rax, rcx
add rcx, 7
sar eax, 0x91
sub al, dil
and al, r8b
mov rax, rbx
test sil, sil
jmp 0x1403efa22
js 0x1403ef9c8
lea rbp, [rbp + rdi]
add rbp, rbx
jmp 0x1403efa36
cmp rbp, r13
jmp 0x1403efa3e
cmova rbp, rbx
clc
xor eax, eax
jmp 0x1403efa4a
jmp 0x1403ef3f0
cmp eax, 1
jmp 0x1403efa57
jne 0x1403efac4
add rdx, 9
jmp 0x1403efa6a
add rdx, 5
cmp rdx, r13
mov bpl, r13b
cmova rdx, r14
movsxd rbp, esp
mov rbp, rdx
stc
jmp 0x1403efa80
sub eax, eax
jmp 0x1403efa87
jmp 0x1403ef3f0
mov rcx, qword [rsp + 0x38]
movzx di, bpl
cmovbe di, bp
mov rsi, r9
mov dil, r15b
setno dil
mov rdi, r8
jmp 0x1403efaac
call fcn.1403f0ffb
mov r8, rdi
mov r9, rsi
test r11w, 0x27de
xor eax, eax
jmp 0x1403ef3f0
cmp r14, r13
movzx ebp, r8w
seta al
add rsp, 0x58
not r14b
movsxd rdi, r8d
movzx r13w, r10b
pop rbx
movsx r14d, ax
setb bpl
movsxd rbp, r8d
pop rbp
pop rdi
setns r15b
jmp 0x1403efaf9
pop rsi
cmovno r14w, ax
movzx r14w, cl
movzx r15, r13w
pop r12
mov r14w, 0x4064
xchg r15d, r13d
pop r13
not r14w
pop r14
pop r15
jmp 0x1403efb21
ret