Function at 0x180097974
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
neg eax
ror eax, 2
add rcx, rcx
not eax
rol byte [rsp + rsi*2 - 0x1b76268e], 0x65
xchg rbp, rdi
pop rcx
mov qword [rsp + rsi - 0xdbb1343], r9
ror dword [rsp + rsi*2 - 0x1b762692], 0x42
xor dword [rsp + rsi*8 - 0x6dd89a56], 0xe7be2ea2
not dword [rsp + rsi - 0xdbb1349]
xor dword [rsp + rsi*4 - 0x36ec4d24], eax
mov edx, dword [rsp + rsi*2 - 0x1b762694]
mov r9, qword [rsp + rsi - 0xdbb1343]
movsxd rax, eax
and ebp, ebp
adc rbx, rax
shl word [rsp + rsi - 0xdbb1345], 0xa7
movzx ebp, word [r8 + rsi - 0xdbb1355]
je 0x1800c3c2e
mov r11d, 0x2f1b7c0f
mov rdi, qword [r11 + r10 - 0x2f1b7c0f]
mov ecx, 0x5c3f311d
lea rsi, [r11 - 0x7ff13edf]
lea rdx, [rsi + rsi*2 + 0x4323f83e]
mov cl, byte [r10 + r11*2 - 0x5e36f816]
rol rdx, 0x3d
xchg edx, esi
shl esi, 0x1b
shr rdi, cl
ror sil, 0x47
mov ecx, esi
mov qword [r10 + r11*2 - 0x5e36f81c], rdi
mov eax, esi
mov ecx, dword [r8 + r11 - 0x2f1b7c13]
xor ecx, r9d
dec ecx
lea rdi, [rdx - 0x2459d5d5]
shr dx, 0xc8
bswap ecx
ja 0x1800df3b3
mov ecx, 0x153c4d17
lea r8, [r8 + rcx*4 - 0x54f1345d]
lea rax, [rcx + 0x6f216d8c]
movzx r11d, byte [r8 + rcx - 0x153c4d17]
lea rbp, [rcx + rax*2 - 0x2ac0af6c]
xor r11b, r9b
mov edi, ebp
movzx edx, cl
sal rdi, 0x83
sbb r11b, 0x11
imul dx, di
jae 0x1800d8989
xor r11b, 0x16
push rcx
ror r11b, 1
lea rdx, [rax*4 + 0x363fb59c]
cdq
sub r11b, 0x23
add qword [rsp + rcx*2 - 0x2a789a2e], rdi
mul dl
xor r11b, dl
movsx esi, word [rsp + rcx*2 - 0x2a789a2a]
lea rdx, [rcx*2 - 0x1ce89652]
xor r9b, r11b
not rsi
rol ax, 8
bswap rbp
lea r11, [rsp + r11 + 8]
setae dil
jae 0x1800daa78
bts r11d, ecx
neg si
and cx, word [rsp + rdx]
sets byte [rsp + rdx*2]
xor r9w, si
lea r11, [rcx*8 - 0x40f02ee9]
shr al, 1
jne 0x1800a3df6
mov r11d, 0x6db285be
mov eax, r11d
push rax
movzx eax, byte [r11 + r8 - 0x6db285bf]
xor al, r9b
lea rbp, [r11 + r11 + 0x46bef71c]
sar r11b, 0xa4
neg al
lea rcx, [r11 + r11*2 + 0x732196a7]
movzx esi, r11w
not al
mov edx, dword [rsp + r11 - 0x6db285f9]
ror al, 1
xor sil, 0x10
ror dx, 0xcb
dec al
not byte [rsp + rsi - 0x85e5]
btr rdx, r11
sbb dx, cx
neg al
sub byte [rsp + rsi - 0x85eb], cl
xor r9b, al
mov qword [rsp + rsi*2 - 0x10bd6], rbp
xor byte [rsp + rdx*4 - 0x236d2], 0x3c
not rbp
lea rax, [rsp + rax + 8]
sal bpl, 0xa1
add dword [rsp + rsi*4 - 0x217a9], 0x9c0ed601
mov rdx, qword [rax + r11 - 0x6db285fb]
neg r11w
xchg qword [rsp + rsi - 0x85eb], rbp
sbb word [rsp + r11 - 0x6db27a04], bp
mov qword [rsi + r10 - 0x85f3], rdx
mov esi, dword [r11 + r8 - 0x6db27a0a]
mov edx, ecx
xor esi, r9d
movsx eax, dx
div byte [rsp + rax*8 - 0x144bf]
add qword [rsp + rax*4 - 0x1719c], rcx
xor esi, 0x183a2381
inc esi
neg esi
inc esi
rol word [rsp + r11 - 0x6db27a02], 1
not dl
and byte [rsp + rax - 0x5c64], 0x99
mov qword [rsp + r11 - 0x6db27a05], r9
movzx edi, bpl
xor dword [rsp + rax*2 - 0xb8ce], esi
bswap edx
neg r11w
pop r9
ror rax, 0xd2
movsxd rsi, esi
cmovb ecx, edx
push rcx
cmovp eax, edx
adc rbx, rsi
not qword [rsp + rdi*8 - 0x4c0]
xadd word [rsp + rdx - 0x672839b9], bp
movzx edx, byte [r8 + r11 - 0x6db28601]
mov word [rsp + rax*4 + 4], 0x18a7
jbe 0x180094ab0
lea rsi, [rsp + rsi + 8]
inc dword [rsp + rdx*2 + 2]
mov word [rsi + rdx*2], di
mov qword [rsp + rdx], rbx
ret
movsx edi, r11b
lea rax, [rdi - 0x7cf191f9]
lea r10, [rdx + r10 - 0xcaad]
rol ax, 0xe2
sal rsi, cl
mov qword [r10 + rdx*4 - 0x32abc], rsi
lea r8, [r8 + rdx - 0xcab3]
movzx esi, r11b
movzx ebp, al
mov r11d, dword [rdx + r8 - 0xcaaf]
movsx ecx, dil
xor r11d, r9d
lea rax, [rcx*8 - 0x575b155a]
bswap r11d
lea rdx, [rdx + rax*2 + 0xf1bc2ac]
inc r11d
inc edx
not r11d
rol r11d, 3
ror dx, 0xc9
push r9
setae dil
ror edi, 0xe1
xor dword [rsp + rdx - 0x6066cc2e], r11d
pop r9
btc cx, si
bswap rbp
movsxd r11, r11d
add rbx, r11
cqo
movzx r11d, sil
add rdx, rbx
jmp rdx
cdqe
xor bp, word [r11 + rcx - 0x153c4d17]
call fcn.180093799
adc rbx, rsi
movq rcx, xmm0
xor r11w, bp
neg edx
lea r10, [r10 + rdx*8 - 0x33948]
mov qword [r10 + rdx - 0x6728], rcx
and r11, rbp
movsx esi, r11b
and rdi, rbp
jae fcn.1800a827d
sar r11w, 0x4b
lea ecx, [r11 + rcx - 0x7845aec9]
movzx ebp, sil
push rbp
bswap ecx
sub ax, r11w
and rdi, rsi
adc qword [rsp + rbp], r9
push rax
cwde
add rdx, 0x73b450ab
xor dword [rsp + r11*2 - 0x5e360016], ecx
mov r9, qword [rsp + r11 - 0x2f1b0007]
mov dword [r10 + r11*2 - 0x5e360020], ecx
xor r11d, 0xb23a9f1e
shr edi, 0x8f
lea r10, [rdi + r10 - 0x11002]
mov esi, dword [r8 + rdi - 0x11008]
lea rcx, [rbp + rdi*4 - 0x3ef070c2]
sal r11w, 0xc9
lea r8, [rdi + r8 - 0x11008]
not r11b
xor esi, r9d
mov qword [rsp + rdi*2 - 0x21ff8], rbp
not dx
lea esi, [rsi + r11 - 0x23742b78]
cbw
dec eax
not esi
cdqe
rol esi, 1
xadd qword [rsp + rax + 0x18], rcx
push rax
lea esi, [rsi + rax*2 + 0x5fb4faca]
cwd
ror esi, 3
ror eax, 1
bswap esi
xchg dl, cl
btr edi, edi
imul rbp, qword [rsp + rdi*2 - 0x21ff0]
mov qword [rsp + rdi*2 - 0x21ff0], r9
lea r9, [rax*4 - 0x48d1fe52]
xor dword [rsp + rdi - 0x10ff0], esi
and qword [rsp + rdi - 0x10ffc], rdi
sbb edi, dword [rsp + rdi - 0x10ff8]
mov r9, qword [rsp + rax - 0x7fffffe8]
movsxd rsi, esi
adc rdx, 0x6810ebbb
jb 0x18009a773
adc rbx, rsi
add rdi, rbp
movsx esi, word [rsp + rax - 0x7ffffff8]
and bpl, cl
pop rbp
pop rax
pop rcx
jno fcn.1800a827d
mov edi, dword [r8 - 4]
mov edx, 0x916c102
lea rbp, [rdx*4 - 0x73d79fdb]
xor edi, r9d
movsx eax, dx
btc bp, ax
mul edx
not edi
shr rbp, 0x6d
dec edi
xor edi, 0x78a5e93a
rol edi, 1
push r9
rol bp, 0xd
mov r9d, 0xb8aedaa2
rol dl, 0x87
xor dword [rsp + rdx*2 - 0x122d7dc4], edi
cwde
pop r9
cqo
movsxd rdi, edi
add rbx, rdi
movzx ecx, byte [r8 + rdx*2 - 5]
lea r8, [rdx + r8 - 5]
cbw
xor cl, r9b
lea rsi, [rbp*4 - 0x5ad65168]
sub cl, 0x19
movsx r11d, ax
xor cl, 0x95
not bpl
add cl, 0x18
not edx
call fcn.1800bd1dc
call fcn.1800da69c
mov r11d, 0xf526caaf
movzx edx, r11w
mov rsi, qword [rdx + r10 - 0xcaaf]
mov cl, byte [r10 + rdx*4 - 0x32ab4]
jmp 0x1800a8649