Function at 0x1403e7820
Capabilities:
Authenticate hmac

Disassembly:
push r15
rcr r15, cl
shr r11b, cl
bswap eax
push r14
adc r15b, r9b
bsr r9, r8
push r13
and r15b, 0x3c
push r12
push rsi
btc r15w, bx
neg al
push rdi
rcl r9b, 0x77
shl eax, cl
push rbp
cmovnp r9d, esp
adc r11b, 0xfd
push rbx
shl r9, cl
sub rsp, 0x98
or r12d, edx
bsr r15w, bx
movaps xmmword [rsp + 0x80], xmm7
bts r9w, r11w
cwde
movaps xmmword [rsp + 0x70], xmm6
mov rsi, r8
movsx r12d, r10w
cmc
bsf r15w, bp
mov r15, rdx
btr r12d, r8d
rcl r11b, cl
mov r12, rcx
cwde
jmp 0x1403e789e
lea rsi, [rsi + rdx]
bswap eax
mov dword [rcx + 8], 0
sbb ax, 0x2322
lea r11, [rsp + 0x28]
adc ax, ax
mov al, dil
lea rax, [rcx + 0x38]
btc r9, 0x41
cmp dh, 0xe7
xadd r9b, r9b
mov qword [rsp + 0x68], rax
lea r9, [rcx + 0x10]
clc
test r8w, 0x2116
jmp 0x1403e78df
sub eax, eax
jmp 0x1403e78e6
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1400bd400]
sub r8, r15
jmp 0x1403e78f8
lea r10, [rsp + 0x20]
cmc
mov r8d, 0x16
sub ecx, ecx
ror r14b, 0x22
btc r14w, 0x4e
lea r14, [r15 + 1]
cmp r14, rsi
jmp 0x1403e791c
ja 0x1403e822b
mov rdx, r15
movzx edi, byte [r15]
sub bp, r15w
shl bp, cl
xchg rbp, rbp
mov ebp, edi
shrd r15d, esp, 0xa4
add r15b, cl
and ebp, 0x7f
shld r15w, di, 0xdc
stc
shl rbp, cl
mov r15d, 0x9c44b34
lea rax, [rax + rbp]
add rcx, 7
mov r15, r14
test r9d, 0x4ad66b68
test dil, dil
jmp 0x1403e796a
js 0x1403e7910
mov rcx, rax
shr rcx, 3
jmp 0x1403e797f
and eax, 7
cmp rcx, 3
jmp 0x1403e798b
je 0x1403e7aea
cmp rcx, 2
jmp 0x1403e799a
je 0x1403e80e0
cmp rcx, 1
jne 0x1403e7d13
cmp eax, 2
jmp 0x1403e79b2
jne 0x1403e822b
or byte [r12 + 8], 2
btr ax, r13w
test rsi, 0x6c47409b
xor edi, edi
bt r15w, di
clc
cmc
mov rax, r14
test r13b, r12b
xor ecx, ecx
nop word [rax + rax]
movsx r15, si
add r15b, 0x5c
lea r15, [rax + 1]
cmc
cmp r9d, edx
cmp r15, rsi
jmp 0x1403e79fc
ja 0x1403e822b
movzx edx, byte [rax]
add al, bpl
cmove ax, r11w
mov eax, edx
and eax, 0x7f
shl rax, cl
clc
lea rdi, [rdi + rax]
movsx ax, r14b
dec rax
add rcx, 7
bt ax, di
mov rax, r15
test dl, dl
jmp 0x1403e7a34
js 0x1403e79ec
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
test rdi, rdi
jmp 0x1403e7a4c
je 0x1403e7d92
js 0x1403e8295
cmp rdi, 0xf
jmp 0x1403e7a61
ja 0x1403e7da5
mov qword [rsp + 0x30], rdi
cwd
movsx cx, r8b
mov qword [rsp + 0x38], 0xf
mov r13w, 0x5a9b
setle bl
movzx r13w, r13b
mov rcx, r10
mov rdx, r15
movsxd rbx, r15d
mov r8, rdi
movsx bx, spl
mov bpl, 0xf
movzx rbx, r14w
mov rbx, r9
movsx r13w, dil
cmovle bp, sp
movsx rbp, cx
mov rbp, r10
movsx r13, r12w
xchg r13d, r13d
mov r13, r11
jmp 0x1403e7ac3
call fcn.1404a81fb
mov r11, r13
jmp 0x1403e7ad0
mov r8d, 0x16
mov r10, rbp
movzx r9d, sp
mov r9, rbx
jmp 0x1403e7ae5
jmp 0x1403e7eb2
cmp eax, 2
jmp 0x1403e7af2
jne 0x1403e822b
or byte [r12 + 8], 8
test si, r14w
mov rbp, r14
sub dh, 0xb4
setle dl
xor r8d, r8d
add dl, 0xb5
movzx rdx, r15w
sub ecx, ecx
dec dl
shl dl, cl
nop dword [rax]
lea rdx, [rbp + 1]
cmp di, dx
cmc
cmp rdx, rsi
jmp 0x1403e7b32
ja 0x1403e822b
mov rax, r8
cmp ebp, 0x75ae28bd
movsx r15, r11w
movzx ebx, byte [rbp]
adc r15w, bp
mov r15d, ebx
not bp
ror bp, cl
and r15d, 0x7f
bt ebp, r15d
rcl bpl, cl
shl r15, cl
movzx ebp, r9w
add r8, r15
add rcx, 7
jmp 0x1403e7b77
mov rbp, rdx
jmp 0x1403e7b7f
test bl, bl
jmp 0x1403e7b86
js 0x1403e7b22
add r15, rax
test dl, 0x9f
cmc
add r15, rdx
clc
test esp, 0x6c4306c2
cmp r13w, 0x25c
cmp r15, rsi
jmp 0x1403e7bab
ja 0x1403e822b
mov qword [rsp + 0x60], r9
cmovge bx, r13w
lea rax, [0x1400bed30]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x30]
movsx rcx, r15w
movups xmmword [rax], xmm6
movups xmmword [rsp + 0x40], xmm7
movzx ecx, r15w
not ebx
jmp 0x1403e7be3
mov qword [rsp + 0x50], 0
mov r13w, cx
mov byte [r11 + 8], 0
movsx ebx, si
movsxd rcx, r14d
bswap bx
mov r13, r11
movsxd rcx, ebp
mov qword [r11], 0
movzx rcx, si
mov rbx, r10
cmovle cx, r9w
mov rcx, r10
jmp 0x1403e7c1f
call fcn.1403e8c66
mov ebp, eax
cmp r9d, ecx
test al, al
jmp 0x1403e7c30
je 0x1403e8018
mov rdi, qword [r12 + 0x40]
jmp 0x1403e7c45
cmp rdi, qword [r12 + 0x48]
jmp 0x1403e7c4f
je 0x1403e7e0d
lea rax, [0x1400bed30]
mov qword [rdi], rax
movsx ax, al
mov dword [rdi + 8], 0
xor rax, r8
movups xmmword [rdi + 0x10], xmm6
btc ax, 0x71
shl ax, cl
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0xf
movsx ax, r12b
dec ax
rcl rax, cl
mov eax, dword [rsp + 0x28]
jmp 0x1403e7c9d
mov dword [rdi + 8], eax
mov rax, 0x11ea6f44
xor al, dh
mov eax, dword [rsp + 0x2c]
cmc
mov dword [rdi + 0xc], eax
stc
cmp rdi, rbx
jmp 0x1403e7cba
je 0x1403e7ffc
cmp qword [rsp + 0x48], 0x10
movzx r9w, r8b
lea r9, [rsp + 0x30]
jmp 0x1403e7cd5
jb 0x1403e7ce5
mov r9, qword [rsp + 0x30]
shrd r13d, esi, 0xe6
lea rcx, [rdi + 0x10]
mov r13w, 0x1fe5
sub r13b, 0x23
mov r13, qword [rsp + 0x40]
cmp r13, 0xf
jbe 0x1403e7fd3
mov rdx, r13
jmp 0x1403e7d09
call fcn.1403bfab6
jmp 0x1403e7fed
cmp rax, 1
jmp 0x1403e7d1c
jg 0x1403e8125
test rax, rax
jmp 0x1403e7d2a
jne 0x1403e81e0
mov rdx, r14
sal r15b, cl
cmc
btc r15, 0x4f
nop word [rax + rax]
and r15b, sil
sub r15w, 0x7ace
rol r15w, 0x1f
lea r15, [rdx + 1]
test cx, r13w
cmp r15, rsi
jmp 0x1403e7d60
ja 0x1403e822b
cmp byte [rdx], 0
cqo
xchg dx, ax
mov eax, 0
jmp 0x1403e7d77
mov ecx, 0
bswap dx
mov rdx, r15
jmp 0x1403e7d87
js 0x1403e7d50
jmp 0x1403e7910
mov qword [rsp + 0x38], 0xf
jmp 0x1403e7da0
jmp 0x1403e7eb2
mov qword [rsp + 0x60], r9
inc ebx
bts rbp, rdx
movsx bx, ch
mov rbx, r11
shld rbp, rcx, 0xcd
mov bp, r14w
mov rbp, rdi
or rbp, 0xf
cmp rbp, 0x17
cmovb rbp, r8
cmp bl, cl
test bp, r8w
cmp rbp, 0xfff
jmp 0x1403e7de1
jb 0x1403e7e2b
lea rcx, [rbp + 0x28]
call fcn.14044cb53
lea r13, [rax + 0x27]
test al, 0x41
and r13, 0xffffffffffffffe0
jmp 0x1403e7dff
mov qword [r13 - 8], rax
jmp 0x1403e7e08
jmp 0x1403e7e49
mov rcx, qword [rsp + 0x68]
mov rdx, rdi
movsx r8, bx
mov r8, rbx
jmp 0x1403e7e21
call fcn.1403e9644
jmp 0x1403e8018
lea rcx, [rbp + 1]
jmp 0x1403e7e34
call fcn.14044cb53
mov r13, rax
cmovp r8d, esp
mov r8d, 0x123560a6
setno dl
mov qword [rsp + 0x20], r13
bswap r8w
mov dh, 1
cmovb r8d, r15d
mov qword [rsp + 0x30], rdi
mov r8b, 0xcb
mov qword [rsp + 0x38], rbp
jmp 0x1403e7e6d
mov rcx, r13
movsx r8, si
xchg r8b, dl
movzx dx, cl
mov rdx, r15
movsxd r8, edx
mov r8, rdi
call fcn.1404a81fb
mov byte [r13 + rdi], 0
mov r11, rbx
rcr r8b, 0xe4
mov r9, qword [rsp + 0x60]
lea r10, [rsp + 0x20]
sbb r8b, 0xd6
mov rax, 0x58e25ab1
mov r8d, 0x16
nop
mov rax, qword [r12 + 0x28]
test r15, 0xdb6346a
clc
cmp rax, 0x10
jmp 0x1403e7ec8
jb 0x1403e7f7f
mov rcx, qword [r9]
xor dl, 0x51
sal rdx, 0x68
sal dx, cl
lea rdx, [rax + 1]
cmp rdx, 0x1000
jmp 0x1403e7eeb
jb 0x1403e7f45
mov rbp, qword [rcx - 8]
stc
test r14w, 0x594b
add rcx, 0xfffffffffffffff8
stc
sub rcx, rbp
test ebp, 0x398247f
cmc
cmp rcx, 0x20
jae 0x1403e829a
mov r13, r10
cmc
xchg ecx, ecx
mov rbx, r9
not edx
add rax, 0x28
cmovs ecx, esp
movsxd rdx, edx
mov rdx, rax
movsx cx, dh
movzx rcx, di
bswap cx
mov rcx, rbp
jmp 0x1403e7f40
jmp 0x1403e7f52
mov r13, r10
movzx rbx, r9w
seto bl
mov rbx, r9
call fcn.14015a7a7
mov r9, rbx
mov r10, r13
bswap r8w
not r8b
mov r8d, 0x16
sar r11w, cl
btc ax, r14w
lea r11, [rsp + 0x28]
shrd rax, rdi, 0x40
rcl ah, cl
add r15, rdi
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [r9 + 0x10], xmm1
xadd eax, eax
sbb ax, 0x59da
movups xmmword [r9], xmm0
shrd ax, r14w, 0x56
mov eax, 0
or ch, 0x85
bt cx, 0xfb
and rcx, 0x56cf3200
mov ecx, 0
jmp 0x1403e7fc0
cmp r15, rsi
jmp 0x1403e7fc8
jbe 0x1403e7910
jmp 0x1403e822b
mov qword [rdi + 0x20], r13
mov rdx, r9
mov r8, r13
jmp 0x1403e7fe2
call fcn.1404a81fb
mov byte [rdi + r13 + 0x10], 0
lea r13, [rsp + 0x28]
xchg al, al
btc ax, 0xa0
rcl ax, cl
mov rax, qword [rsp + 0x50]
stc
test r14d, r10d
mov qword [rdi + 0x30], rax
adc al, 0xa7
movsx rax, r14w
add qword [r12 + 0x40], 0x38
add al, spl
lea rax, [0x1400bed30]
clc
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
clc
cmp rax, 0x10
jmp 0x1403e8034
jb 0x1403e8099
mov rcx, qword [rsp + 0x30]
rcr dx, 0x36
lea rdx, [rax + 1]
cmp rdx, 0x1000
jmp 0x1403e8053
jb 0x1403e8094
mov rdi, qword [rcx - 8]
test r12b, 0x25
add rcx, 0xfffffffffffffff8
sub rcx, rdi
test r13d, r14d
cmp r13b, 0x1e
cmp rcx, 0x20
jmp 0x1403e8078
jae 0x1403e829a
add rax, 0x28
movzx rcx, r8w
mov rdx, rax
movsx ecx, si
mov rcx, rdi
jmp 0x1403e8094
call fcn.14015a7a7
mov eax, 0
mov ecx, 0
ror r9d, 8
bsr r9, rbp
movzx r10d, ax
test bpl, bpl
mov r9, qword [rsp + 0x60]
mov r11d, esi
mov r10, rbx
xchg r8d, r11d
movsxd r8, ecx
bswap r8w
mov r11, r13
mov r8d, 0x16
jmp 0x1403e80d5
jne 0x1403e7910
jmp 0x1403e822b
cmp eax, 1
jmp 0x1403e80e8
jne 0x1403e822b
or byte [r12 + 8], 4
add rdx, 9
cmc
cmp rbp, 0x2ef61e97
cmp rdx, rsi
jmp 0x1403e8108
ja 0x1403e822b
mov rax, qword [r14]
jmp 0x1403e8116
mov qword [r12 + 0x30], rax
jmp 0x1403e8120
jmp 0x1403e8213
cmp eax, 5
jmp 0x1403e812d
je 0x1403e81fc
cmp eax, 2
jne 0x1403e822b
mov rax, r14
add ebp, r14d
rol bp, 0xb5
xor edx, edx
xor bpl, 0xfd
sub ecx, ecx
nop word [rax + rax]
bt bp, 0xa7
lea rbp, [rax + 1]
clc
cmp rbp, rsi
jmp 0x1403e8169
ja 0x1403e822b
mov rdi, rdx
movzx ebx, byte [rax]
test ebx, 0x228c2b36
mov r15d, ebx
setb al
btc rax, r9
movsxd rax, r9d
and r15d, 0x7f
shl r15, cl
cbw
add rdx, r15
btr rax, 0xb4
add rcx, 7
cdqe
mov rax, rbp
cmp ecx, 0x169f3ef0
test bl, bl
js 0x1403e815c
lea r15, [r15 + rdi]
cmp r14w, 0x42c5
cmc
lea r15, [r15 + rbp]
cmp ch, 0x95
cmc
stc
cmp r15, rsi
jmp 0x1403e81cc
cmova r15, rbp
cmp bpl, bpl
clc
sub eax, eax
jmp 0x1403e81db
jmp 0x1403e7904
cmp eax, 1
jmp 0x1403e81e8
jne 0x1403e822b
add rdx, 9
jmp 0x1403e81f7
jmp 0x1403e8204
add rdx, 5
stc
dec r15b
cmp rdx, rsi
sets r15b
cmovo r15d, r9d
cmova rdx, r14
mov r15, rdx
test dl, r14b
stc
jmp 0x1403e821f
xor eax, eax
jmp 0x1403e8226
jmp 0x1403e7904
cmp r14, rsi
seta al
inc dil
adc r12d, 0xcb074c5
xadd di, si
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
movzx r14w, sil
pop rdi
movzx r14d, r12w
pop rsi
not r13b
movsx r14, r14w
mov r14b, 0xa0
pop r12
bswap r14d
jmp 0x1403e8278
pop r13
setb r14b
movsx r15d, r14w
movzx r15w, spl
pop r14
movsx r15d, sp
pop r15
jmp 0x1403e8294
ret
call fcn.1403b77b5
call fcn.1404bacb4
int3