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

Disassembly:
bswap edx
xor ebx, ecx
cbw
add ebp, ecx
mov edx, dword [eax + edi - 0x44]
lea ecx, [eax - 0x667ff257]
xor eax, dword [esp + eax - 0x44]
or al, byte [edi + eax*4 + 4]
call fcn.007908ad
xor ebx, edx
push eax
shl ecx, 0xf4
adc esi, edx
lea ebp, [ebp + ecx*2 - 4]
add ecx, dword [ebp + eax - 0x4d400006]
mov edx, 0xc293ae19
dec dword [esp + eax - 0x4d3ffffe]
sub eax, dword [esp + eax - 0x4d3ffffe]
xor ecx, ebx
lea ecx, [eax + ecx + 0x56124e78]
sal al, 0x81
neg eax
not ecx
bswap ecx
xadd byte [esp + 0xa], ah
ror ecx, 3
xchg word [esp + 3], dx
dec dx
not ecx
sub ecx, 0xb58635a2
rol ecx, 1
xor ebx, ecx
sub edi, 4
cdq
mov dword [edi], ecx
movzx ecx, byte [esp + 6]
or dword [esp + ecx + 6], edx
sbb eax, dword [esp + ecx + 8]
pop edx
pop ecx
pop eax
jne fcn.00c9bff2
lea eax, [eax + eax*8 - 0x2e448aff]
dec ecx
mul dl
rol ecx, 3
bswap ecx
bts dx, 0x24
sar eax, 0x18
push eax
ror ecx, 2
inc ecx
xor ecx, 0xb8197b82
sal word [esp + eax - 0x42], 1
jp 0x74725e
sub ebp, 4
push 0xb437f62a
mov ecx, dword [esp]
neg word [esp + 1]
mov eax, dword [ebp]
or dword [esp], 0x959946a5
pop ecx
lea ecx, [ecx*2 + 0x7e01669b]
xor eax, ebx
movzx edx, cl
ror edx, 0x27
ror edx, cl
ror eax, 2
lea eax, [eax + ecx*8 - 0x4cbb1c52]
sub edx, 0x7ab593b0
sbb edx, ecx
btr ecx, ecx
ror eax, 3
bswap edx
inc ecx
bswap eax
xor ebx, eax
inc ecx
add edi, eax
dec cx
movzx eax, cx
mov ecx, esi
cwd
lea esi, [esi + edx - 0x4f690002]
shr edx, 0xa4
setns dl
mov word [esi + edx*4 - 0x13da4004], cx
jp fcn.007ab5dc
rol dx, 0xae
shl eax, 0x5b
lea esi, [edx + esi - 0x4005]
jnp 0xc77596
lea eax, [edx*8 + 0xb2c80b7]
xor cl, bl
lea eax, [edx + eax - 0x1a6975ff]
xchg byte [esp + edx*2 - 0x7fff], dh
and dl, al
not cl
cmovb edx, dword [esp + edx]
dec cl
bswap eax
lea eax, [eax + edx*8 - 0x7fedb5f3]
shr dl, 0xe2
ror cl, 1
call fcn.007cc5ca
shr al, 2
lea ebp, [ebp + eax - 0x74bde71d]
lea edx, [edx - 0x27f054ea]
xor ecx, ebx
bswap eax
rol eax, 0xd1
ror ecx, 1
dec ecx
neg ecx
add edx, 0x801e597
inc ecx
sal eax, 0x9c
cwde
sub eax, eax
ror ecx, 1
xadd edx, eax
xor eax, edx
not ecx
xor dx, ax
xor ebx, ecx
imul dx
push eax
push eax
adc edi, ecx
not edx
call fcn.00c8fab9
not ecx
jns 0x7ba9a8
mov edx, 0xa49d9901
movzx eax, dl
lea eax, [eax + edx - 0x59cccf7f]
mov eax, dword [esi + eax - 0x4ad0c987]
movsx ecx, dl
xor dl, ch
xor eax, ebx
btr edx, ecx
xor ecx, ecx
je 0xc7c44e
dec ecx
adc ebp, esi
dec ecx
rol edx, 0x7e
inc esp
xor edi, ecx
inc bx
mov edx, dword [esp + ebx - 0x3a3b]
and ax, 0x81b7
inc ebp
movsx eax, bh
dec edi
lea ebx, [ebx - 0x7474]
inc ecx
sbb eax, eax
add cx, 0x228
inc ecx
mov esi, 0x98293f9b
inc cx
xor edx, ecx
inc ecx
add edi, eax
inc ax
inc bp
bts ebp, eax
not dx
inc cx
sub edi, 0xf45d626
rol edx, 0x66
inc ebp
sbb eax, esp
rol dx, 1
bswap eax
dec eax
sar ecx, 0xf0
shr cl, 0xe6
bswap eax
adc cl, cl
imul ecx, ecx
and dx, 0x4797
not eax
adc edx, 0xc8b392ba
inc cl
xor ebx, eax
bts edx, ecx
xchg ecx, edx
shr edx, 0x83
adc ebp, eax
lea eax, [esp + edx*8 + 0xc]
movzx cx, byte [eax + edx*2]
push edx
mov eax, 0x4fb1c10c
rol word [esp + edx], 0xa5
mov word [edx + edi - 2], cx
cwde
inc dx
sbb ax, 0x8237
movzx ecx, byte [esi + edx*2 - 7]
jg 0x8da0a5
movzx dx, byte [esi]
mov cl, byte [esi + 2]
add esi, 2
mov eax, 0x63839901
lea eax, [eax*4 - 0x19507c7d]
sal dl, cl
mov ecx, 0x230167a2
mov word [esi + ecx*2 - 0x4602cf44], dx
rol ecx, 0x21
bt ecx, ecx
mov ecx, dword [ebp + eax - 0x74bde787]
mov edx, 0xca1cdb1f
jae 0x8df9cf
dec edi
lea ebx, [ebx - 0x1fa40]
mov edx, edi
shr di, 0xad
dec eax
lea ecx, [edi + edx*2 + 0x6289a3bd]
inc ebp
xor esi, ecx
dec edx
mov dword [esp - 0xfd22], 0xa29c621a
inc ecx
bswap esi
inc ecx
inc esi
inc ecx
neg esi
inc esp
movzx ebp, cl
dec eax
lea ebx, [ecx + edx*8 - 0x3148fc5d]
inc edi
lea esi, [edi + esi - 0x443049e9]
inc ecx
mov edx, 0xc22b0a0d
inc esp
xor edi, ecx
inc cx
and edx, ebp
inc ecx
ror esi, 2
neg dx
inc edi
lea esi, [esi + edi + 0x328bbaf1]
dec ebx
lea eax, [edx + edx*4 + 0x3f289384]
dec ecx
bt esp, 0x14
jae 0xccd28c
mov eax, 0x1cafab99
movsx edx, al
inc ax
mov edx, dword [esi + eax - 0x1cafab9a]
bt ax, ax
mov cl, byte [esi + eax - 0x1cafab96]
xor eax, 0x321f6b8a
sal edx, cl
lea ecx, [eax + eax*4 - 0x447299d0]
push ecx
rol byte [esp + eax - 0x2eb0c00d], 0xe6
mov dword [esi + eax*2 - 0x5d61801e], edx
mov ecx, dword [edi + eax*2 - 0x5d618024]
movzx edx, ax
xor ecx, ebx
mov byte [esp + eax*2 - 0x5d61801e], 0x95
xor ecx, 0xc9304b86
sub ecx, 0xd50cdea2
shr eax, 0xc4
not ecx
inc ecx
or edx, edx
xor ebx, ecx
cdq
pop edx
sal edx, 0xea
adc ebp, ecx
inc ax
mul dx
shr eax, 0x21
mov cx, word [eax + esi - 0x1757ffe]
lea esi, [eax + esi - 0x1757ffc]
movzx edx, byte [edi + eax - 0x1758005]
neg ax
inc ax
jns 0xc3ed29
lea edi, [edi + eax - 0x1758006]
xor dl, bl
rol al, 0x27
xor dl, 9
sar eax, 0x1e
or eax, eax
neg eax
sbb dl, 0xb4
neg dl
sub dl, 0x25
xor eax, eax
ror al, 0x61
xor bl, dl
btc eax, 0xb6
adc edx, esp
mov word [edx + eax*2 - 0x800000], cx
jmp ebp
inc ecx
rol esi, 1
inc edx
sar dword [esp - 0x3f485], cl
dec esi
mov dword [esp - 0x1fa44], ecx
inc esp
movzx ecx, cl
dec eax
not ebx
inc sp
add esp, edx
inc esi
xor dword [esp - 0xfd22], esi
inc ecx
xchg esp, edx
inc esp
xor edi, ecx
inc ecx
pop ecx
inc sp
sub esp, eax
dec ecx
btc ebp, 0xab
dec ebp
arpl si, si
jae 0x98c875
bswap ecx
lea ecx, [ecx + edx*8 + 0x1335067b]
bswap ecx
sets al
jno 0x905951