Function at 0x463900
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x4d2774]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov dword [ebp - 0x30], eax
mov edi, 0xf
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
mov byte [ebp - 0x1c], dl
test eax, eax
je 0x463b94
mov ecx, dword [ebp + 0xc]
dec eax
mov dword [ebp + 0x10], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + ebx - 0x24], al
inc ebx
mov ah, byte [ebp - 0x22]
mov dword [ebp + 0xc], ecx
mov ch, byte [ebp - 0x23]
mov cl, byte [ebp - 0x24]
mov byte [ebp - 0x1d], ah
mov byte [ebp - 0x2a], ch
mov byte [ebp - 0x2b], cl
cmp ebx, 3
jne 0x463a1a
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 0x28], al
mov al, ch
shl cl, 4
shr al, 4
add cl, al
mov al, ah
mov byte [ebp - 0x27], cl
mov cl, ch
and cl, 0xf
shr al, 6
shl cl, 2
add cl, al
mov al, ah
and al, 0x3f
mov byte [ebp - 0x26], cl
mov byte [ebp - 0x25], al
xor ebx, ebx
nop word [eax + eax]
movzx eax, byte [ebp + ebx - 0x28]
mov cl, byte [eax + 0x4d2698]
or eax, 0xffffffff
sub eax, edx
mov byte [ebp - 0x29], cl
cmp eax, 1
jbe 0x463c20
lea esi, [edx + 1]
cmp esi, 0xfffffffe
ja 0x463c20
cmp edi, esi
jae 0x463a53
push edx
push esi
lea ecx, [ebp - 0x1c]
call fcn.004074c0
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov cl, byte [ebp - 0x29]
test esi, esi
je 0x463a0c
cmp edi, 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + edx], cl
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 0x10
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + esi], 0
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
inc ebx
cmp ebx, 4
jb 0x4639a0
mov ch, byte [ebp - 0x2a]
xor ebx, ebx
mov cl, byte [ebp - 0x2b]
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x463936
test ebx, ebx
je 0x463b94
mov eax, ebx
cmp ebx, 3
jae 0x463a69
cmp eax, 3
jae 0x463c2a
mov byte [ebp + eax - 0x24], 0
inc eax
cmp eax, 3
jb 0x463a3d
mov ah, byte [ebp - 0x22]
mov ch, byte [ebp - 0x23]
mov cl, byte [ebp - 0x24]
jmp 0x463a6c
test esi, esi
jne 0x4639e7
cmp edi, 0x10
mov dword [ebp - 0xc], esi
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x463a06
mov ah, byte [ebp - 0x1d]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 0x28], al
mov al, ch
shr al, 4
and ch, 0xf
shl cl, 4
add cl, al
shl ch, 2
mov al, ah
mov byte [ebp - 0x27], cl
shr al, 6
and ah, 0x3f
add ch, al
mov byte [ebp - 0x25], ah
mov byte [ebp - 0x26], ch
lea eax, [ebx + 1]
xor ecx, ecx
mov dword [ebp - 0x24], ecx
test eax, eax
je 0x463b2d
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x28]
mov al, byte [eax + 0x4d2698]
mov byte [ebp - 0x1d], al
or eax, 0xffffffff
sub eax, edx
cmp eax, 1
jbe 0x463c20
lea esi, [edx + 1]
cmp esi, 0xfffffffe
ja 0x463c20
cmp edi, esi
jae 0x463bbc
push edx
push esi
lea ecx, [ebp - 0x1c]
call fcn.004074c0
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
test esi, esi
je 0x463b22
mov cl, byte [ebp - 0x1d]
lea eax, [ebp - 0x1c]
cmp edi, 0x10
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + edx], cl
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 0x10
mov ecx, dword [ebp - 0x24]
cmovae eax, dword [ebp - 0x1c]
mov dword [ebp - 0xc], esi
mov byte [esi + eax], 0
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
inc ecx
lea eax, [ebx + 1]
mov dword [ebp - 0x24], ecx
cmp ecx, eax
jb 0x463ab0
cmp ebx, 3
jae 0x463b94
or eax, 0xffffffff
inc ebx
sub eax, edx
cmp eax, 1
jbe 0x463c20
lea esi, [edx + 1]
cmp esi, 0xfffffffe
ja 0x463c20
cmp edi, esi
jae 0x463bd9
push edx
push esi
lea ecx, [ebp - 0x1c]
call fcn.004074c0
mov edi, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
test esi, esi
je 0x463b8f
cmp edi, 0x10
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax + edx], 0x3d
lea eax, [ebp - 0x1c]
cmp dword [ebp - 8], 0x10
mov dword [ebp - 0xc], esi
cmovae eax, dword [ebp - 0x1c]
mov byte [esi + eax], 0
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
cmp ebx, 3
jb 0x463b32
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x1c]
push eax
mov ecx, esi
call fcn.0044da10
mov eax, dword [ebp - 8]
cmp eax, 0x10
jb 0x463c0d
mov ecx, dword [ebp - 0x1c]
inc eax
cmp eax, 0x1000
jb 0x463c04
test cl, 0x1f
je 0x463bef
jmp 0x463c2f
test esi, esi
jne 0x463af7
cmp edi, 0x10
mov dword [ebp - 0xc], esi
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x463b1c
test esi, esi
jne 0x463b69
cmp edi, 0x10
mov dword [ebp - 0xc], esi
lea eax, [ebp - 0x1c]
cmovae eax, dword [ebp - 0x1c]
mov byte [eax], 0
jmp 0x463b89
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x463c34
sub ecx, eax
cmp ecx, 4
jb 0x463c39
cmp ecx, 0x23
ja 0x463c3e
mov ecx, eax
push ecx
call fcn.0047851e
add esp, 4
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004789cb
mov esp, ebp
pop ebp
ret
push 0x4aa688
call fcn.00476f7e
call fcn.004788ef
call fcn.00483ee1
call fcn.00483ee1
call fcn.00483ee1
call fcn.00483ee1
int3