Function at 0x44a35c
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 0x44a3bd
cmp eax, 0xc0
jl 0x44a3bd
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 0x44a3bd
movzx edi, byte [edx]
sub ecx, 6
and edi, 0x3f
shl edi, cl
dec esi
or eax, edi
inc edx
test esi, esi
jg 0x44a3a7
mov edi, dword [ebp - 4]
dec edx
test eax, eax
jne 0x44a3cd
mov dword [ebx], 1
jmp 0x44a6b4
lea ecx, [eax - 0x30]
cmp ecx, 0x4a
ja 0x44a6b4
movsx esi, word [ecx*2 + 0x46fb88]
mov dword [ebp - 4], esi
test esi, esi
je 0x44a3ef
mov eax, esi
jmp 0x44a6b4
cmp eax, 0x63
jg 0x44a4e7
je 0x44a4c1
cmp eax, 0x30
je 0x44a482
jle 0x44a507
cmp eax, 0x39
jle 0x44a42c
cmp eax, 0x4c
je 0x44a421
cmp eax, 0x4e
je 0x44a421
cmp eax, 0x55
jne 0x44a507
mov dword [ebx], 0x25
jmp 0x44a6b4
cmp dword [ebp + 0x18], 0
jne 0x44a472
mov esi, edx
mov eax, ecx
jmp 0x44a444
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 0x44a438
test eax, eax
js 0x44a65e
cmp eax, 0xa
jl 0x44a6a8
cmp eax, dword [ebp + 0x10]
jle 0x44a6a8
mov ebx, dword [ebp + 0xc]
mov edx, esi
movzx eax, byte [edx]
cmp eax, 0x38
jl 0x44a482
dec edx
xor eax, eax
jmp 0x44a6b4
sub eax, 0x30
mov cl, byte [edx + 1]
inc dword [ebp - 4]
cmp cl, 0x30
jb 0x44a4a3
cmp cl, 0x37
ja 0x44a4a3
inc edx
cmp dword [ebp - 4], 2
movzx ecx, byte [edx]
lea eax, [ecx + eax*8 - 0x30]
jl 0x44a485
test edi, edi
jne 0x44a6b4
cmp eax, 0xff
jle 0x44a6b4
mov dword [ebx], 0x33
jmp 0x44a6b4
inc edx
movzx eax, byte [edx]
test eax, eax
jne 0x44a4d4
mov dword [ebx], 2
jmp 0x44a6b4
lea ecx, [eax - 0x61]
cmp ecx, 0x19
ja 0x44a4df
sub eax, 0x20
xor eax, 0x40
jmp 0x44a6b4
cmp eax, 0x67
je 0x44a5ce
cmp eax, 0x6c
je 0x44a421
cmp eax, 0x75
je 0x44a421
cmp eax, 0x78
je 0x44a51c
test byte [ebp + 0x14], 0x40
je 0x44a6b4
mov dword [ebx], 3
jmp 0x44a6b4
cmp byte [edx + 1], 0x7b
jne 0x44a58b
xor eax, eax
lea esi, [edx + 2]
mov dword [ebp + 0x14], eax
jmp 0x44a55a
inc esi
test eax, eax
jne 0x44a536
cmp ecx, 0x30
je 0x44a55a
inc dword [ebp + 0x14]
cmp ecx, 0x61
jl 0x44a541
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 0x44a52c
cmp byte [esi], 0x7d
jne 0x44a58b
test eax, eax
js 0x44a57e
neg edi
sbb edi, edi
and edi, 6
add edi, 2
cmp dword [ebp + 0x14], edi
jle 0x44a584
mov dword [ebx], 0x22
mov edx, esi
jmp 0x44a6b4
xor eax, eax
movzx esi, byte [edx + 1]
inc dword [ebp - 4]
test byte [esi + 0x470710], 8
je 0x44a6b4
inc edx
movzx esi, byte [edx]
cmp esi, 0x61
jl 0x44a5ad
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 0x44a58d
jmp 0x44a6b4
mov al, byte [edx + 1]
cmp al, 0x3c
je 0x44a6b1
cmp al, 0x27
je 0x44a6b1
cmp al, 0x7b
jne 0x44a622
lea eax, [edx + 2]
mov cl, byte [eax]
test cl, cl
je 0x44a61c
cmp cl, 0x7d
je 0x44a60b
cmp cl, 0x2d
je 0x44a604
movzx ecx, cl
test byte [ecx + 0x470710], 4
je 0x44a60b
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x44a5ee
mov al, byte [eax]
test al, al
je 0x44a61c
cmp al, 0x7d
je 0x44a61c
push 0xffffffffffffffe4
jmp 0x44a6b3
xor edi, edi
inc edi
inc edx
jmp 0x44a624
xor edi, edi
xor esi, esi
cmp byte [edx + 1], 0x2d
jne 0x44a62e
inc esi
inc edx
lea ecx, [edx + 1]
movzx ebx, byte [ecx]
xor eax, eax
test byte [ebx + 0x470710], 4
je 0x44a669
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 0x44a63f
test eax, eax
jns 0x44a669
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x3d
jmp 0x44a6b4
test edi, edi
je 0x44a67e
inc edx
cmp byte [edx], 0x7d
je 0x44a67e
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x39
jmp 0x44a6b4
test eax, eax
jne 0x44a68d
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x3a
jmp 0x44a6b4
test esi, esi
je 0x44a6a8
mov ecx, dword [ebp + 0x10]
cmp eax, ecx
jle 0x44a6a3
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0xf
jmp 0x44a6b4
sub ecx, eax
lea eax, [ecx + 1]
push 0xffffffffffffffe3
pop ecx
sub ecx, eax
mov eax, ecx
jmp 0x44a6b4
push 0xffffffffffffffe5
pop eax
mov ecx, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
leave
ret