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

Disassembly:
cwde
or dword [esp + eax*2 - 0x55fe], eax
mov eax, dword [ebp + eax - 0x2b00]
xor eax, ebx
bt dx, dx
lea edx, [edx*2 - 0x69f987d3]
lea eax, [eax + edx*4 + 0x4301424]
adc dword [esp + edx*2 - 0x58eb5502], edx
not eax
bswap eax
ror eax, 3
lea ecx, [edx + 0x7b9c7289]
push ecx
not eax
pop ecx
xadd byte [esp + edx*2 - 0x58eb5502], dh
sbb eax, 0xb58635a2
rol eax, 1
btc edx, edx
xor ebx, eax
xadd ecx, edx
sbb edi, 4
and ecx, dword [esp + 4]
add edx, edx
inc ecx
mov dword [edi + edx - 0x50243a18], eax
mov eax, 0xce9b0b2e
cdq
not word [esp + 6]
pop ecx
pop eax
jp fcn.00c9bff2
shr edx, cl
rol eax, cl
lea ecx, [edx*4 + 0x7ea9a908]
imul edx, ecx
xor ebx, eax
add edi, eax
mov eax, ecx
idiv dl
jmp 0x8e52dd
and eax, ecx
ror edx, 3
bswap edx
xor ebx, edx
dec ecx
add esi, edx
call fcn.0076b0aa
dec ebx
lea ecx, [edx - 0x5af4af74]
dec ebp
xor eax, ecx
dec edx
lea eax, [0xf5bd0528]
dec ecx
dec eax
inc ecx
or ecx, edx
push ecx
dec ecx
ror eax, 2
dec esi
xor dword [esp + edx - 0x86bc], esp
dec ecx
xor eax, 0x7a82260b
movzx edi, cx
cwde
movzx ebx, al
dec ecx
inc eax
inc dx
dec dword [esp + edx*2 - 0x10d72]
push ebx
dec ebp
xor ecx, eax
dec edx
xadd dword [esp + edx*8 - 0x435dd], ecx
dec esp
lea esi, [eax + eax*4 - 0x41f46a6c]
push ecx
dec esi
mov dword [esi + edx*2 - 0x10d80], eax
inc esi
movsx edi, byte [esp + edx*2 - 0x10d72]
inc esp
add dh, al
dec ecx
xor edx, 0xdd066582
inc ebx
mov ebx, dword [edx + ebx + 0x22f91cca]
dec esp
xadd ecx, edi
dec esi
add esp, dword [esp + edx + 0x22f91cd2]
dec edi
lea ebx, [ebx + edx + 0x22f91cce]
mul dword [esp + eax*4 - 0x4a6c]
inc ecx
xor ebx, ecx
neg ebx
xor ebx, 0xec032d99
dec esp
add esi, edi
ror ebx, 1
dec esp
lea esp, [edi*8 - 0x66e02843]
inc edx
xadd dword [esp + 0x66d8f076], ecx
not ebx
dec esp
mov dword [esp + edi - 0xe6ec], ecx
inc edx
xor dword [esp + 0x66d8f073], ebx
inc edx
add byte [esp + edx + 0x22f91cc9], al
inc dx
inc ebp
mov ecx, edi
dec esi
mov ecx, dword [esp + 0x66d8f073]
jns 0xcdfabc
mov eax, 0xa8b70ab0
mov ecx, eax
cdq
sub ebp, 4
cwde
push ecx
push eax
mov ecx, dword [ebp + eax - 0xab0]
neg al
shr edx, 1
xor ecx, ebx
lea edx, [edx*2 - 0x34c866d3]
xor ecx, 0x58120225
xor byte [esp + eax - 0xa4a], 0x2c
mul al
sub word [esp + eax - 0x18fe], ax
lea ecx, [eax + ecx + 0x56a453b2]
shl eax, 0x6d
mov word [esp + eax - 0x3200000], 0xd52d
xor dword [esp + eax*8 - 0x18fffffc], edx
ror ecx, 1
lea ecx, [ecx + eax*4 - 0x201e7797]
xadd dl, ah
xor ebx, ecx
add esi, ecx
lea ebp, [ebp + eax*8 - 0x19015804]
jmp 0x755dcb
dec ecx
bswap esi
dec ecx
lea edx, [eax - 0x2d6be4c2]
inc edx
neg byte [esp + edx*4 + 0x16]
dec ecx
rol esi, 5
inc cx
ror ebp, 0xaa
dec ecx
not esi
inc ecx
push eax
dec esi
lea esi, [eax + esi - 0x4c148fba]
dec eax
cwde
dec ecx
not esi
dec edi
lea esi, [edx + esi - 0x5bb98a8a]
inc esp
and bh, bh
dec ebp
xor ecx, esi
dec ecx
xor eax, eax
jle 0x9b87d3
dec esi
mov dword [esi + edx*4 - 0x10], esi
dec esi
mov dword [esp + edx + 8], esp
inc edx
idiv dword [esp + edx + 0x18]
inc ebx
mov ecx, dword [ebx + edx*2 + 0x10]
inc esi
and ah, byte [esp + edx*4 + 8]
dec edi
lea ebx, [ebx + edx + 0x14]
inc esi
mov dword [esp + edx + 4], esp
inc ecx
xor ecx, ecx
or ax, 0x292a
call fcn.00d08f8d
mov eax, 0x3d86278a
sar ax, 0xf
cwde
lea esi, [esi + eax - 4]
lea eax, [eax*2 - 0x19cd0fd2]
sub eax, eax
inc eax
mov eax, dword [eax + esi - 1]
mov edx, 0xeab00085
lea ecx, [edx + edx*2 + 0x2935fa3]
xor eax, ebx
bswap edx
ror dx, 0xe3
xor eax, 0x3a2a1c28
rol cl, 0x61
not ecx
and ecx, edx
not eax
lea eax, [edx + eax - 0x56da7d]
xor edx, ecx
xchg ch, dl
ror eax, 1
sar ecx, 0xb2
inc ecx
neg dl
sbb eax, 0xa08bd189
or cl, dh
ja 0x76ccab
mov edx, dword [edi]
mov ecx, 0xa703df9b
movzx eax, cx
lea edi, [edi + eax*4 - 0x37e68]
xor edx, ebx
ror edx, 1
ror ecx, cl
not edx
shr cx, 0x47
btc ax, cx
rol edx, 2
cbw
dec edx
btc cx, 0xba
jae 0x7a299d
mov eax, dword [edi]
mov ecx, 0x610595b4
mov edx, ecx
lea edi, [edx + edi - 0x610595b0]
xor eax, ebx
xadd edx, ecx
neg dx
inc dl
xor eax, 0x11a46889
sub eax, 0xf39f6c2b
or edx, edx
call fcn.00c3f31c
mov eax, dword [edx + ebp - 0x2921168c]
btr ecx, 0xbd
mov ecx, dword [ecx + ebp - 0x5eaa2ad8]
ror edx, 0xb0
btc dx, dx
jb 0x83c0be
push ebx
cpuid
jae 0x8a3f35
dec eax
arpl bx, bx
dec eax
adc ebp, ebx
dec edx
mov edx, dword [esi + edx + 0x22f91cba]
inc esp
mov ebp, edi
dec edx
mov ebx, dword [esi + 0x66d8f063]
dec eax
cwde
dec eax
not edx
dec eax
not ebx
dec esi
or dword [esp + edx + 0x22f91cca], edi
dec eax
and edx, ebx
dec eax
mov dword [edi + esi - 0xe6fc], edx
dec edx
mov dword [esp + 0x66d8f073], edi
dec edx
mov dword [esp + 0x66d8f063], ebp
ret 0x10