Function at 0x1404b6212
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x10], rdx
shl r10b, cl
push rbx
rol r10w, cl
movsx r10, bp
push rbp
stc
xchg r10, r10
push rsi
cmc
push rdi
push r12
push r14
and r10b, 0x47
movzx r14w, r15b
push r15
sub rsp, 0x220
movzx r10, r10w
bsf esi, ecx
mov r10d, dword [rcx]
bsr rsi, r8
mov r14, rdx
mov rsi, rcx
cmp r10b, 6
test sil, r13b
test r10d, r10d
jmp 0x1404b6264
je 0x1404b6b05
mov edi, dword [rdx]
test edi, edi
jmp 0x1404b6273
je 0x1404b6b05
dec r10d
btr ax, si
sbb al, 0x22
dec rax
lea eax, [rdi - 1]
test eax, eax
jmp 0x1404b628f
jne 0x1404b6459
mov r12d, dword [rdx + 4]
cmp rbx, rbx
test r8b, dl
sub ebp, ebp
cmp rax, r13
cmp r11w, 0x452f
cmp r12d, 1
jmp 0x1404b62b3
jne 0x1404b62fb
mov ebx, dword [rcx + 4]
lea r8, [rsp + 0x44]
add rcx, 4
cwd
neg dx
mov dword [rsi], ebp
mov dh, 0x60
neg dl
rcl rdx, 0x8f
sub r9d, r9d
mov dl, sil
cwd
movsx rdx, cx
mov dword [rsp + 0x40], ebp
mov edx, 0x1cc
jmp 0x1404b62ef
call fcn.1404b6103
mov eax, ebx
jmp 0x1404b6b11
test r10d, r10d
jne 0x1404b636d
mov ebx, dword [rcx + 4]
bswap r8d
sbb rdx, r11
lea r8, [rsp + 0x44]
mov dword [rcx], ebp
neg dh
xor r9d, r9d
sbb dx, 0x5f4b
add rcx, 4
bswap edx
mov dword [rsp + 0x40], ebp
not dh
cwd
mov edx, 0x1cc
call fcn.1404b6103
sub edx, edx
cbw
mov eax, ebx
sbb bpl, spl
div r12d
cmp r11w, 0x3b9c
test edx, edx
mov bpl, r8b
jmp 0x1404b6352
mov dword [rsi + 4], edx
xchg bpl, bpl
setne bpl
jmp 0x1404b6361
mov dword [rsi], ebp
jmp 0x1404b6368
jmp 0x1404b6b11
mov r15d, 0xffffffff
sub r14b, r14b
movzx edi, cx
test al, r12b
mov rdi, rbp
mov r14, rbp
clc
test r14d, esi
cmp r10d, r15d
je 0x1404b63ea
mov rcx, r12
mov eax, dword [rsi + r10*4 + 4]
test r12b, 0x67
xor edx, edx
cmp ax, r11w
stc
shl r14, 0x20
clc
cmp spl, 0xba
add r10d, r15d
test r14b, r9b
test bpl, 0xde
clc
or rax, r14
movsxd r14, esi
shl rdi, 0x20
div rcx
mov eax, eax
rcl r14w, 0x91
btc r14d, 0x43
mov r14, rdx
cmp ah, ch
cmp r8b, 0x9f
lea rdi, [rdi + rax]
test bx, 0xbd7
cmp r10d, r15d
jne 0x1404b6392
sub r9d, r9d
cqo
mov dword [rsp + 0x40], ebp
movsx r8, r12w
xchg rdx, r8
lea r8, [rsp + 0x44]
bswap dx
cdq
mov dword [rsi], ebp
mov edx, 0x1cc
bswap rcx
movsxd rcx, r8d
lea rcx, [rsi + 4]
call fcn.1404b6103
mov rcx, r14
mov dword [rsi + 4], r14d
shr rcx, 0x20
sar al, cl
sub bpl, dl
or bpl, 0xc6
mov rax, rdi
test ecx, ecx
mov dword [rsi + 8], ecx
jmp 0x1404b643d
setne bpl
jmp 0x1404b6446
inc ebp
jmp 0x1404b644d
mov dword [rsi], ebp
jmp 0x1404b6454
jmp 0x1404b6b11
cmp eax, r10d
jmp 0x1404b6461
ja 0x1404b6b05
mov r8d, r10d
movsxd rdx, r10d
cmp r12d, r8d
btc rbx, 0x23
test r10b, dl
sub r8d, eax
sets bl
rcl r9d, cl
mov r9d, r10d
stc
movsxd rbx, r8d
stc
cmp rdx, rbx
jmp 0x1404b6491
jl 0x1404b6527
add rcx, 4
xadd r11, rax
sal r11b, 0xfe
lea rax, [rbx*4]
mov r11, r14
jmp 0x1404b64b3
sub r11, rax
stc
shr ax, cl
sub r11, rsi
lea rcx, [rcx + rdx*4]
mov eax, dword [rcx]
cmp dword [r11 + rcx], eax
jmp 0x1404b64cc
jne 0x1404b64fb
dec r9d
jmp 0x1404b64da
dec rdx
cmc
clc
sub rcx, 4
cmp r9w, di
cmc
cmp rdx, rbx
jmp 0x1404b64f0
jge 0x1404b64c1
jmp 0x1404b6527
mov eax, r9d
ror dh, cl
sub eax, r8d
bts dx, dx
adc dx, 0x5459
movsxd rdx, eax
sal cx, cl
setnp cl
movsxd rax, r9d
mov ecx, dword [rsi + rax*4 + 4]
cmp dword [r14 + rdx*4 + 4], ecx
jae 0x1404b652e
inc r8d
cmp sil, cl
stc
test r8d, r8d
jmp 0x1404b6536
je 0x1404b6b05
lea eax, [rdi - 1]
and bx, 0x479f
mov rbx, 0x4df37d69
mov ebx, 0x20
mov r9d, dword [r14 + rax*4 + 4]
ror eax, 0xa0
not rbp
sar ah, cl
lea eax, [rdi - 2]
mov ebp, dword [r14 + rax*4 + 4]
test r8b, cl
bsf rax, r13
shr ax, 6
bsr eax, r9d
jmp 0x1404b6579
mov dword [rsp + 0x260], ebp
jmp 0x1404b6585
je 0x1404b659e
mov r11d, 0x1f
sub r11d, eax
jmp 0x1404b6599
jmp 0x1404b65a9
mov r11d, ebx
test rsi, 0x5e3c4c23
cmc
sub ebx, r11d
test al, bl
mov dword [rsp + 0x270], r11d
stc
jmp 0x1404b65bc
mov dword [rsp + 0x20], ebx
test r11d, r11d
jmp 0x1404b65c8
je 0x1404b6666
mov eax, r9d
mov edx, ebp
rcr r9b, cl
mov ecx, ebx
shld r9w, bx, 0x80
xadd r9w, r9w
xchg r9b, r9b
shr edx, cl
bswap r9w
jmp 0x1404b65f4
mov ecx, r11d
sal r9b, cl
dec r9
shl eax, cl
xadd r9b, r9b
mov r9d, edx
shl ebp, cl
cmc
or r9d, eax
mov dword [rsp + 0x260], ebp
jmp 0x1404b661b
cmp edi, 2
jbe 0x1404b6666
lea eax, [rdi - 3]
add cx, 0x3b1c
shl cl, cl
mov ecx, ebx
sar r12w, 0xd3
mov eax, dword [r14 + rax*4 + 4]
movzx r12d, dx
shr eax, cl
not r14w
mov r14w, dx
xor r14w, 0x1f27
or ebp, eax
rcr r14b, 0xe0
mov dword [rsp + 0x260], ebp
mov r14, r13
btc r14w, bp
mov r14b, 0xb4
xor ebp, ebp
lea r14d, [r8 - 1]
movsx r12d, r14w
mov r12d, ebp
test r14d, r14d
jmp 0x1404b667b
js 0x1404b6a92
mov eax, ebx
mov r15d, 0xffffffff
mov bh, 0x61
bsf ebx, eax
mov ebx, r9d
test rax, 0x1d831d84
mov qword [rsp + 0x218], r13
stc
jmp 0x1404b66a9
lea r13d, [r14 + rdi]
test dil, 0x43
test r11w, bx
cmp ebx, esi
mov qword [rsp + 0x38], rbx
test r14w, 0x70c1
jmp 0x1404b66c7
mov qword [rsp + 0x30], rax
stc
clc
cmc
cmp r13d, r10d
ja 0x1404b66e2
mov edx, dword [rsi + r13*4 + 4]
jmp 0x1404b66e6
mov edx, ebp
rcr al, cl
lea eax, [r13 - 1]
xor cx, r13w
cmp r11, 0x635d03d2
dec rcx
mov dword [rsp + 0x278], edx
mov ecx, dword [rsi + rax*4 + 4]
lea eax, [r13 - 2]
mov r11d, dword [rsi + rax*4 + 4]
cmp dil, 0x20
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x2c], edx
xchg dh, dh
inc dl
stc
mov edx, dword [rsp + 0x270]
cmc
test edx, edx
jmp 0x1404b672d
je 0x1404b67ae
mov rcx, qword [rsp + 0x30]
shr rax, 0xbe
mov r8d, r11d
mov rax, qword [rsp + 0x28]
shr r8, cl
movsx rcx, r10w
ror ch, 0x57
mov ecx, edx
clc
shl rax, cl
stc
test sp, si
or r8, rax
cmp r15b, 0x90
stc
shl r11d, cl
stc
cmp r13d, 3
jmp 0x1404b676d
jb 0x1404b67b3
mov ecx, dword [rsp + 0x20]
lea eax, [r13 - 3]
test cx, ax
test spl, 0xce
jmp 0x1404b6787
mov eax, dword [rsi + rax*4 + 4]
test dil, 0x3e
cmp di, 0x10ed
shr eax, cl
cmp r15b, r8b
cmp cl, 0x5c
jmp 0x1404b67a1
or r11d, eax
jmp 0x1404b67a9
jmp 0x1404b67b3
mov r8, qword [rsp + 0x28]
sub edx, edx
cwde
xor al, dil
mov rax, r8
div rbx
bts r9w, r14w
sar r9w, cl
not r8b
mov r8d, edx
not r9w
clc
mov r9, rax
cmp dil, 0x1d
test r15w, cx
cmp rax, r15
jmp 0x1404b67e6
jbe 0x1404b682a
movabs rax, 0xffffffff00000001
test rsi, 0x513258c0
add rax, r9
neg r9b
sub r9b, 9
shr r9b, 0x36
mov r9, r15
test r12, 0x2d0a0212
stc
cmc
imul rax, rbx
test r9b, 9
add r8, rax
test rbp, 0x33106512
clc
cmp r8, r15
jmp 0x1404b6832
ja 0x1404b6892
mov edx, dword [rsp + 0x260]
ror al, cl
mov ax, r9w
mov eax, edx
cmp dl, r13b
neg cl
imul rax, r9
clc
rol ch, 0x3b
or cx, 0x6ea3
mov rcx, r8
jmp 0x1404b6861
shl rcx, 0x20
or rcx, r11
stc
cmp rax, rcx
jmp 0x1404b6871
jbe 0x1404b6892
dec r9
clc
test eax, esp
sub rax, rdx
lea r8, [r8 + rbx]
cmp r8, r15
jmp 0x1404b688c
jbe 0x1404b6859
test r9, r9
jmp 0x1404b689a
je 0x1404b6a4c
mov r10, rbp
cmc
or r11b, r9b
mov r11d, ebp
stc
test edi, edi
jmp 0x1404b68b2
je 0x1404b6984
mov rbx, qword [rsp + 0x268]
setae dh
movsxd r8, esi
add rbx, 4
mov ax, 0x70ac
sub ax, dx
rdtsc
nop dword [rax]
mov eax, dword [rbx]
cmovg ecx, r9d
bts rcx, r8
lea rbx, [rbx + 4]
inc dl
imul rax, r9
sal r8w, cl
inc dx
lea r10, [r10 + rax]
xor ch, al
lea eax, [r11 + r14]
add ecx, r15d
dec dl
mov r8w, 0x1364
mov r8d, r10d
bt cx, 0x77
mov ch, 0xfa
inc dx
mov ecx, eax
cmovae dx, r15w
bts dx, si
shr r10, 0x20
mov eax, dword [rsi + rax*4 + 4]
mov rdx, r10
jmp 0x1404b692e
inc r10
cmp eax, r8d
jmp 0x1404b6939
cmovae r10, rdx
cmc
test spl, 0x8c
test r9d, r11d
sub eax, r8d
jmp 0x1404b694d
inc r11d
test r8, 0x300879ca
jmp 0x1404b695f
mov dword [rsi + rcx*4 + 4], eax
cmc
clc
cmp r15w, 0x28c6
cmp r11d, edi
jmp 0x1404b6973
jb 0x1404b68d6
mov rbx, qword [rsp + 0x38]
sar al, cl
adc ax, r9w
mov eax, dword [rsp + 0x278]
test r8, 0x34fa68fa
cmp rax, r10
jae 0x1404b6a3f
mov r10d, ebp
cmp cl, 0xf7
jmp 0x1404b69a6
test edi, edi
je 0x1404b6a33
mov r11, qword [rsp + 0x268]
seta dl
mov r8, rbp
cmc
add r11, 4
movzx dx, r15b
movsx ax, r12b
bswap eax
lea eax, [r10 + r14]
cwd
jmp 0x1404b69d8
inc r10d
xadd rcx, rdx
mov ecx, dword [rsi + rax*4 + 4]
sal dx, cl
rol dh, 0x2c
lea rdx, [rsi + rax*4]
ror eax, 0x87
rol eax, cl
test r9w, 0x71c
mov eax, dword [r11]
clc
lea r11, [r11 + 4]
test r15b, 0xd3
add r8, rax
jmp 0x1404b6a0d
add r8, rcx
clc
test edi, 0x38c85992
mov dword [rdx + 4], r8d
shr r8, 0x20
jmp 0x1404b6a2a
cmp r10d, edi
jb 0x1404b69cd
dec r9
cmove r10w, di
inc r10b
clc
lea r10d, [r13 - 1]
nop
shrd ax, si, 0x7b
cmp r8b, sil
shl r12, 0x20
movsx eax, r12w
mov ax, ax
nop
dec r13d
ror al, cl
shld ax, bx, 0xff
cdqe
mov eax, r9d
lea r12, [r12 + rax]
cmp spl, 0x22
sub r14d, 1
jmp 0x1404b6a79
jns 0x1404b66cf
mov r13, qword [rsp + 0x218]
sub dx, r15w
inc dh
and cx, 0x59db
lea edx, [r10 + 1]
cmc
mov ecx, edx
test bl, 0xe6
test sil, spl
cmp edx, dword [rsi]
jae 0x1404b6acd
nop word [rax + rax]
movzx ax, spl
mov eax, ecx
inc ecx
test r15w, 0x3ce4
mov dword [rsi + rax*4 + 4], ebp
cmp ecx, dword [rsi]
jmp 0x1404b6ac7
jb 0x1404b6ab2
mov dword [rsi], edx
cmc
test edx, edx
je 0x1404b6afd
dec edx
jmp 0x1404b6adf
cmp dword [rsi + rdx*4 + 4], ebp
jmp 0x1404b6ae8
jne 0x1404b6afd
mov dword [rsi], edx
test edx, edx
jmp 0x1404b6af7
jne 0x1404b6ad8
mov rax, r12
jmp 0x1404b6b11
xor eax, eax
adc esi, 0x12103e0c
ror r14d, 0x16
add rsp, 0x220
sets r15b
cmovb bp, r10w
movzx edi, r12w
pop r15
cmovne rbp, r9
movzx si, cl
movsxd r12, r10d
pop r14
pop r12
mov di, 0x367e
not dil
movsx rsi, r9w
pop rdi
pop rsi
setge bpl
pop rbp
bswap rbx
pop rbx
jmp 0x1404b6b51
ret