Function at 0x43a310
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
push ebx
push esi
push edi
lea edi, [ebp - 0x108]
mov ecx, 0x42
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], ecx
jmp 0x43a34c
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x18]
jae 0x43a471
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x18]
jae 0x43a389
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0x20
jne 0x43a389
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x43a35f
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 0x18]
jne 0x43a396
jmp 0x43a471
mov eax, dword [ebp + 0x18]
sub eax, dword [ebp - 8]
cmp eax, 2
jb 0x43a3c0
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0xd
jne 0x43a3c0
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax + 1]
cmp ecx, 0xa
jne 0x43a3c0
jmp 0x43a343
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0xa
jne 0x43a3d3
jmp 0x43a343
cmp dword [ebp - 0x2c], 0
je 0x43a3e3
mov eax, 0xffffffd4
jmp 0x43a5fe
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0x3d
jne 0x43a40a
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jbe 0x43a40a
mov eax, 0xffffffd4
jmp 0x43a5fe
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
push ecx
push 0x80
push 0x52eb80
call fcn.0043ad10
add esp, 0xc
mov byte [ebp - 0x41], al
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 8]
movzx ecx, byte [eax]
cmp ecx, 0x7f
jg 0x43a440
movzx eax, byte [ebp - 0x41]
cmp eax, 0x7f
jne 0x43a44a
mov eax, 0xffffffd4
jmp 0x43a5fe
movzx eax, byte [ebp - 0x41]
cmp eax, 0x40
jge 0x43a463
cmp dword [ebp - 0x20], 0
je 0x43a463
mov eax, 0xffffffd4
jmp 0x43a5fe
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x43a343
cmp dword [ebp - 0x14], 0
jne 0x43a487
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
jmp 0x43a5fe
mov eax, dword [ebp - 0x14]
shr eax, 3
imul ecx, eax, 6
mov edx, dword [ebp - 0x14]
and edx, 7
imul eax, edx, 6
add eax, 7
shr eax, 3
add ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [ebp + 8], 0
je 0x43a4bb
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x14]
jae 0x43a4cd
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x14]
mov dword [eax], ecx
mov eax, 0xffffffd6
jmp 0x43a5fe
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x38], ecx
jmp 0x43a4fb
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x14]
add ecx, 1
mov dword [ebp + 0x14], ecx
cmp dword [ebp - 8], 0
jbe 0x43a5f1
mov eax, dword [ebp + 0x14]
movzx ecx, byte [eax]
cmp ecx, 0xd
je 0x43a526
mov eax, dword [ebp + 0x14]
movzx ecx, byte [eax]
cmp ecx, 0xa
je 0x43a526
mov eax, dword [ebp + 0x14]
movzx ecx, byte [eax]
cmp ecx, 0x20
jne 0x43a528
jmp 0x43a4e9
mov eax, dword [ebp + 0x14]
movzx ecx, byte [eax]
push ecx
push 0x80
push 0x52eb80
call fcn.0043ad10
add esp, 0xc
mov byte [ebp - 0x41], al
push 0x40
movzx eax, byte [ebp - 0x41]
push eax
call fcn.0043aad0
add esp, 8
movzx ecx, al
push ecx
mov edx, dword [ebp - 0x20]
sub edx, 1
push edx
lea eax, [ebp - 0x20]
push eax
call fcn.0043a2a0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
shl eax, 6
movzx ecx, byte [ebp - 0x41]
and ecx, 0x3f
or eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jne 0x43a5ec
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0x20], 0
jbe 0x43a5b1
mov eax, dword [ebp - 0x2c]
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x38]
mov byte [ecx], al
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x20], 1
jbe 0x43a5d0
mov eax, dword [ebp - 0x2c]
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x38]
mov byte [ecx], al
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
cmp dword [ebp - 0x20], 2
jbe 0x43a5ec
mov eax, dword [ebp - 0x2c]
and eax, 0xff
mov ecx, dword [ebp - 0x38]
mov byte [ecx], al
mov edx, dword [ebp - 0x38]
add edx, 1
mov dword [ebp - 0x38], edx
jmp 0x43a4e9
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x43a624]
call fcn.00402c7a
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x108
cmp ebp, esp
call fcn.00403166
mov esp, ebp
pop ebp
ret