Function at 0x1806e404d
Capabilities:
Authenticate hmac

Disassembly:
shr r10, 0xbf
je 0x180711edc
mov r10d, 0xc8afe699
mov rbp, qword [r11 + riz]
lea rdx, [r10 - 0x7c56ac2]
and r10d, 0xc23c2d89
mov ebx, dword [rbp + riz]
movsx ebp, r10b
adc r11, 4
or rdx, rbp
mov dword [r11 + riz], ebx
movsx eax, dl
sbb eax, eax
imul bpl
mov ebx, dword [rax + rdi]
bswap edx
xor rax, 0x36136bb0
mul rbp
lea rdi, [rdi + rdx + 4]
btr bp, ax
xor ebx, esi
not ebx
rol ebx, 3
or bpl, 0x8f
adc rax, rbp
inc ebx
sar bp, 0x6d
jbe 0x1806ca3fa
rol eax, 1
xor bx, word [rsp + rcx + 2]
inc eax
bswap eax
add qword [rsp + rcx*2], rsi
xor dword [rsp + rcx], eax
shr bl, 0xc4
movzx esi, bpl
pop rsi
not edx
movsxd rax, eax
lea rbp, [r9*2 - 0x1ac190e7]
neg bpl
and r10, 0xe1a0dba
adc r8, rax
btr r9d, ebp
lea rcx, [rbp*4 - 0x5c4a587b]
sbb ebp, ebx
jae fcn.1806d30d8
lea r11, [rbx + r11 - 0x448f]
mov dword [rax + r11 + 0x7c7351e1], edx
and bp, ax
neg ebx
pop rdx
pop rbx
jl fcn.1806d30d8
sar r10b, 0xc7
bswap ebx
cdq
cwde
lea ebx, [rbx + rdx - 0x4ad5dad5]
and dl, 0x33
bswap ebx
and eax, 0xca35b085
setle al
push rsi
call fcn.1806cdcef
bswap ebp
sal byte [rsp + r9 - 0x1a6fff1], 0x42
jne 0x1806dd8ac
not ebp
sbb ebp, 0xac983a3f
mov qword [rsp + r9*4 - 0x69bfff8], rsi
dec ax
mov esi, 0xe3a2469e
xor dword [rsp + r9 - 0x1a6fff8], ebp
and cl, byte [rsp + r9 - 0x1a6fffe]
cbw
mov rsi, qword [rsp + r10*4 - 0xc78]
cwde
mov ebx, 0xd528f813
movsxd rbp, ebp
mov edx, dword [rsp + r9*2 - 0x34dffff]
adc r8, rbp
mov qword [rsp + r9 - 0x1a6fff8], rax
mov qword [rsp + r9 - 0x1a70000], r8
ret 8
push 0x10190d87
rol dword [rsp + 4], 0x2e
cmp ebx, 1
call fcn.180703af8
lea rdi, [rdi + rbp*2 - 0x1fe06]
dec bl
dec bpl
xor ecx, esi
mov r10d, ebx
not ecx
jmp 0x180701c44
cbw
and r10b, byte [rsp + r9*2 - 0x15fc]
inc edx
ror rbp, 0x41
and r9w, r10w
ror edx, 3
inc edx
sar ax, 0x62
mov qword [rsp + r9 - 0x800], rsi
sub r10d, ebp
movsx esi, bpl
xor dword [rsp + r9*2 - 0x1000], edx
shl r9d, 0x32
not ebx
movsx ecx, si
pop rsi
shl cx, 0xcb
setnp r9b
movsxd rdx, edx
ror bx, 4
sbb rcx, 0x4413072f
xchg r10, rax
add r8, rdx
mul r9
and rax, 0x41a0960c
xor rax, qword [r9 + r11 - 0x20000008]
not r9w
or dl, byte [rdi + r9 - 0x2000fffa]
not bl
shr ecx, 0xfd
lea rdi, [rdi + r9 - 0x2000fff9]
inc cl
xor dl, sil
sub dl, 0x8a
imul r9w, bx
imul rbp, rbp
dec cx
xor dl, 0x20
shr r9, cl
inc dl
add rbp, r9
neg dl
bt rbx, 0xba
jae 0x1806ec67e
mov ebx, dword [rsp + r9*2 - 0x453f3ffd]
or rdx, 0x4237982a
neg ecx
dec ecx
sal qword [rsp + r9 - 0x229f9ffc], 0x59
rol rbx, 0xe6
xadd word [rsp + r9*2 - 0x453f3ff5], r10w
mov qword [rsp + r9*2 - 0x453f3ff8], rsi
pop rbp
inc ebp
xor dword [rsp + rbp - 0x229fa001], ecx
lea rsi, [r10 + r9*2 - 0x40f6b776]
call fcn.18070f835
mov ecx, 0x27824aad
mov r10d, dword [rcx + r11 - 0x27824aad]
mov edx, ecx
movzx r9d, dx
mov cl, byte [r11 + r9*4 - 0x12ab0]
movzx ebx, r9w
lea r11, [r11 + r9*8 - 0x25566]
shr r10d, cl
push r9
call fcn.1806d054c
mov ebp, 0xd99941bf
push rbp
mov r10d, dword [r11 + riz]
movsx ebx, word [rsp + 2]
mov ecx, dword [r11 + riz + 4]
mov qword [rsp], 0x788bd485
call fcn.1806eba60
xor rcx, 0x2934e71f
ror rbx, 0xda
xor rsi, rcx
div ebp
lea r11, [r11 + rax - 0x28f]
xadd rax, r10
shl ax, 0xc3
mov qword [r11 + rbp - 0x3aa0fbeb], rcx
shr rdx, 0xe8
jp fcn.1806d30d8
sbb r9d, 0x31053931
xor r10b, r10b
rol r9d, 1
dec r9d
not r9d
neg byte [rsp + 7]
mov qword [rsp], rsi
bt r10, r10
btr eax, ebp
call fcn.1806de274
xor dword [rsp], ecx
shl edx, 0x1c
movzx r10d, dl
dec rbp
pop rsi
jg 0x1806c9765
lea rsp, [rsp + 0x30]
jne 0x1806eea49
pop rsi
not ebx
mov r10d, 0xb1a5bd9e
lea rdx, [r10 + 0x1e99d707]
movsx r9d, dl
mov dword [r11 + riz], ebx
mov ecx, r9d
sal r10d, 0xe1
and r9b, 0x3f
mov ebx, dword [rdi + r10 - 0x634b7b3c]
lea rdi, [rdi + r10 - 0x634b7b38]
xor ebx, esi
bt r10w, cx
neg r10d
movsx eax, r10w
bswap ebx
push rdx
xor ebx, 0xbf079233
btc ecx, 0xb1
bt dx, 4
add dx, cx
dec ebx
dec byte [rsp + 3]
xchg r10b, dl
btc rcx, 0x96
ror ebx, 3
bt r10d, 0xb
mov qword [rsp], rsi
bts rdx, 0xba
xor dword [rsp], ebx
call fcn.1807097c5
mov ebp, 0xf63c3f8e
lea rdx, [rbp*4 - 0x53f7f4f8]
mov rax, qword [r11 + riz]
neg rbp
movsx ecx, dl
mov r9d, 0xa79835bd
mov rcx, qword [rcx + r11 - 0x38]
adc bpl, 3
not rax
not rcx
sub r9d, edx
shl r9w, 0x6d
neg r9b
and rax, rcx
movsx r10d, dx
btc r10, r9
push rbp
mov qword [r11 + r9*2 - 0x453f3ff8], rax
push r9
mov ecx, dword [rdi + r9*2 - 0x453f4000]
jae 0x1806e8104
mov qword [rsp], rsi
rol rbp, 0x45
movsx edx, bpl
jae 0x1806e1d68
dec ebx
jmp 0x1807116eb
lea rdi, [rdi + r9 - 0x229f9ffc]
xor ecx, esi
ror ecx, 3
lea ecx, [rcx + r9*2 - 0x486bb919]
jmp 0x1806dd7f8
mov r10w, word [r11 + rbx*8 + 0xbf89fa]
mov eax, 0xef849281
cwde
mov cl, byte [r11 + rbx*8 + 0xbf89fc]
add eax, ebp
bts ax, bx
xadd ebp, edx
lea r11, [r11 + rbx + 0x17f143]
sal bl, 0xc1
shrd r9w, r10w, cl
call fcn.1806c4a76
mov edx, 0xf9918b07
or edx, 0xb50d6a2b
movzx edx, byte [rcx + riz]
xor edx, ebx
jmp 0x1806ed8a6
mov rbp, r11
lea r11, [r10 + r11 - 2]
dec r10
not r9d
mov word [r9 + r11 - 0x694bee96], bp
lea rbp, [r9*8 + 0x2609ab14]
js fcn.1806d30d8
push rsi
inc bl
lea rax, [rdx + rbx*8 + 0x1a27c394]
and bl, bh
xor dword [rsp + r9*8], r10d
or dl, cl
call fcn.1806e5638
mov r10d, 0x36afc519
sub r10w, r10w
mov ebp, dword [rdi + r10*2 - 0x6d5e0000]
lea rdi, [r10 + rdi - 0x36aefffc]
and r10, r10
xor ebp, esi
movzx edx, r10b
movzx r9d, dx
ror ebp, 1
rol dx, 0xe8
movsx eax, r9b
call fcn.1806d439f
xor r9d, 0xd50c6fa1
mul ebp
jae 0x1806f6563
rol r9d, 2
add cx, bp
btc dx, dx
lea r9d, [r9 + rcx*2 - 0x30aba26d]
lea rax, [rbx + rbp*4 + 0x600eae05]
sbb rcx, rdx
push rsi
cqo
xor dword [rsp + rcx + 0x6acad911], r9d
shl rdx, 0x89
xchg rbp, rbx
pop rsi
movsxd r9, r9d
sbb rbp, 0xffffffff8799718f
call fcn.1806d0eab
push 0x422132a7
mov r10, qword [r11]
push 0x5aa46686
or byte [rsp + 2], 0xb
mov ecx, dword [rsp + 0xb]
mov rbp, qword [r10 + rcx*4 - 0x108]
mov r9d, ecx
setae byte [rsp + rcx - 0x39]
mov qword [rcx + r11 - 0x42], rbp
ror word [rsp + rcx - 0x34], 0xcb
xadd dword [rsp + rcx*2 - 0x7e], r9d
movzx r10d, word [rsp + rcx*2 - 0x79]
mov ebp, dword [rdi + rcx*2 - 0x84]
lea rdi, [rdi + rcx*2 - 0x80]
pop rcx
xadd r10b, cl
xor ebp, esi
movzx eax, byte [rsp + r9*2 - 0x34e0000]
neg cx
adc ebp, 0xf13a9c30
push r10
ror r10d, cl
jae 0x1806ce500
mov dword [r11 + rcx*2], edx
sub cl, r9b
mov r10d, r9d
neg r9w
mov dword [r11 + r9*2 + 4], eax
or cl, bh
sar r10w, 0x85
or r9d, dword [r9 + rdi]
lea rdi, [rdi + rcx*2 + 4]
ror rbx, 0x31
xor r9d, esi
lea rbp, [r10*2 - 0x5170534a]
sal cx, 0x45
lea r9d, [r9 + rcx*4 + 0x6e837695]
lea rdx, [rbp + r10*8 - 0x30f5f761]
lea rax, [rbx - 0x6361a8f3]
jp 0x1806f4dbc
add r10b, r9b
push rax
shr word [rsp + r9 - 0xaf1], 0xc6
ja 0x180705c76
inc ebx
sal dword [rsp + 1], 0x96
movzx r10d, ax
xor ebx, 0xe692f682
movsx r9d, word [rsp + r10 - 0x58b6]
mov qword [rsp + r10 - 0x58b8], rsi
xor dword [rsp + r10*8 - 0x2c5c0], ebx
mov ecx, r10d
not bpl
btc r10, r9
pop rsi
btc rcx, r10
movsx edx, r10w
movsxd rbx, ebx
and bpl, dl
rol rax, cl
not ecx
adc r8, rbx
xor rdx, rdx
movzx ax, byte [r11 + r10*2 - 0xb172]
mov ebx, 0x1f92b929
sar ecx, cl
mov cl, byte [r11 + r10*4 - 0x162e2]
ror r9b, 0xe1
and al, cl
or r10w, dx
sbb r10, 0xffffffffe836faa8
call fcn.1806f5051
mov ecx, 0x7bbb3637
lea rbx, [rcx + rcx*8 + 0x56aae28f]
mov edx, dword [rdi + rcx - 0x7bbb3637]
call fcn.180707af6
not r9b
call fcn.1806d8617
mov ecx, dword [rdi]
mov eax, 0x64a4249e
lea rdi, [rdi + rax - 0x64a4249a]
xor ecx, esi
mov ebp, eax
movzx r10d, al
xor al, 0xb3
bswap ecx
xor r10, rbp
jg 0x1806c1307
shr ebx, 0x2b
xor eax, esi
xor eax, 0xe495e72b
bswap eax
not eax
lea rbp, [rcx + 0x662b7d26]
lea r9, [rdx + rdx*2 + 0x3481d533]
sub eax, 0xa600e581
jmp 0x1806f91d4
call fcn.1806f08c0
btc cx, r9w
ror eax, 2
shl r9, cl
inc eax
sal r9d, cl
not rbx
neg eax
movsx r10d, bx
lea rcx, [r10 + r9*2 - 0x20f6ce67]
bswap ebp
push rsi
inc r9
shl r9b, 3
xor dword [rsp + rbx*4 + 0x5fc720], eax
rol bl, 0x23
movsx esi, r10w
pop rsi
xor r10d, ebp
neg bp
movsxd rax, eax
shl cl, 0xa2
neg r10w
bswap ebp
add r8, rax
lea rcx, [rbp*4 - 0xd6165d]
btc rcx, 0x32
and r9, rbx
or r9w, word [rbx + r11 + 0x17f13f]
jmp 0x1806eb123
mov eax, 0xe803d103
mov rax, qword [rbp + rbx*8]
jmp 0x1806d85ae
rol ecx, 1
rol r10b, 0xa4
not ecx
movzx r9d, bl
movsx eax, dx
sar eax, 0xa9
xor ecx, 0x87029e20
bt ebp, 0x8e
sub rbx, rbx
sbb ecx, eax
push r9
shr ebx, 0xc1
neg ecx
xchg dx, r9w
sal dword [rsp + rbx + 1], 0x4c
bswap ecx
mov qword [rsp + rbx*8], rsi
call fcn.18070e1b7
xor sil, r10b
lea r10, [rsp + r10 + 0x10]
movsx ebx, bp
mov qword [rsp + rbp - 0x16fffffc], rcx
mov rcx, qword [rcx + r10 - 0x70820a00]
xchg word [rsp + r9 - 0xafc], ax
mov qword [r11 + r9*2 - 0x1606], rcx
mov qword [rsp + r9 - 0xafc], rax
mov edx, dword [rdi + rdx - 0x678213ff]
bts rbx, rax
neg byte [rsp + r9 - 0xaf9]
xor edx, esi
xor rax, rbx
pop r10
rol edx, 3
jmp 0x1806d8a50
or edx, r9d
adc bx, cx
movsx ecx, r10b
push r9
not byte [rsp + r10*2 + 5]
mov word [r10 + r11 + 2], bx
mov eax, dword [r10 + rdi]
lea rdi, [rdi + rdx*4 + 4]
xor eax, esi
add r10w, r10w
or rdx, 0x19150ca8
call fcn.1806d7e6f
movsxd rax, eax
inc ebx
call fcn.1806dbaa5
jne 0x1806fb29b
mov eax, 0x4539e03f
mov rax, qword [rbp + rax - 0x4539e03f]
call fcn.18070966a
movsxd rcx, ecx
movzx ebx, r9w
adc r8, rcx
btc rdx, rbx
movsx eax, bp
jae 0x1806f4d49
mov r10d, 0x3d814507
xor r10, r10
movsx edx, r10b
mov bx, word [r11 + r10*2]
mov cx, word [r10 + r11 + 2]
movsx r9d, r10w
jle 0x180709fb8
jmp 0x1806e52d7