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

Disassembly:
jne 0xe8a2c9
dec edx
mov dword [esp + edx - 0x11], 0x734c7bf
call fcn.00c41c74
mov dword [esp + edx*4], ebx
mov ebx, 0x520d462f
seta dl
rol ebx, 0xb9
cpuid
je 0xed11ce
mov edx, 0xa3952891
movzx edx, byte [esi]
mov eax, 0xc214458e
and eax, 0xad1d2f1d
adc esi, 1
btc eax, 0x17
xor dl, bl
mov ecx, eax
cwde
inc dl
inc cl
rol dl, 1
btc eax, ecx
neg dl
add al, ch
cwde
inc ecx
adc dl, 0x97
push ecx
not eax
cwde
xor bl, dl
dec cx
sub eax, eax
lea edx, [esp + edx + 4]
setnp al
or al, ch
xchg word [esp + eax - 4], ax
mov ecx, dword [edx + eax*8 - 0x4a028]
mov edx, eax
btr eax, edx
call fcn.00c2a96d
lea ebp, [ebp + eax*2 - 0xe69a684]
bts ax, ax
not eax
push eax
mov byte [ecx], dl
sbb edi, 4
cdq
mov ecx, dword [edi]
shr dx, 0x22
imul ax, word [esp + 2]
xor ecx, ebx
lea ecx, [ecx + eax - 0x75338deb]
and edx, 0x93b9b5a4
ror ecx, 1
pop eax
xor ecx, 0x299b3322
bts eax, 0x94
sbb ecx, 0x4ea7e49a
call fcn.00efff2f
mov ecx, dword [edi + edx + 4]
sar dx, 0x85
bswap edx
jns 0xc226ed
mov eax, 0x39a69a2a
mov edx, eax
mov ecx, dword [ebp + eax*2 - 0x734d3454]
sar eax, 0xc3
mov dl, byte [ebp + eax - 0x734d341]
jnp 0xc5e325
mov ecx, 0xd268203
sar ecx, cl
movzx eax, cl
mov dx, word [esi + ecx - 0x1a4d040]
push eax
add ecx, eax
mov cl, byte [esi + ecx - 0x1a4d07e]
lea esi, [esi + eax*2 - 0x7e]
shl dx, cl
movzx ecx, al
sal al, 0x81
mov word [esi + eax - 0x80], dx
movzx edx, cl
push edx
lea ebp, [eax + ebp - 0x84]
neg eax
mov eax, dword [ebp + ecx*2 - 0x80]
adc word [esp + ecx - 0x3a], 0xca0
xor eax, ebx
neg dl
dec eax
dec ecx
bt ecx, ecx
sar edx, 0x63
neg eax
inc eax
sar dx, 4
ror dx, 0x43
ror dx, 0x6c
not eax
btr cx, cx
not byte [esp + ecx - 0x3a]
setae dl
xor ebx, eax
neg dx
sar ecx, 0xfe
adc edi, eax
dec edx
mov dword [esp + ecx], edi
ret 4
sar cl, 0x82
mov ecx, dword [esi + ecx - 0x75a55de5]
mov eax, 0x2c2b0a19
movsx edx, al
inc dx
lea esi, [esi + eax*2 - 0x5856142e]
add edx, eax
shr al, 0xa7
xor ecx, ebx
lea ecx, [ecx + eax*2 + 0x67e06929]
mov dword [esp + eax - 0x2c2b0a00], 0x758d19b8
inc eax
not ecx
cdq
inc ecx
sar edx, 0xd9
not ecx
jnp 0xec928e
xor ebx, ecx
xor ax, dx
imul edx, edx
mul dl
adc ebp, ecx
mov eax, dword [eax + edi - 0x2c2b0000]
add dl, dl
jp 0xc6b405
mov ecx, 0xa82901af
movzx eax, cl
mov edx, dword [esi + eax - 0xaf]
btr cx, ax
imul ax, cx
and eax, eax
mov eax, dword [eax + esi - 0x269d]
shr ecx, 0x53
mov cl, byte [esi + ecx - 0x14fd]
jp 0x11d6a3a
push 0xbc8f6f1c
sbb edi, 8
jmp 0xec0f93
or eax, eax
pop ecx
pop eax
pop edx
jp fcn.00c19dd7
call fcn.00b79ee8
add byte [eax], al
add byte [edi + 0x65], al
je 0xe8a32d
outsb dx, byte gs:[esi]
jne 0xe8a337
je 0xe8a347
je 0xe8a34d
add byte [esi - 0x76919022], dh
retf
and esi, dword [ebx]
lcall 0x68c4, 0x9034bea8
xor dl, byte [edx]
cmp eax, 0x24648db4
adc bh, byte [0x24648db4]
or al, 0xf
test byte [0xb8ffd069], ch
xchg ecx, eax
adc dword [ebx], 0x7a
adc edi, dword [edx - 0x18]
sbb ch, bl
inc dword [ebp + 0x33]
les eax, [edi + ecx - 0x42]
into
push 0xbba13286
and byte [esp + 6], 0x3c
mov dword [edi + 0xc], eax
mov eax, 0xc5b81584
sub dword [esp + 4], eax
mov dword [edi + 8], ebx
mov dword [edi + 4], ecx
lea ebx, [eax*2 + 0x262f57b8]
xadd dword [esp + 3], ebx
mov dword [ebx + edi - 0x545998bb], edx
movzx edx, bx
mov ecx, ebx
mov ebx, dword [esp + edx*2 - 0x1316e]
jge 0xc143f0
je 0xe836f8
mov eax, dword [edi + ecx - 0x499e432a]
movsx edx, cl
xor eax, ebx
bswap eax
lea eax, [ecx + eax + 0x549d3586]
add edx, 0xe885ccad
neg eax
shl dx, cl
dec eax
xor edx, ecx
shr ecx, 0x3c
sbb cx, cx
neg eax
rol eax, 1
xor ebx, eax
xchg ecx, edx
shl dx, 0x45
add esi, eax
call fcn.00b7bd33
btr cx, 0x2a
add esi, eax
lea edx, [ecx*4 + 0xc3b519a]
neg word [esp + ecx - 0x64a738ff]
lea eax, [ecx*2 - 0x5cac765]
mov dword [esp + ecx - 0x64a73900], esi
ret
push 0x568a1207
adc esi, 6
not dword [esp]
push 0xd992c9ac
shrd edx, eax, cl
mov ecx, dword [esp + 4]
mov dword [esi], edx
mov eax, ecx
cwde
movzx edx, cl
lea ebp, [ebp + edx*2 - 0x1f4]
sub eax, 0x5abc8381
mov eax, dword [edx + ebp - 0xf8]
sal edx, 0x93
dec cl
xor eax, ebx
or dword [esp + edx - 0x7bffffe], edx
dec eax
rol eax, 2
xor eax, 0x659d2f91
lea eax, [eax + edx*8 - 0x4b93572d]
or byte [esp + edx - 0x7bffffa], 0x19
sar dword [esp + edx - 0x7bffffc], cl
xor ebx, eax
pop edx
shr dword [esp], 0x13
add edi, eax
pop edx
jmp edi