Function at 0x673f46
Capabilities:
Encode data using base64

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov eax, ecx
mov dword [ebp - 0x10], eax
push esi
push edi
mov edi, edx
test eax, eax
je 0x673ff5
cmp dword [ebp + 0xc], 0
je 0x673ff5
mov esi, eax
xor ebx, ebx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x673f71
sub esi, ecx
sar esi, 1
xor ecx, ecx
call fcn.006330fe
xor ecx, ecx
call fcn.006330fe
cmp esi, edi
jae 0x673f94
mov edi, esi
mov eax, dword [ebp - 0x10]
mov edx, 0x100
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], 3
lea ecx, [eax + edi*2]
mov edi, eax
mov dword [ebp - 0x14], ecx
cmp eax, ecx
jae 0x67403f
movzx ecx, word [edi]
cmp cx, dx
jae 0x673ff5
cmp byte [ecx + 0x40d180], 0x3f
jbe 0x674013
cmp ecx, 0x20
je 0x674033
cmp ecx, 9
je 0x674033
cmp ecx, 0xd
je 0x674033
cmp ecx, 0xa
je 0x674033
test ebx, ebx
je 0x673ff5
push 3
mov eax, ebx
pop edx
and eax, edx
je 0x67403f
cmp ecx, 0x3d
jne 0x673ff5
cmp eax, 1
jne 0x67403f
mov ecx, 0x80070057
mov esi, ecx
call fcn.006330e6
mov ecx, esi
call fcn.006330fe
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea eax, [ebp - 8]
xor edx, edx
push eax
inc edx
mov ecx, ebx
call fcn.006346aa
mov esi, eax
test esi, esi
js 0x6740e4
mov ebx, dword [ebp - 8]
mov edx, 0x100
add edi, 2
cmp edi, dword [ebp - 0x14]
jb 0x673fb9
mov ecx, ebx
xor esi, esi
shr ecx, 2
test ecx, ecx
je 0x67406b
imul edi, ecx, 3
xor edx, edx
mov eax, edi
div dword [ebp - 0xc]
cmp eax, ecx
je 0x67406f
mov eax, 0x80070216
mov ecx, eax
mov esi, eax
call fcn.006330e6
mov edi, dword [ebp - 4]
jmp 0x674072
xor edi, edi
xor esi, esi
mov dword [ebp - 4], edi
mov ecx, esi
call fcn.006330fe
test esi, esi
js 0x6740e4
push 3
mov eax, ebx
pop ecx
and eax, ecx
sub eax, 1
je 0x673ff5
sub eax, 1
je 0x6740ae
sub eax, 1
jne 0x6740c5
lea eax, [ebp - 4]
xor edx, edx
push eax
inc edx
mov ecx, edi
call fcn.006346aa
mov esi, eax
test esi, esi
js 0x6740e4
mov edi, dword [ebp - 4]
lea eax, [ebp - 4]
xor edx, edx
push eax
inc edx
mov ecx, edi
call fcn.006346aa
mov esi, eax
test esi, esi
js 0x6740e4
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 8]
test eax, eax
jne 0x6740d8
mov eax, dword [ebp + 0xc]
xor esi, esi
mov dword [eax], edi
jmp 0x674001
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], edi
jae 0x6740eb
mov esi, 0x8007007a
mov ecx, esi
jmp 0x673ffc
mov esi, dword [ebp - 8]
lea edx, [edi + eax]
mov dword [ebp - 0x14], edx
mov ebx, eax
mov dword [ebp - 0xc], ebx
test esi, esi
je 0x6741fa
and dword [ebp - 4], 0
xor edi, edi
mov ecx, dword [ebp - 0x10]
cmp esi, 4
jbe 0x674114
push 4
pop eax
jmp 0x674116
mov eax, esi
cmp edi, eax
jae 0x674151
movzx edx, word [ecx]
mov eax, 0x100
cmp ax, dx
jbe 0x674147
mov ebx, edx
movzx eax, bx
mov dl, bl
cmp byte [eax + 0x40d180], 0x3f
jbe 0x674147
add ecx, 2
movzx eax, word [ecx]
mov ebx, eax
mov dl, al
cmp word [ebp - 0x18], ax
ja 0x674129
mov byte [ebp + edi - 4], dl
add ecx, 2
inc edi
jmp 0x67410a
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
cmp ebx, dword [ebp - 0x14]
jae 0x674223
mov eax, dword [ebp - 4]
movzx ecx, ah
movzx eax, al
mov dl, byte [ecx + 0x40d180]
mov cl, byte [eax + 0x40d180]
mov al, dl
shl cl, 2
shr al, 4
or cl, al
mov byte [ebx], cl
inc ebx
mov cl, byte [ebp - 2]
mov dword [ebp - 0xc], ebx
cmp edi, 2
jbe 0x6741ad
cmp ebx, dword [ebp - 0x14]
jae 0x674223
movzx eax, cl
shl dl, 4
mov al, byte [eax + 0x40d180]
shr al, 2
or al, dl
mov byte [ebx], al
inc ebx
mov dword [ebp - 0xc], ebx
push 3
pop eax
cmp edi, eax
jbe 0x6741d5
cmp ebx, dword [ebp - 0x14]
jae 0x674223
movzx eax, cl
mov cl, byte [eax + 0x40d180]
movzx eax, byte [ebp - 1]
shl cl, 6
or cl, byte [eax + 0x40d180]
mov byte [ebx], cl
inc ebx
mov dword [ebp - 0xc], ebx
lea eax, [ebp - 8]
mov edx, edi
push eax
mov ecx, esi
call fcn.00634739
mov esi, eax
test esi, esi
js 0x6740e4
mov esi, dword [ebp - 8]
test esi, esi
jne 0x674101
mov eax, dword [ebp + 8]
sub ebx, eax
push 0
pop esi
jns 0x67420f
mov eax, 0x80070216
mov ecx, eax
mov esi, eax
call fcn.006330e6
mov ecx, esi
call fcn.006330fe
test esi, esi
jns 0x67422d
mov ecx, esi
call fcn.006330e6
jmp 0x674232
mov ecx, 0x8000ffff
jmp 0x673ffa
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov ecx, esi
call fcn.006330fe
test esi, esi
jns 0x674001
jmp 0x6740e4