Function at 0x29a6965
Capabilities:
Encode data using base64

Disassembly:
push 0x8a38b51c
sbb ebp, 0xc
push 0xc6007f8f
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], ebx
mov dword [ebp + 4], ecx
call fcn.03728aa0
dec ecx
mov eax, dword [ebp]
mov ebp, 0xdd09580e
dec eax
lea edx, [ebp - 0x7afb98ce]
inc ecx
mov dh, byte [ebp + edx - 0x620dbf38]
dec eax
lea ecx, [edx + 0x77827a07]
dec ebp
lea ebp, [ebp + edx - 0x620dbf36]
inc eax
mov byte [edx + eax - 0x620dbf40], dh
inc edx
mov ebx, dword [edx + ecx - 0x620dbf40]
call fcn.03777537
call fcn.029b1414
bswap edx
rol ecx, 2
jmp 0x2022948
jmp 0x29b1cd3
inc edx
shl ax, cl
not ax
not edx
xor edx, 0x99bc46be
inc ax
shr eax, 0x3d
dec edx
add eax, dword [esp + eax*2 - 0xe]
jae 0x3718257
jmp 0x36b5f8c
shr cx, 1
push eax
rcr edx, cl
mov dword [esi + eax - 0x2d85d587], edx
mov dword [esp + eax*2 - 0x5b0bab0a], eax
lea ebp, [ebp + eax*2 - 0x5b0bab12]
mov byte [esp + eax - 0x2d85d583], 4
mov ecx, dword [ebp + eax*2 - 0x5b0bab0e]
shr al, 0x83
neg dword [esp + eax*2 - 0x5b0baa1c]
xor ecx, ebx
ror ecx, 1
movsx edx, byte [esp + eax*2 - 0x5b0baa1c]
neg ecx
sal ax, 0x2b
jp 0x36cd69a
sub ecx, 0x768a822f
and edx, eax
neg dword [esp + edx*2 - 0x4423fffb]
neg ecx
not ecx
sar byte [esp + edx*2 - 0x4423fff6], 0xa5
js 0x29b29a2
dec edx
lea ecx, [ecx + edx*2 - 0x5cd70e6c]
xor al, dh
not ecx
sar eax, 0xc9
neg ecx
shr dx, 9
lea ecx, [ecx + edx*2 - 0x164035dc]
add eax, 0xe90d54be
and dl, ah
xor edx, eax
xor ebx, ecx
call fcn.03505a4c
mov eax, dword [esp + eax - 0x2258808]
mov dword [esp + ecx*2 - 0x111d6], ecx
pop edx
mov ecx, dword [esp + ecx*4 - 0x223a0]
mov edx, dword [esp + edx*4 - 0x2239c]
mov ebx, 0x80aa3d07
mov ebx, dword [esp + 0x14]
lea esp, [esp + 0x18]
ret
ja 0x3737526
mov edx, dword [edi + ecx - 0x63170000]
inc ecx
xor edx, ebx
jmp 0x202a41a
sete byte [esp + edx - 0x2211fffd]
neg ecx
neg byte [esp + edx - 0x2211fffc]
xadd dl, ah
xor ebx, ecx
call fcn.029d6bea
mov ecx, dword [edi + edx*2 - 0x14d80]
call fcn.036c20bc
and esp, dword [0xc0349a3a]
jns 0x29b29df
adc cl, byte [esi]
std
add dword [eax + 0x3e206c9a], eax
stosd dword es:[edi], eax
cmp eax, 0x6618c49c
pushfd
pushf
jbe 0x29b298d
sbb dword [esi], esp
sub esi, dword [esi]
mov ebp, 0xf2f9d343
fisub dword [edi - 0x77988d8c]
inc esp
loopne 0x29b2a14
bound ebp, qword [esi]
lock neg byte [ecx + 0x6341dea2]
stosb byte es:[edi], al
pushfd
xor eax, 0x7ddec41a
push 0x34703ef0
add eax, 0xb388674f
add al, 0xb5
dec edi
mov byte [bp + di - 0x4afc], dh
push eax
invalid
jo 0x29b29d1
stosb byte es:[edi], al
xchg edi, eax
dec ebp
fcmovne st(0), st(1)
add edi, ebp
or ch, cl
mov cl, 0xa5
cwde
mov ch, 0x71
jno 0x29b2a0b
mov dl, 0x60
invalid
lea ecx, [eax + ecx - 0x44f6abe4]
jmp 0x20226be
not ecx
setbe byte [esp + eax*2 - 0x5b0b0000]
dec dx
neg ecx
bswap edx
xor ebx, ecx
neg al
pop eax
adc dl, 0x29
add edi, ecx
or dl, dl
mov dword [esp + eax*2 - 0x5b0baa00], edi
ret
call fcn.028f8e87
rol edx, 3
or dword [esp + ecx - 0x63170001], eax
dec edx
xor ebx, edx
add esi, edx
call fcn.01ff00da
mov ecx, 0xd7afdfb6
sar ecx, 0x31
mov eax, dword [ebp]
or ecx, ecx
push ebx
mov ebx, 0xc506013a
lea ebx, [ebx - 0x777f8b5c]
inc ebx
cpuid
jge 0x200d9f8
mov eax, dword [ecx + edi - 0x3a0988cc]
dec ecx
lea edi, [edi + ecx*2 - 0x74131192]
shr ecx, 0x4f
jnp 0x36d285a
rol ecx, 1
push edx
pop eax
bswap ecx
jmp 0x209cefb