Function at 0x413fa0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
fld qword [0x44f6d0]
mov eax, dword [0x44f698]
mov ecx, 0x4ce74d87
sub ecx, eax
mov dword [ebp - 0xc], ecx
fild dword [ebp - 0xc]
mov ecx, 1
add dword [0x44f698], ecx
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x41400a
add word [0x44f020], cx
mov dx, word [0x44f020]
movsx eax, dx
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
fld qword [0x44f0e8]
fld qword [0x44f018]
fsubp st(2)
fxch st(1)
fsub qword [0x449aa8]
fsubp st(1)
fstp qword [0x44f0e8]
mov ecx, dword [0x44f504]
sub ecx, 0x6b503c0f
mov dword [ebp - 0xc], ecx
fild dword [ebp - 0xc]
push ebx
fld dword [0x44f278]
push esi
fld dword [0x44f278]
xor esi, esi
fld1
push edi
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44f278]
dec dword [0x44f504]
fxch st(2)
fcompi st(1)
fstp st(0)
jb 0x414094
mov dx, word [0x44f0ac]
fld dword [0x44f100]
fsub qword [0x449aa0]
mov ecx, dword [0x44f55c]
movsx eax, dx
cvtsi2ss xmm1, ecx
fstp qword [ebp - 0x1c]
cvtss2sd xmm1, xmm1
addsd xmm1, qword [ebp - 0x1c]
cvtsi2sd xmm0, eax
subsd xmm0, xmm1
cvttsd2si edx, xmm0
mov word [0x44f0ac], dx
fadd dword [0x44f100]
fstp dword [0x44f100]
jmp 0x414096
fstp st(0)
push 0x41
push 0x33f9
call fcn.00402a80
mov ebx, eax
push 5
push 0x2123
mov dword [ebp - 0xc], ebx
call fcn.00402a80
fld dword [0x44f408]
fld qword [0x44f650]
mov edi, eax
fadd qword [0x44f3e8]
lea ecx, [ebp - 0x10]
fsubp st(1)
fstp dword [0x44f408]
fld qword [0x44f650]
fsub qword [0x448d90]
fstp qword [0x44f650]
movsx eax, byte [ebx + 0x3e]
push eax
push edi
push 4
push ecx
call fcn.0041d7e5
push 5
push 0x2123
call fcn.00402a80
push edi
push 5
mov ebx, eax
call fcn.0041a660
mov edx, dword [ebp - 0xc]
movsx eax, byte [edx + 0x3f]
push eax
push ebx
lea ecx, [ebp - 0x14]
push 4
push ecx
call fcn.0041d7e5
add esp, 0x40
push 5
push 0x2123
call fcn.00402a80
push ebx
push 5
mov edi, eax
call fcn.0041a660
mov dx, word [0x44f5f4]
movsx eax, dx
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fld qword [0x44f6d0]
fsubr qword [0x449a98]
fsubp st(1)
call fcn.0041bbf0
push 0x3d
push edi
lea ecx, [ebp - 0x20]
push 4
push ecx
mov word [0x44f5f4], ax
call fcn.0041d7e5
push edi
push 5
call fcn.0041a660
mov edi, dword [ebp + 0xc]
add esp, 0x28
test edi, edi
je 0x414394
mov ebx, dword [ebp + 0x14]
jmp 0x414190
fld dword [0x44f080]
mov eax, dword [ebp + 8]
fmul qword [0x449a90]
inc esi
inc eax
dec edi
fstp dword [0x44f080]
mov dl, byte [eax - 1]
mov byte [ebp + esi - 5], dl
mov dword [ebp + 8], eax
cmp esi, 3
jne 0x4142a3
mov al, byte [ebp - 4]
mov cl, al
shr cl, 2
mov byte [ebp - 8], cl
mov cl, byte [ebp - 3]
and al, 3
mov dl, cl
shl al, 4
shr dl, 4
add al, dl
mov byte [ebp - 7], al
mov al, byte [ebp - 2]
mov dl, al
and cl, 0xf
and al, 0x3f
add cl, cl
mov byte [ebp - 5], al
movzx eax, word [0x44f098]
add cl, cl
shr dl, 6
add cl, dl
add eax, 0x30511dac
mov byte [ebp - 6], cl
mov word [0x44f098], ax
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x414241
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x414241
mov ecx, dword [0x44f254]
imul ecx, ecx, 0xea93727e
mov dword [0x44f254], ecx
mov ecx, ebx
cmp al, 0x3e
jne 0x414236
lea edx, [ebp - 0x10]
push edx
call fcn.004028c0
jmp 0x414273
lea eax, [ebp - 0x14]
push eax
call fcn.004028c0
jmp 0x414273
mov cx, word [0x44f414]
movzx edx, word [0x44f720]
movsx eax, cx
movzx ecx, byte [ebp + esi - 8]
lea eax, [edx + eax - 0x22322fcf]
mov edx, dword [ebp - 0xc]
mov word [0x44f720], ax
movzx eax, byte [ecx + edx]
push eax
mov ecx, ebx
call fcn.00411aa0
dec dword [0x44f03c]
mov ecx, dword [0x44f03c]
sub ecx, 0x54073fe4
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
inc esi
fmul dword [0x44f408]
fstp dword [0x44f408]
cmp esi, 4
jne 0x414205
xor esi, esi
test edi, edi
jne 0x414190
test esi, esi
je 0x414394
cmp esi, 3
jge 0x4142ce
mov edx, 3
sub edx, esi
push edx
lea eax, [ebp + esi - 4]
push edi
push eax
call fcn.0041bad0
add esp, 0xc
mov al, byte [ebp - 4]
mov cl, al
shr cl, 2
mov byte [ebp - 8], cl
mov cl, byte [ebp - 3]
and al, 3
mov dl, cl
shl al, 4
shr dl, 4
add al, dl
and cl, 0xf
mov byte [ebp - 7], al
mov al, byte [ebp - 2]
add cl, cl
mov dl, al
add cl, cl
shr dl, 6
add cl, dl
and al, 0x3f
xor edi, edi
mov byte [ebp - 6], cl
mov byte [ebp - 5], al
test esi, esi
jl 0x414355
lea ebx, [ebx]
cmp byte [ebp + 0x10], 0
je 0x41433c
mov al, byte [ebp + edi - 8]
cmp al, 0x3d
jbe 0x41433c
cmp al, 0x3e
jne 0x41432f
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
call fcn.004028c0
jmp 0x414350
lea ecx, [ebp - 0x14]
push ecx
mov ecx, ebx
call fcn.004028c0
jmp 0x414350
movzx edx, byte [ebp + edi - 8]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, ebx
call fcn.00411aa0
inc edi
cmp edi, esi
jle 0x414310
cmp esi, 3
jge 0x414394
mov edi, 3
sub edi, esi
movzx edx, word [0x44f620]
imul edx, edx, 0xca1a5cad
cmp byte [ebp + 0x10], 0
mov word [0x44f620], dx
mov ecx, ebx
je 0x414388
lea eax, [ebp - 0x20]
push eax
call fcn.004028c0
jmp 0x41438f
push 0x3d
call fcn.00411aa0
sub edi, 1
jne 0x414361
mov ecx, dword [ebp - 0xc]
push ecx
push 0x41
call fcn.0041a660
add esp, 8
xor eax, eax
pop edi
pop esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
add dword [0x44f444], 0x6b750e18
pop ebx
mov esp, ebp
pop ebp
ret