Function at 0x21c917b
Capabilities:
Encode data using base64

Disassembly:
neg dword [esp + ecx - 0x5357c5e6]
not dx
call fcn.02efc388
call fcn.02efc3e4
mov dx, word [esi]
movzx ecx, byte [edi]
mov eax, 0x56ab508c
xor cl, bl
xor ax, ax
rol eax, 0xdd
rol cl, 1
inc cl
sal ax, 0x45
neg cl
inc al
xor al, al
jge 0x2ef4d2b
mov ecx, 0xfc111020
movsx eax, cx
mov edx, dword [edi + eax*2 - 0x2040]
lea edi, [eax + edi - 0x101c]
xor edx, ebx
neg cx
cmovge ecx, eax
xor edx, 0xda32070b
and eax, ecx
shl eax, 0x9f
dec edx
call fcn.021e2e4a
inc esp
mov esp, dword [ebx]
mov eax, 0x9020dbb7
dec esp
lea ebp, [eax*4 + 0x58985584]
inc ebp
xor esp, ebx
dec ax
jno 0x2e218f4
movzx edx, ax
mov eax, dword [esi + edx*8 - 0x7f806]
call fcn.021a49f0
adc eax, ecx
jno 0x2efd25a
movzx ecx, byte [eax + esi - 0x28a1ffff]
mov dword [esp + eax*2 - 0x51440004], eax
lea esi, [eax + esi - 0x28a1fffe]
movsx edx, byte [esp + eax*2 - 0x51440004]
neg al
or dword [esp + eax - 0x28a200f4], eax
xor cl, bl
shr word [esp + eax - 0x28a200fc], 0xe7
xor word [esp + eax - 0x28a200f6], 0x987
xor cl, 0xbd
sub cl, 0xa1
pop edx
xchg byte [esp + edx - 0x28a1fff9], dh
push eax
neg cl
and ax, ax
not cl
dec byte [esp + eax - 0x28a200fb]
inc cl
neg cl
ror byte [esp + eax - 0x28a200f8], 0x67
sub eax, 0xceb3a613
jp 0x2e57f21
not cl
jb 0x223530b
mov edx, 0x978a3913
movzx eax, dx
sal dx, 0xae
mov eax, dword [esi + eax*8 - 0x1c898]
push ebx
ja 0x221dcfe
lea edi, [edi + eax*2 + 4]
lea ecx, [eax + eax*4 + 0x53b12088]
xor eax, eax
xor edx, ebx
lea edx, [edx + eax*4 + 0x1eb32c22]
ror edx, 3
neg dword [esp + eax]
setb cl
xchg ecx, eax
not edx
lea eax, [eax + ecx*4 + 0xab5e9c]
lea edx, [edx + eax*2 + 0x15f97063]
neg edx
xor ebx, edx
add ebp, edx
call fcn.022266f8
mov dword [esp + eax - 0x79d69d8d], 0xf41bbe06
ror ecx, 1
xor dword [esp + eax - 0x79d69d8d], eax
dec ecx
dec eax
shl ax, 0x2d
sbb al, al
xor ebx, ecx
jmp 0x2ee9b4e
push edx
cpuid
sbb esi, 0xc
jmp 0x2ec8876
xor bl, cl
xchg dword [esp + eax - 0x59ee5ae1], eax
lea ecx, [esp + ecx + 0xc]
movzx ax, byte [eax + ecx - 0xab4bfc]
lea ecx, [edx + edx*4 - 0x6271af75]
mov word [edi + edx - 0x28a23d04], ax
lea edi, [edi + edx - 0x28a23d04]
or cl, cl
pop ecx
pop ecx
pop ecx
jl fcn.02ecf313
inc esp
movsx edi, ax
inc ecx
sub esp, 0xe0a6d4b6
dec edx
lea ebp, [edi*8 - 0x34c4e97c]
inc cx
ror ebp, 0x6d
inc ecx
not esp
call fcn.0223d86b
mov dx, word [esi]
not ecx
mov ax, word [esi + ecx - 0x5357c5e4]
jnp 0x1b75a7f
mul dword [eax + 0x75]
pushal
inc edi
jnp 0x2e3725b
jg 0x2e37220
rcr byte [ebx], 1
fbld tbyte [esi - 0x3f]
cli
scasb al, byte es:[edi]
sbb ecx, 0xa6bc202b
ror ecx, 1
dec ecx
call fcn.021ab42c
xchg ecx, eax
and dword [esi], 0xf500c89
mov esi, 0x48b140c
cmp cl, byte [edi]
cwde
ret 0x7c8d
dec edx
jg 0x2e37238
mov word [ecx], dx
jnp 0x21aab01
pop edx
pop edx
pop eax
pop edx
pop edx
jmp ebp
mov dword [esi + 0xc], eax
pop eax
call fcn.02ef7d64
add edi, 8
jmp 0x2eb483c
add ebp, edx
dec eax
jne 0x2e371d4
dec eax
mov ecx, esi
dec eax
sub esi, 4
mov dword [esi], ecx
dec eax
sub ebx, 4
jmp 0x21a43bb
xor edx, dword [esp + eax - 0x79d680ff]
adc ebp, ecx
jmp 0x1b7d33d
adc cl, 0x16
sal eax, 0xb0
xor bl, cl
shr ax, 0xe2
not eax
setne al
adc ecx, esp
sar al, 0xe7
inc ax
jnp 0x2e8969f
lea edx, [eax + edx + 0x1a2fba8f]
lea ecx, [eax*4 + 0x1a9d4d02]
neg edx
rol cx, 0xa8
sbb al, 0x22
xor al, 0xb
xor ebx, edx
jmp 0x2ed211f