Function at 0x180eb3d41
Capabilities:
Authenticate hmac
Encrypt data using aes mixcolumns step

Disassembly:
xor ax, r11w
shl r9d, 0x90
dec rdi
neg ax
bt r9w, r9w
dec ax
movzx r10d, r9w
or rbp, r10
lea rcx, [r10*4 - 0x5de8a5e3]
xor ax, 0x9800
sar ecx, 0x3b
xadd r10b, dil
dec ax
xor r11w, ax
lea rdx, [rcx + rbp*4 - 0x78789b57]
lea rbx, [rbx + r9*8 - 2]
push rdx
shr qword [rsp + r9*4 + 6], cl
mov word [rbx + r9], ax
sub byte [rsp + r9 + 0xc], r9b
jge 0x180e9defe
rol dil, 1
lea rbp, [rdx + rcx - 0x18f71cef]
pop rcx
or al, cl
sbb dil, al
xchg r9b, cl
mul cx
setae r9b
ror dil, 1
cwd
xor r11b, dil
mov word [rbx + rdx - 0x4786ffff], di
sal eax, cl
neg ecx
sub rbp, r9
mov eax, dword [rsi + rdx - 0x47870004]
or r9d, ecx
xor eax, r11d
bt cx, 0x85
not rbp
inc eax
ror eax, 1
xor eax, 0x398a7e99
neg dl
inc eax
lea rdi, [rdx + r9*8 + 0x7f088100]
btr rbp, 0x24
not cx
rol eax, 1
bt cx, di
neg r9
not dx
bswap eax
push rdx
xor eax, 0xe11dcd03
lea r10, [r9*8 - 0x3cd4fe0]
sub dx, 0xb33d
xadd bp, cx
not eax
or dword [rsp + rdx - 0x47864dbd], 0x9eba18ad
mov byte [rsp + rbp - 0x18f71c5e], 0xa
js 0x180ec1c81
mov ebp, 0x99bc7386
jmp 0x180f064a4
mov eax, dword [rdi + rsi - 8]
jnp 0x180ee699b
push 0xffffffffb58e732d
lea rsp, [rsp + 8]
jmp r8
lea rbx, [rbx + rbp*2 + 8]
not rcx
jp 0x180ed5479
mov r9d, 0x2a839bbb
movsx eax, r9b
lea rsi, [rsi + r9 - 0x2a839bbd]
mov ebp, r9d
movsx edi, r9b
push rbp
movzx eax, word [rsi + r9 - 0x2a839bbb]
ror qword [rsp + r9*2 - 0x55073776], 0x97
xchg dword [rsp + r9*2 - 0x55073774], r9d
jae 0x180e71052
push r10
lea rdx, [rsp + rdx + 0x10]
or di, 0xecbb
mov qword [rax + rdx], rbp
mov qword [rsp + rax*2], r8
ret 8
add qword [rsp + r9 + 8], rdi
lea rsi, [rsi + r9 - 4]
sub byte [rsp + r9*2 + 4], dil
jg 0x180ea842e
mov edi, dword [rsi + r9]
xor edi, r11d
neg edi
add byte [rsp + r9 + 2], cl
sal edx, 0x62
or r10b, byte [rsp + rbp - 0x2a839bb5]
dec edi
shr rcx, cl
dec bp
jno 0x180ec5a41
lea rsp, [rsp + 8]
ja 0x180e8b89e
mov rdx, rsp
mov ecx, 0xf91f87b2
lea rax, [rcx*2 - 0x796a3e63]
add ecx, 0x9e25b01f
mov ecx, 0x120
movzx edi, al
lea rax, [rbx + rdi*4 - 0x84]
push rdi
and rax, 0xfffffffffffffff0
jmp 0x180eebcb2
ror eax, 1
call fcn.180ee32cd
lea rsi, [rsi + rdi*2 - 0x14]
jnp 0x180e89194
add r8, rcx
pop r9
pop rcx
pop rdx
pop rbp
pop r9
jmp fcn.180eb17b9
rol edi, 1
call fcn.180ef3535
mov r9d, 0x4e0fc3b4
lea rsi, [rsi + r9 - 0x4e0fc3b6]
rol r9d, 0x61
movsx r10d, r9w
movzx r10d, word [rsi + riz]
xor r10w, r11w
lea rdi, [r9*4 + 0x6e15a832]
movsx ecx, r9b
sub r10w, 0x49a3
push rcx
shr dword [rsp + rcx - 0x68], cl
mov byte [rsp + rcx - 0x64], dil
xor r10w, 0x120
neg rcx
push rcx
not r10w
shl qword [rsp + rcx*8 + 0x348], 0x24
movsx edx, r9w
cmovp r9d, edi
adc r10w, 0x71c
xadd rdi, r9
xor r10w, 0x195
and dil, 0xa0
adc qword [rsp + rcx*2 + 0xd0], 0xfffffffff701c720
lea rbp, [rcx + rdi*8 + 0x122d109e]
sbb r10w, 0x96a2
xor r11w, r10w
and rdi, qword [rsp + rcx + 0x70]
lea r9, [rcx*4 - 0x2bdef35b]
lea r10, [rsp + r10 + 0x10]
cmovb edi, dword [rsp + rdi*4 + 3]
add word [rsp + r9 + 0x2bdef4fc], di
movzx cx, byte [r9 + r10 + 0x2bdef4fb]
rol dword [rsp + r9 + 0x2bdef4fb], 0x59
lea rbx, [r9 + rbx + 0x2bdef4f9]
mov word [rbx + r9 + 0x2bdef4fb], cx
lea rsi, [rsi + rdi*4 - 4]
lea rax, [rbp + rdi*2 - 0x41c6c1e9]
imul dword [rsp + r9 + 0x2bdef4fb]
cwd
mov r9d, dword [rsi + r9 + 0x2bdef4fb]
xor r9d, r11d
not r9d
bswap r9d
xadd dword [rsp + rdi + 9], ebp
neg qword [rsp + rdi + 8]
not rdi
and rcx, rdi
mov qword [rbx + rbp], rcx
lea rsi, [rbp + rsi - 4]
imul bp, bp
push rbp
mov edx, dword [rsi + rbp*4]
xor edx, r11d
mov edi, dword [rsp + rbp*2 + 3]
lea edx, [rdx + r10 - 0x47f9b9fe]
movsx ecx, bp
ror ecx, 0xeb
not edx
shl r10, 9
movzx r9d, byte [rsp + rbp*4]
sub r9, rcx
bswap edx
sar word [rsp + rbp + 2], 6
ror word [rsp + rbp*2 + 5], 0x82
neg edx
ror edi, 0xad
pop r9
setb bpl
push r11
xor dword [rsp + rbp*8], edx
ror rdi, 0xd1
pop r11
xor r9d, r9d
movsxd rdx, edx
dec r9
rol cl, 0xe1
adc r8, rdx
jmp 0x180ef2498
and qword [rsp + rdi - 1], 0x79929e1b
sub edi, edi
sbb rax, rcx
call fcn.180ea96f0
mov edi, 0xdaf6699
mov r10, qword [rbx + rdi*8 - 0x6d7b34c8]
movsx eax, di
lea rdx, [rax*4 + 0x631aa3b4]
mov rbp, qword [r10 + rdi*2 - 0x1b5ecd32]
inc dx
movsx r10d, dx
mov qword [rbx + rax*4 - 0x19a64], rbp
lea rsi, [rsi + rdi*2 - 0x1b5ecd36]
not di
imul edi, edx
lea rcx, [rax + rdx*8 + 0x6705ad9b]
mov ebp, dword [rsi + rdi*2 - 0x2ce95dec]
mul eax
xor ebp, r11d
rol ebp, 2
shl edi, 2
jnp 0x180e99d62
bswap ebp
sar di, 0xef
btr dx, di
rol ebp, 1
or r10d, 0xd48559b4
sal ax, 0xcd
lea ebp, [rbp + rdi - 0x2a289dc5]
push r11
div rcx
xor dword [rsp + rdi - 0x59d2ffff], ebp
btc edx, r10d
pop r11
call fcn.180ed283e
xor dword [rsp + rbp - 0x285ceae3], r10d
pop r11
cdqe
movsxd r10, r10d
sal rax, 0x46
add r8, r10
movzx edi, byte [rsi + rbp*2 - 0x50b9d5cb]
mov r10d, 0x2f069cb8
lea rsi, [rsi + rbp*2 - 0x50b9d5cb]
btc ebp, ebp
push rax
xor dil, r11b
shl eax, cl
call fcn.180e8b1fc
mov r10d, 0xee053429
mov rcx, qword [rbx + riz]
inc r10
movsx ebp, r10b
mov rdi, qword [rbp + rbx - 0x22]
shr bp, 0x8e
jp 0x180e9773c
adc r8, rdi
jmp r8
movzx edx, dil
or rbp, r8
jmp rbp
sub rsi, 4
lea r9, [rbp*2 + 0x50991611]
lea rax, [r9 + r9*8 - 0x7270e4d1]
xchg bpl, al
mov r9d, dword [rsi + riz]
xor r9d, r11d
sar rbp, 0xe
movsx r10d, bpl
not r9d
and r10, r10
lea rdi, [r10 + r10*4 + 0x77baad24]
or bpl, 0x2c
ror r9d, 1
bswap edi
xor r9d, 0xf386e68b
mov ecx, ebp
bts edi, r10d
ror cl, 0x46
not r9d
xor r9d, 0xd63c4b2b
lea r9d, [r9 + rdi + 0x2075290d]
push r11
call fcn.180eb38f2