Function at 0x18073f888
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + rsi - 0x23efef9c], rbx
sub edi, edx
xor dword [rsp + rcx*8 - 0x400], eax
add dx, 0x62a4
rol esi, 0x7d
pop rbx
sub rdx, rcx
sal r8, 0xd4
add r8, rsi
movsxd rax, eax
bt rcx, rsi
adc r11, rax
movsx eax, di
mov r9, qword [rbp + rcx*2 - 0xf8]
mov cl, byte [rbp + rcx - 0x70]
inc rdi
sal r9, cl
mov qword [rdx + rbp - 0x51b6], r9
movzx ecx, byte [rdx + r10 - 0x51bc]
lea r10, [r10 + rdx*4 - 0x146fb]
lea r9, [rax - 0x2ecc4acb]
not r8w
xor cl, bl
sal dl, 0x64
sbb cl, 0xb4
shl esi, 0xf7
not cl
rol rax, 0x5e
jne 0x18078a6ef
mov r9d, 0x1926c301
movzx cx, byte [rbp + r9*4 - 0x649b0c04]
movzx esi, r9b
movsx eax, si
mov dl, byte [rbp + r9*2 - 0x324d8600]
bts rax, rax
call fcn.18071f39f
mov r8d, 0x9fae1c32
movzx edx, r8w
movzx ebp, byte [rdx + rsi - 0x1c33]
movsx ebx, dl
xor bpl, dil
movzx ecx, bl
sub bpl, 0x1b
lea r9, [rbx*4 + 0x638842be]
btc ecx, edx
ror bpl, 1
push rcx
and word [rsp + rdx*2 - 0x3863], 0x3687
movsx eax, cx
adc bpl, 0xb9
pop rdx
neg bpl
cbw
neg cx
xor dil, bpl
xadd dx, ax
adc rbp, rsp
btr cx, dx
ror r8b, 0xc7
mov dx, word [rbp + rdx*2 - 0x800c8]
ror rcx, 0x20
mov word [r11 + rbx*2 - 0x66], dx
neg bx
xadd cx, ax
mov r8d, dword [rsi + rbx - 0xffd3]
sub rcx, rbx
or ax, 0x473c
xor r8d, edi
xor r8d, 0x72033c3c
xchg r9d, eax
neg r8d
inc r8d
neg r8d
ror r9w, cl
push rdi
xor dword [rsp + rbx*2 - 0x1ff9c], r8d
movsx ebp, cl
rol ecx, cl
pop rdi
jb 0x18077aeb2
mov r8d, 0x6b9bd1f
mov r9, qword [r11 + r8 - 0x6b9bd1f]
movsx ebp, r8b
mov eax, ebp
neg al
mov rbp, qword [r8 + r11 - 0x6b9bd17]
not r9
not r8b
lea rcx, [rax + rax*8 - 0x60c9e57f]
not rbp
not r8b
or r9, rbp
movzx edx, al
sar cl, 0xa2
mov qword [r11 + r8 - 0x6b9bd17], r9
bt r8d, edx
mov ebp, 0x958cb6af
neg ecx
mov ebp, dword [rsi + r8*4 - 0x1ae6f480]
mov r9d, eax
cwd
inc rdx
xor ebp, edi
sub ecx, ecx
movsx ebx, ax
sal eax, 0xe8
sbb ebp, edx
xor bx, 0xd39f
jno 0x18074cf08
mov ecx, dword [rsi + rbx*4 - 0x182098c8]
lea rsi, [rsi + rbx - 0x6082635]
xor ecx, edi
lea rax, [rbx*8 + 0x1d3c2417]
ror ecx, 1
sar bx, 0x27
btr r9, 0x99
lea ecx, [rdx + rcx - 0x30ff9b05]
mov r8d, edx
ror r8, 0x91
bswap ecx
call fcn.18077ff61
and bl, byte [rsp + rdx*4 + 3]
xor dword [rsp + rdx + 0x18], ebp
sub word [rsp + rdx + 0xd], cx
jle 0x1807757b9
mov eax, 0xca98c82e
xadd al, ah
sbb rsi, 4
movzx r9d, al
mov ebp, r9d
mov edx, dword [r9 + rsi - 0xf6]
bswap rbp
xor edx, edi
shr r9b, 0xc5
movzx ecx, ax
bswap edx
lea r9, [r9*4 + 0x5f3d43b2]
lea r8, [rcx*4 + 0x570eed84]
sbb edx, ebp
ror bpl, 0x26
movsx ebx, r9b
ror edx, 3
add bl, cl
neg edx
push rdi
rol ebx, cl
or al, 0x8e
jle 0x180713d3c
inc eax
mov qword [rsp + rsi*2 - 0x47dfdf38], rdi
ror eax, 1
rol dword [rsp + rsi - 0x23efef9c], 0x3b
movzx edx, si
jae 0x1806e55c3
dec r9d
not r8d
neg r9d
add r9w, 0x5336
or eax, r8d
mov dword [r11 + rbx*2 - 0xc104c5e], eax
jmp 0x180731870
xor ebp, 0xb9246c1d
btr rbx, rax
sub r8d, 0x9c2a78a8
sbb ebp, 0x93af12a9
not ebx
bt rbx, r9
xor ebp, 0xba8afc17
add r9, 0xffffffffb3b41e36
sar cx, 0x82
cdq
push rdi
xor dword [rsp + r8 - 0x6a8f4477], ebp
ror cx, 0x27
dec dl
lea rcx, [r9 + rbx*2 + 0x1b2b931]
pop rdi
movsxd rbp, ebp
lea r8, [r8*2 + 0x533fc3e]
not rbx
xchg r8w, ax
adc r10, rbp
bt r9w, r9w
add bx, 0xbcb3
ror r9, 0x89
mov rbp, qword [rsi + rax*2 - 0x10a64]
jb 0x1807a57d3
mov r8d, dword [r11]
mov ebp, 0xc8b387ae
movsx eax, bp
xor bp, 0xcf0a
mov ebp, dword [r11 + riz + 4]
movsx ebx, al
inc ax
mov cl, byte [r11 + riz + 8]
lea r9, [rbx + 0x6fb7acac]
shrd r8d, ebp, cl
mov edx, eax
mov ecx, 0x218b5400
xadd r9w, ax
mov dword [rcx + r11 - 0x218b53fa], r8d
xadd eax, r9d
mov ecx, dword [rax + rsi - 0x6fb6e067]
shr dx, 0x83
xor ecx, edi
dec ecx
movsx r8d, dx
bswap ecx
shr edx, 0x62
lea ecx, [rdx + rcx - 0x3aff6c3c]
xor r8w, ax
movsx ebp, bl
ror ecx, 2
sub ebx, edx
adc r9b, 0xaa
lea ecx, [rcx + rbx - 0x7bec7f68]
neg bx
not dl
rol ecx, 1
ror rdx, 0x48
push rdi
xor dword [rsp + r8*2 - 0x1e12c], ecx
lea r8, [rbx*8 - 0x78f904c7]
xadd rbx, r8
pop rdi
inc eax
setno dl
bt rbx, rax
movsxd rcx, ecx
bts r8, 0x10
dec ax
shl bl, 1
adc r10, rcx
push r8
mov edx, dword [r11 + rax - 0x6fb6e05d]
or r9d, dword [rsp + rax - 0x6fb6e063]
add r9w, word [rsp + rax - 0x6fb6e060]
lea r11, [rax + r11 - 0x6fb6e059]
xadd qword [rsp + rax - 0x6fb6e063], rbp
movzx r9d, byte [rax + rsi - 0x6fb6e068]
cwde
sbb rsi, 5
neg eax
xadd dword [rsp + rax - 0x1f9c], eax
xor r9b, dil
add ebx, ebx
ror r9b, 1
add r9b, 0x92
sal dword [rsp + rax*4 - 0x700070e], 0xef
xchg word [rsp + rax*2 - 0x3800383], r8w
rol r9b, 1
dec r8b
shr qword [rsp + rax - 0x1c001c4], 0x5e
rol word [rsp + rax - 0x1c001c1], 0x21
sbb r9b, 0x1e
lea rcx, [rbp - 0x24410f77]
rol ax, 0x64
adc al, byte [rsp + rax - 0x1c01c40]
xor dil, r9b
shl byte [rsp + rax - 0x1c01c7e], 0xc3
lea r9, [rsp + r9 + 8]
sal qword [rsp + rax - 0x1c01c82], 0x3b
rol qword [rsp + rax*8 - 0xe00e410], 0xf3
jne 0x1807a9558
mov eax, dword [r11]
mov ecx, 0x8b3c473d
lea rbx, [rcx + rcx*4 - 0x236a005d]
mov cl, byte [r11 + riz + 4]
movzx ebp, bl
ror bl, 0xc6
movsx edx, bpl
shl eax, cl
mov dword [r11 + rbp*2 - 0x1a6], eax
jmp 0x1807b9a15
mov rdi, qword [rsp + rdx + 0x18]
movsxd rbp, ebp
or dword [rsp + rdx + 0xc], 0x8185539c
cdq
adc r10, rbp
inc byte [rsp + rcx*4 - 0xc]
mov qword [rsp + rdx*2 + 0x18], 0x1d1f41b5
pop r8
pop rcx
pop rcx
pop r8
jns fcn.180764d25
lea rsi, [rcx + rsi - 0x7cdfffc1]
bswap rcx
xor r9d, edi
movzx eax, cl
movsx ebp, al
xor r9d, 0x93a306b4
cdq
neg r9d
lea r9d, [rdx + r9 + 0x6e88941c]
xadd edx, ebp
not r9d
push rdi
xadd r8, rbx
xor dword [rsp + rdx*2], r9d
dec r8d
lea r8, [rdx + rax*4 + 0x508dc2a1]
pop rdi
movsxd r9, r9d
add r10, r9
lea rbx, [rax + rdx*2 - 0x51c5ebff]
btc edx, ecx
inc cx
add rax, r10
jmp rax
call fcn.18074cd90
mov dword [rax + r9 - 0x1c01c82], edx
mov qword [rsp + rax*2 - 0x3803904], r10
ret
movzx r8d, dl
movsx ecx, dl
movzx edx, byte [rsi + rbp - 0xd5]
call fcn.1806e19f7
mov esi, 0xa288e480
mov edx, dword [rbp + riz]
mov ecx, dword [rbp + riz + 4]
mov eax, 0x621b4093
movsx r8d, sil
ror r8w, 0xc4
not edx
neg si
not ecx
movzx edi, r8w
ror eax, 0x96
sbb sil, 0xad
or edx, ecx
cbw
mov dword [rbp + rdi*8 - 0x7fbc], edx
add r8w, r8w
rol rsi, 0xe1
adc sil, sil
mov edi, dword [rax + r10 - 0x6d02ff88]
sete r8b
movsx edx, al
lea r10, [r10 + rax - 0x6d02ff84]
setnp r8b
not esi
shr dl, 0x64
xor edi, ebx
inc r8d
not edx
rol edi, 1
shr r8b, 0xc5
push r8
dec edi
pop rdx
bswap edi
rol edi, 3
mov r9d, eax
xadd rsi, rax
neg edi
inc eax
not edi
add rax, r8
push rbx
cwd
lea rcx, [r8 + 0x1ab5b610]
setge r9b
xor dword [rsp + r9 - 0x6d02ff01], edi
bts rcx, rdx
add ecx, eax
not edx
pop rbx
movsxd rdi, edi
xchg ah, dl
add r11, rdi
jmp 0x180728fca