Function at 0x44af5c
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
movzx eax, byte [edx + 1]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 0x14]
shr edi, 0xb
and edi, 1
add edx, 2
mov dword [ebp - 4], edi
test edi, edi
je 0x44afbd
cmp eax, 0xc0
jl 0x44afbd
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x46f0e0]
and eax, dword [esi*4 + 0x46f0c8]
mov ecx, esi
imul ecx, ecx, 6
shl eax, cl
test esi, esi
jle 0x44afbd
movzx edi, byte [edx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec esi
or eax, edi
inc edx
test esi, esi
jg 0x44afa7
mov edi, dword [ebp - 4]
dec edx
test eax, eax
jne 0x44afcd
mov dword [ebx], 1
jmp 0x44b2b4
lea ecx, [eax - 0x30]
cmp ecx, 0x4a
ja 0x44b2b4
movsx esi, word [ecx*2 + 0x46fb88]
mov dword [ebp - 4], esi
test esi, esi
je 0x44afef
mov eax, esi
jmp 0x44b2b4
cmp eax, 0x63
jg 0x44b0e7
je 0x44b0c1
cmp eax, 0x30
je 0x44b082
jle 0x44b107
cmp eax, 0x39
jle 0x44b02c
cmp eax, 0x4c
je 0x44b021
cmp eax, 0x4e
je 0x44b021
cmp eax, 0x55
jne 0x44b107
mov dword [ebx], 0x25
jmp 0x44b2b4
cmp dword [ebp + 0x18], 0
jne 0x44b072
mov esi, edx
mov eax, ecx
jmp 0x44b044
imul eax, eax, 0xa
mov edx, ecx
movzx ecx, byte [edx]
lea eax, [eax + ecx - 0x30]
lea ecx, [edx + 1]
movzx ebx, byte [ecx]
test byte [ebx + 0x470710], 4
jne 0x44b038
test eax, eax
js 0x44b25e
cmp eax, 0xa
jl 0x44b2a8
cmp eax, dword [ebp + 0x10]
jle 0x44b2a8
mov ebx, dword [ebp + 0xc]
mov edx, esi
movzx eax, byte [edx]
cmp eax, 0x38
jl 0x44b082
dec edx
xor eax, eax
jmp 0x44b2b4
sub eax, 0x30
mov cl, byte [edx + 1]
inc dword [ebp - 4]
cmp cl, 0x30
jb 0x44b0a3
cmp cl, 0x37
ja 0x44b0a3
inc edx
cmp dword [ebp - 4], 2
movzx ecx, byte [edx]
lea eax, [ecx + eax*8 - 0x30]
jl 0x44b085
test edi, edi
jne 0x44b2b4
cmp eax, 0xff
jle 0x44b2b4
mov dword [ebx], 0x33
jmp 0x44b2b4
inc edx
movzx eax, byte [edx]
test eax, eax
jne 0x44b0d4
mov dword [ebx], 2
jmp 0x44b2b4
lea ecx, [eax - 0x61]
cmp ecx, 0x19
ja 0x44b0df
sub eax, 0x20
xor eax, 0x40
jmp 0x44b2b4
cmp eax, 0x67
je 0x44b1ce
cmp eax, 0x6c
je 0x44b021
cmp eax, 0x75
je 0x44b021
cmp eax, 0x78
je 0x44b11c
test byte [ebp + 0x14], 0x40
je 0x44b2b4
mov dword [ebx], 3
jmp 0x44b2b4
cmp byte [edx + 1], 0x7b
jne 0x44b18b
xor eax, eax
lea esi, [edx + 2]
mov dword [ebp + 0x14], eax
jmp 0x44b15a
inc esi
test eax, eax
jne 0x44b136
cmp ecx, 0x30
je 0x44b15a
inc dword [ebp + 0x14]
cmp ecx, 0x61
jl 0x44b141
sub ecx, 0x20
xor ebx, ebx
cmp ecx, 0x41
setge bl
shl eax, 4
dec ebx
and ebx, 0xfffffff9
add ebx, 0x37
sub eax, ebx
mov ebx, dword [ebp + 0xc]
add eax, ecx
movzx ecx, byte [esi]
test byte [ecx + 0x470710], 8
jne 0x44b12c
cmp byte [esi], 0x7d
jne 0x44b18b
test eax, eax
js 0x44b17e
neg edi
sbb edi, edi
and edi, 6
add edi, 2
cmp dword [ebp + 0x14], edi
jle 0x44b184
mov dword [ebx], 0x22
mov edx, esi
jmp 0x44b2b4
xor eax, eax
movzx esi, byte [edx + 1]
inc dword [ebp - 4]
test byte [esi + 0x470710], 8
je 0x44b2b4
inc edx
movzx esi, byte [edx]
cmp esi, 0x61
jl 0x44b1ad
sub esi, 0x20
xor ecx, ecx
cmp esi, 0x41
setge cl
shl eax, 4
dec ecx
and ecx, 0xfffffff9
add ecx, 0x37
sub eax, ecx
add eax, esi
cmp dword [ebp - 4], 2
jl 0x44b18d
jmp 0x44b2b4
mov al, byte [edx + 1]
cmp al, 0x3c
je 0x44b2b1
cmp al, 0x27
je 0x44b2b1
cmp al, 0x7b
jne 0x44b222
lea eax, [edx + 2]
mov cl, byte [eax]
test cl, cl
je 0x44b21c
cmp cl, 0x7d
je 0x44b20b
cmp cl, 0x2d
je 0x44b204
movzx ecx, cl
test byte [ecx + 0x470710], 4
je 0x44b20b
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x44b1ee
mov al, byte [eax]
test al, al
je 0x44b21c
cmp al, 0x7d
je 0x44b21c
push 0xffffffffffffffe4
jmp 0x44b2b3
xor edi, edi
inc edi
inc edx
jmp 0x44b224
xor edi, edi
xor esi, esi
cmp byte [edx + 1], 0x2d
jne 0x44b22e
inc esi
inc edx
lea ecx, [edx + 1]
movzx ebx, byte [ecx]
xor eax, eax
test byte [ebx + 0x470710], 4
je 0x44b269
imul eax, eax, 0xa
mov edx, ecx
movzx ecx, byte [edx]
lea eax, [eax + ecx - 0x30]
lea ecx, [edx + 1]
movzx ebx, byte [ecx]
test byte [ebx + 0x470710], 4
jne 0x44b23f
test eax, eax
jns 0x44b269
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x3d
jmp 0x44b2b4
test edi, edi
je 0x44b27e
inc edx
cmp byte [edx], 0x7d
je 0x44b27e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x39
jmp 0x44b2b4
test eax, eax
jne 0x44b28d
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x3a
jmp 0x44b2b4
test esi, esi
je 0x44b2a8
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
jle 0x44b2a3
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0xf
jmp 0x44b2b4
sub ecx, eax
lea eax, [ecx + 1]
push 0xffffffffffffffe3
pop ecx
sub ecx, eax
mov eax, ecx
jmp 0x44b2b4
push 0xffffffffffffffe5
pop eax
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
leave
ret