Function at 0x140165ba5
Capabilities:
Authenticate hmac

Disassembly:
call fcn.1401737ae
sar bp, 0xa2
xadd rcx, rbp
lea r9, [r9 + rcx*4 + 0x6c8524f8]
movzx r8d, cx
mov dword ss:[rdx + rcx*4 + 0x6c8524ec], eax
lea r10, [r10 + rcx*4 + 0x6c8524e8]
rol ecx, cl
movzx edi, r8w
mov edi, dword [r10 + rbp + 0x4fdf3e27]
push rbp
inc rcx
movzx edx, bp
xor edi, ebx
rol edx, 0xec
xchg edx, r8d
dec edi
or dword [rsp + rbp + 0x4fdf3e29], edx
sar r8, cl
ror ecx, cl
neg edi
btc cx, 0x2c
bswap edi
neg edi
rol r8d, 0xca
jae 0x140172777
mov ecx, 0x7e24e880
sub cx, 0xcbb8
movzx edi, cx
mov rcx, qword [rcx + r9 - 0x7e241cc8]
dec rdi
sub edi, edi
rol edi, 0x44
or rdi, qword [r9 + rdi*2 + 8]
jmp 0x14015ed88
mov edi, dword [rbx + rdi*4]
jns 0x14014e704
mov ebp, dword ss:[rdx + rcx + 0x73d43650]
lea r9, [r9 + rdi*2 + 4]
add dword [rsp + rdi*4 + 1], edi
movsx esi, di
mov dword [r9 + rdi*2], ebp
lea r10, [r10 + rdi - 4]
pop rdx
lea rsi, [rdx + rdi*4 + 0x6f3b2c1c]
mov esi, dword [rdi + r10]
movzx eax, dl
sbb rax, 0xffffffffb5345531
dec dx
xor esi, ebx
lea esi, [rsi + rdi*4 + 0x4b107cb7]
rol esi, 3
cqo
neg esi
dec cl
sar ax, cl
ror dl, 0xc4
xor esi, 0xbe006b10
movzx ebp, dil
dec cx
not edi
push rbx
shl cx, cl
mov r8d, ebp
xor dword [rsp + rcx + 0x73d48000], esi
div ecx
cwde
pop rbx
call fcn.14017166f
push 0xc1d7294
sub r10, 4
mov edi, 0x9a471c
mov ebp, dword [rsp + rdi*4 - 0x2691c70]
mov esi, dword [rdi + r10 - 0x9a471c]
inc qword [rsp + rdi - 0x9a471c]
mov r8d, 0xbb335628
xor esi, ebx
lea rcx, [rdi*8 - 0x3355b7c6]
pop rdx
ror esi, 3
dec esi
bswap esi
push r8
xor esi, 0x6bbab225
sub rdi, rdi
mov qword [rsp + rdi*8], rbx
call fcn.1401661c5
setle byte [rsp]
shr edx, 8
ror byte [rsp + 4], 0x81
jno 0x14015de08
mov edi, 0xe992bcb4
movzx edi, byte [rax + riz]
xor edi, edx
push 0x340a29ae
and edi, 0xff
sub word [rsp + 2], 0xe203
jge 0x140148f7a
and r8d, eax
cmovno ax, r8w
not dx
ror dx, 1
neg edi
btc cx, cx
call fcn.14016bd64
adc sil, 0x27
rol sil, 1
cqo
sub sil, dil
movzx r8d, dil
xor sil, 0x8e
neg r8d
sub rdi, rdi
xor bl, sil
add rsi, rsp
sar rdx, 0x96
and r8w, bp
jno 0x14016b444
xadd word [rsp + rdx*2 - 0x101], r8w
rol si, 1
or dword [rsp + rdx*2 - 0xff], ebp
inc dword [rsp + rdx - 0x7f]
lea rax, [rdx - 0x194c67f7]
adc si, 0xeba6
sub dword [rsp + rdx - 0x81], r8d
cdqe
je 0x14014e63b
ror si, 1
xor qword [rsp + rdx - 0x81], 0xffffffff9789c23e
sbb si, 0xd48a
call fcn.14015159a
call fcn.1401576b5
mov edi, 0xc788f3a3
mov si, word [r9 + riz]
movzx r8d, dil
xor r8w, di
call fcn.140175eed
ror ecx, 3
xadd word [rsp + rbp*4 - 0x20000000], r8w
lea ecx, [rcx + rdx - 0x159530c7]
shl ebp, 0xdd
mov qword [rsp + rbp + 8], 0x468fb9a2
lea rdi, [r8*2 + 0x7714a395]
mov qword [rsp + rbp + 0x10], rbx
btr esi, edx
rol byte [rsp + rbp + 6], 0xe7
xor dword [rsp + rbp*8 + 0x10], ecx
mov rbx, qword [rsp + rsi - 0x7a29ec1f]
mov qword [rsp + rbp + 0x10], rbp
ror esi, 0xe
movsxd rcx, ecx
shr r8b, 0xc2
xadd rdx, rsi
lea rdi, [r8 + rsi*2 + 0x68a82689]
adc r11, rcx
pop rdx
pop r8
pop rbp
jmp fcn.14015c1e0
movsx esi, byte [rsp + rbp + 0x4fdf3e2b]
mov qword [rsp + rbp + 0x4fdf3e27], rbx
movzx ebx, cl
xor dword [rsp + rbp + 0x4fdf3e27], edi
pop rbx
movsxd rdi, edi
shl rsi, cl
xadd dx, cx
add r11, rdi
jmp r11
dec r8
lea rsp, [rsp + 0x10]
jne 0x14014f1f6
mov ecx, 0xb52be6a9
movsx edi, cx
movsx r8d, dil
pop rbx
mov eax, 0xa1112b11
movsx esi, ax
push rsi
not edx
not dword [rsp + rsi*2 - 0x5620]
dec eax
movzx edi, al
mov dword [r9 + rsi*2 - 0x5622], edx
shr edi, 0xfb
sub rsi, qword [rsp + rsi - 0x2b11]
mov r8d, dword [rsp + rdi*4 + 3]
lea r10, [rdi + r10 - 4]
rol al, 0xc1
lea rcx, [r8 + rdi*4 + 0x6780988c]
mov r8d, dword [r10 + rdi]
lea rdx, [rdi*2 + 0x4784030d]
push rax
xor r8d, ebx
bswap r8d
neg r8d
lea r8d, [r8 + rax*2 - 0x501b5f33]
push rsi
rol r8d, 1
sub si, si
inc r8d
mov qword [rsp + rdi*2 + 0x10], rbx
xor dword [rsp + rdi + 0x10], r8d
btc rax, rdi
shr word [rsp + rcx - 0x68809887], cl
ror cl, 0x22
mov rbx, qword [rsp + rdi*2 + 0x10]
bswap edi
movsx ebp, di
movsxd r8, r8d
mov qword [rsp + rdi + 0x10], rcx
add r11, r8
pop rbp
and byte [rsp + rdi + 0xa], bpl
mov qword [rsp + rdi*4], r11
ret 8
mov rsi, qword [r9 + rdx*2 + 0x32c1b248]
movsx eax, cl
sub al, dil
mul di
mov rdi, qword [rdi + r9 - 0x63bc2229]
btc dx, ax
setb cl
lea r9, [r9 + rdx*4 + 0x6583bfe0]
or rsi, rdi
bt ecx, edx
not rsi
bswap r8
mov qword [rdx + r9 + 0x1960eff6], rsi
lea rbp, [rax + r8 + 0x63369e86]
movzx edi, bpl
ror r8b, 0xc1
jmp r11
setae r8b
rol esi, 1
bts eax, 0x34
lea esi, [rsi + rcx*2 - 0x359709f8]
push rbx
xor dword [rsp + rcx*2 - 0xca], esi
rol dx, cl
pop rbx
sub ecx, ecx
sub rbp, 0xffffffffe8848abe
movsxd rsi, esi
bswap ebp
lea rdi, [r8*4 + 0x42a2d48a]
sbb dl, ch
adc r11, rsi
jmp fcn.14015c1e0
mul bp
mov rsi, qword [r9 + rdx - 0x2b310000]
mov r8, qword ss:[rsi + rdx*2 - 0x56620000]
jno 0x14014cf15
bswap edx
shl esi, cl
pop rdi
not edx
inc edx
sar r8d, 0xdb
push rbx
push rcx
xor dword [rsp + r8*4 - 0x14], edx
inc r8w
and esi, 0xdc2ecd05
mov dword [rsp + r8 - 4], 0x31a36b2f
mov rbx, qword [rsp + r8*4 - 0x18]
movsxd rdx, edx
adc r11, rdx
sar esi, 0xd2
mov rdx, qword [r9 + r8 - 8]
not word [rsp + r8*2 - 0xe]
inc rdi
mov rdi, qword ss:[rdx + r8*8 - 0x40]
or byte [rsp + r8 - 8], 0xaa
mov qword [r8 + r9 - 8], rdi
mov qword [rsp + r8], 0x1409e89c
mov qword [rsp + r8*2 - 0x10], r11
ret 8
xor edx, edi
inc rax
not word [rsp + 3]
push 0x599d7b89
inc byte [rsp + 8]
xor edx, 0x6b8bcfbe
jmp 0x1401564ce
jmp 0x1401613a4
add r9, 0xc
call fcn.14016c4e3
mov qword [rsp + r14 - 0x479affe8], rsi
movsx r8d, ax
mov r8, qword [rsp + rax - 0x479b00d7]
pop rax
bswap rax
mov rdi, qword [rsp + r14 - 0x479affd8]
call fcn.14015e5ec
mov eax, 0x62808710
mov esi, eax
movzx r8d, sil
lea r10, [rax + r10 - 0x62808714]
mov edx, 0xa3a0d25
lea rbp, [r8 + rsi*2 - 0x5ede1bef]
sar rbp, 4
mov r8d, dword [r10 + rsi - 0x62808710]
inc sil
xor r8d, ebx
ror ebp, 0x51
movsx ecx, bp
div esi
dec r8d
neg ebp
jo 0x14016f63e
neg r8d
mov edi, 0x219d6e1d
bt ecx, 0x35
jb 0x14016f85a
ror r8d, 1
inc r8d
rol bpl, 0x45
rol ecx, 0xcd
push rbx
btr edi, 5
add rdi, 0x5cbb9717
btc esi, ebp
xor dword [rsp + rax*2 - 0x35284436], r8d
movzx ebx, di
inc rsi
pop rbx
movsxd r8, r8d
lea rdi, [rdx*8 + 0x59898b92]
or di, di
adc r11, r8
mul cl
mov rcx, qword [rax + r9 - 0x1a940000]
sar edx, 5
adc edi, 0x9494e39d
lea r9, [rdx + r9 - 0xe9702a]
dec dx
mul edi
lea r10, [r10 + rax*2 - 0x38980001]
inc ax
movzx esi, byte [r10 + rax*2 - 0x38980002]
xor sil, bl
btr ax, ax
xchg rdi, rax
jae 0x140154392
add r11, rcx
lea r10, [rbp + r10 - 2]
movsx ecx, bp
ror di, 0xa8
mov qword [rsp + rbp*2 + 8], rdi
add dx, word [rsi + r10 - 0x43399200]
movsx r8d, cx
xor dx, bx
inc dx
ror dx, 1
not dx
neg bp
shl rbp, 0xf9
ror dx, 1
not cx
xor dx, cx
rol byte [rsp + rbp*8 + 0xb], 0xc1
pop rcx
and rbp, rdi
xor bx, dx
ror byte [rsp + rbp], 0x24
inc edi
inc rax
lea rdx, [rsp + rdx + 8]
mov ax, word [rdx + rbp*2]
movsx edx, byte [rsp + rsi - 0x433991ff]
jne 0x14014a0c7
jb 0x140166704
lea rsp, [rsp + 0x20]
jmp 0x1401467d1
shr dx, 0xcc
or edi, r8d
ror rbp, 0xd7
mov dword [r9 + riz], edi
jb 0x14015d182
sbb r10, 4
mov edx, dword [r10 + riz]
xor edx, ebx
movsx edi, ax
bswap edx
sar dil, 0x67
xor edx, 0x533cfe0c
movzx r8d, bp
not al
neg edi
rol edx, 2
neg edx
add edi, eax
mov esi, ebp
or rsi, rdi
push rbx
xchg r8b, bpl
xor dword [rsp + r8*2], edx
pop rbx
sal al, 0xc4
shl esi, 0xa
movsxd rdx, edx
shr rdi, 0x85
sub rdi, rax
add r11, rdx
ror ebp, 0x48
lea rax, [rax + 0x2b1b32b2]
setb bpl
or rbp, r11
jmp rbp
adc dil, 0x1f
btc dx, si
xor bl, dil
pop rsi
lea r9, [r9 + rax*8 - 0x80002]
add r8d, 0x2710e592
mov word [rax + r9 - 0x10000], di
movsx ecx, bpl
xadd al, r8b
xchg cx, ax
lea r10, [r10 + rax - 0x10026]
xchg si, ax
bts ax, bp
mov esi, dword [rcx + r10 - 0x65]
xor esi, ebx
imul r8w, cx
cwde
rol esi, 2
rol r8d, cl
not esi
jae 0x14015b302
mov qword [rsi + rdx], rcx
xor rdx, r11
jmp rdx
mov edx, 0x83827336
xor dil, 0x8f
call fcn.140167485
mov edi, 0x481bb2b4
jmp 0x140177121
bts ecx, 3
ror cx, 0x6d
pop rbx
shr esi, cl
xor ecx, 0xcf2030a4
movsxd r8, r8d
adc r11, r8
movsx r8d, di
jmp 0x1401573d0
not edi
lea r8, [rbp + rbp + 0x3dadcb2d]
jae 0x14015557b
push rcx
mov qword [rsp + rax - 0xd3b2], rdi
lea r9, [rax + r9 - 0xd3b0]
lea r8, [rcx*2 + 0x1f0d90a6]
lea rsi, [rdi*2 + 0x51091a6]
sal dword [rsp + rax - 0xd3a2], 0x17
lea r10, [r10 + rax - 0xd3b5]
movzx ebp, byte [r10 + rax*8 - 0x69da0]
not rcx
jns 0x14016a15c
cmovnp rdx, rdi
sal rax, cl
not esi
inc esi
not rax
rol dword [rsp + rdi*2], cl
mov qword [rsp + rdi*4], rbx
xchg ch, cl
xor dword [rsp + rdi*2], esi
pop rbx
movsxd rsi, esi
not rcx
add r11, rsi
rol ax, 0xa
imul r8d, ecx
or rdi, r11
jmp rdi
mov edx, edi
lea r10, [rdx + r10 - 0x481bb2b8]
movsx esi, di
mov edi, dword [rdi + r10 - 0x481bb2b4]
xor edi, ebx
sal esi, 0x9b
lea edi, [rdi + rsi*2 - 0x7fda84e7]
movsx ecx, sil
mov eax, ecx
rol edi, 2
lea edi, [rdx + rdi - 0x196a6203]
ror rsi, 0xf1
neg rcx
not esi
bswap edi
idiv sil
btc rsi, 0x10
push rbx
xchg cx, si
rol dl, 4
lea rbp, [rax*8 - 0x2c60634e]
xor dword [rsp + rdx - 0x481bb24b], edi
and ecx, 0x1a1fb5b6
rol bpl, 0xe3
pop rbx
dec al
movzx r8d, al
ja 0x140167ad7
movsxd rdi, edi
add r11, rdi
ror rsi, cl
mov rsi, qword [r9 + rcx*2 - 0x16b6c]
and rax, r8
movzx bp, byte [rsi + rcx - 0xb5b6]
bts r8, 0x8d
lea rdi, [rcx + rcx*4 + 0x72b3353a]
lea r9, [rcx + r9 - 0xb5b0]
add r8, rax
mov word [rdx + r9 - 0x481bb24b], bp
ror rax, 0xc3
jmp r11