Function at 0x401fc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
fld dword [0x459124]
fstp qword [ebp - 0x20]
fld qword [0x459548]
fmul qword [ebp - 0x20]
push ebx
push esi
push 0x41
push 0x1d5
fstp dword [0x459124]
fld qword [0x459548]
fld1
fsubp st(1)
fstp qword [0x459548]
mov dword [0x459354], 0xad00c75d
call fcn.00418b00
mov ebx, eax
push 5
push 0x4def
mov dword [ebp - 0x10], ebx
call fcn.00418b00
movsx ecx, byte [ebx + 0x3e]
mov esi, eax
push ecx
push esi
lea eax, [ebp - 0x14]
push 4
push eax
call fcn.0041d095
fld dword [0x459024]
mov ecx, 0x9abde671
fsub dword [0x44ed44]
mov eax, dword [0x4590dc]
add esp, 0x20
sub ecx, eax
mov dword [ebp - 0x1c], ecx
fstp qword [ebp - 0x2c]
fild dword [ebp - 0x1c]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fcomp qword [ebp - 0x2c]
dec dword [0x4590dc]
fnstsw ax
fld dword [0x459024]
fld1
fsubp st(1)
fstp dword [0x459024]
test ah, 5
jp 0x402086
fld qword [0x459198]
fmul qword [0x44e4a8]
fstp qword [0x459198]
push edi
push 5
push 0x4def
call fcn.00418b00
fld qword [0x4593b8]
mov edi, eax
fld1
faddp st(1)
push esi
push 5
fstp qword [0x4593b8]
fld qword [0x4593b8]
fsub qword [0x44ead8]
mov eax, dword [0x45931c]
mov dword [ebp - 0x1c], eax
fstp qword [ebp - 0x34]
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [ebp - 0x34]
fstp qword [ebp - 0x34]
fld dword [0x459534]
fadd qword [ebp - 0x34]
fstp dword [0x459534]
call fcn.004017c0
movsx eax, byte [ebx + 0x3f]
push eax
push edi
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0041d095
push 5
push 0x4def
call fcn.00418b00
push edi
push 5
mov esi, eax
call fcn.004017c0
push 0x3d
push esi
lea eax, [ebp - 0x24]
push 4
push eax
call fcn.0041d095
add esp, 0x40
push esi
push 5
call fcn.004017c0
mov ax, word [0x4590c8]
add esp, 8
movsx ecx, ax
mov eax, dword [0x459274]
add eax, ecx
movzx ecx, word [0x45908c]
imul ecx, eax
mov eax, dword [ebp + 0xc]
mov word [0x45908c], cx
test eax, eax
je 0x4024be
mov ebx, dword [ebp + 0x14]
xor esi, esi
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
lea esp, [esp]
dec eax
mov dword [ebp + 0xc], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + esi - 8], al
inc esi
mov eax, dword [0x4595bc]
imul eax, dword [0x4593dc]
mov dl, byte [ebp - 8]
mov dword [ebp + 8], ecx
mov byte [ebp - 1], dl
mov dword [0x4593dc], eax
cmp esi, 3
jne 0x402210
mov al, dl
mov cl, dl
mov dl, byte [ebp - 7]
and cl, 3
shr al, 2
mov byte [ebp - 0xc], al
mov al, dl
shl cl, 4
and dl, 0xf
shr al, 4
add cl, al
shl dl, 2
mov byte [ebp - 0xb], cl
mov cl, byte [ebp - 6]
mov al, cl
and cl, 0x3f
shr al, 6
add dl, al
mov byte [ebp - 9], cl
mov byte [ebp - 0xa], dl
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x4021f1
mov al, byte [ebp + esi - 0xc]
cmp al, 0x3d
jbe 0x4021f1
mov ecx, ebx
cmp al, 0x3e
jne 0x4021e6
lea eax, [ebp - 0x14]
push eax
call fcn.00402580
jmp 0x402202
lea eax, [ebp - 0x18]
push eax
call fcn.00402580
jmp 0x402202
movzx eax, byte [ebp + esi - 0xc]
mov ecx, ebx
movzx eax, byte [eax + edi]
push eax
call fcn.00419990
inc esi
cmp esi, 4
jne 0x4021c7
mov ecx, dword [ebp + 8]
xor esi, esi
mov dl, byte [ebp - 1]
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x402160
test esi, esi
je 0x4024bc
cmp esi, 3
jge 0x402245
mov ecx, 3
lea edi, [ebp - 8]
sub ecx, esi
add edi, esi
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov dl, byte [ebp - 8]
fld dword [str.gcN]
fadd dword [0x44ecb8]
mov eax, dword [0x4593f0]
mov dword [ebp + 0xc], eax
shr dl, 2
mov byte [ebp - 0xc], dl
fstp qword [ebp - 0x2c]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fmul qword [ebp - 0x2c]
call fcn.0041d39c
movzx ecx, byte [ebp - 8]
xor edi, edi
mov dl, byte [ebp - 7]
and cl, 3
mov dword [0x4593f0], eax
mov al, dl
shr al, 4
and dl, 0xf
shl cl, 4
add cl, al
shl dl, 2
mov byte [ebp - 0xb], cl
mov cl, byte [ebp - 6]
mov al, cl
and cl, 0x3f
shr al, 6
add dl, al
mov byte [ebp - 9], cl
movsx eax, word [0x45945c]
mov ecx, 0x159fa9bf
sub ecx, eax
mov byte [ebp - 0xa], dl
movzx eax, word [0x459188]
imul eax, ecx
mov word [0x459188], ax
inc word [0x45945c]
test esi, esi
js 0x4023e1
fld dword [0x44ecc0]
fld dword [0x44f1b4]
fld dword [0x45958c]
fld1
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [0x45958c]
fsubr dword [0x459280]
fstp dword [0x459280]
fld dword [0x45958c]
faddp st(2)
fxch st(1)
fstp qword [ebp - 0x2c]
fsubr dword [0x4594e8]
fstp qword [ebp - 0x34]
fld dword [0x459280]
fsubr qword [ebp - 0x34]
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 5
jp 0x402343
mov ax, word [0x459100]
movzx ecx, word [0x4591a4]
cwde
sub ecx, eax
mov word [0x4591a4], cx
cmp byte [ebp + 0x10], 0
je 0x40236f
mov al, byte [ebp + edi - 0xc]
cmp al, 0x3d
jbe 0x40236f
cmp al, 0x3e
mov ecx, ebx
lea eax, [ebp - 0x14]
je 0x40235d
lea eax, [ebp - 0x18]
push eax
call fcn.00402580
mov dword [0x4592ec], 0x4e938f77
jmp 0x402383
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + edi - 0xc]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.00419990
dec dword [0x459574]
mov ecx, 0x8538f7be
movsx eax, word [0x45945c]
sub ecx, eax
mov eax, dword [0x459574]
sub eax, 0x29942c98
cmp ecx, eax
jge 0x4023c8
fld dword [0x4590cc]
mov eax, dword [0x459514]
fstp qword [ebp - 0x34]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fsubr qword [ebp - 0x34]
fstp dword [0x4590cc]
fld dword [0x44ecc0]
inc edi
fld dword [0x44f1b4]
cmp edi, esi
jle 0x4022e3
fstp st(1)
fstp st(0)
cmp esi, 3
jge 0x4024a5
fld qword [0x44e9b0]
mov edi, 3
sub edi, esi
fsub qword [0x4592b0]
fstp qword [ebp - 0x34]
fld qword [0x459278]
fcomp qword [ebp - 0x34]
fnstsw ax
fld qword [0x4592b0]
fld1
fsubp st(1)
fstp qword [0x4592b0]
test ah, 1
jne 0x402447
mov eax, dword [0x459134]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
fld dword [0x4590cc]
mov dword [ebp + 0xc], eax
fadd dword [ebp + 0xc]
call fcn.0041d39c
mov dword [0x459134], eax
cmp byte [ebp + 0x10], 0
mov ecx, ebx
je 0x40245a
lea eax, [ebp - 0x24]
push eax
call fcn.00402580
jmp 0x40247e
push 0x3d
call fcn.00419990
fld qword [0x4592c8]
fadd qword [0x44eae0]
fsubr qword [0x44f020]
call fcn.0041d39c
mov word [0x459388], ax
mov eax, dword [0x459294]
mov ecx, 0xd391c89a
fld qword [0x44e9b0]
sub ecx, eax
mov dword [0x459574], ecx
inc dword [0x459294]
dec edi
jne 0x4023f7
fstp st(0)
fld dword [0x459584]
fsub dword [0x44ec98]
mov ebx, dword [ebp - 0x10]
fstp dword [0x459584]
jmp 0x4024be
mov ebx, edi
fld qword [0x459578]
fsub qword [0x44e9d0]
movsx eax, word [0x45940c]
add eax, 0x61bb0140
mov dword [ebp + 0xc], eax
pop edi
fsub qword [0x44e890]
fstp qword [ebp - 0x2c]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fld qword [ebp - 0x2c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x40253f
mov eax, dword [0x45944c]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp qword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
fld qword [0x459490]
mov dword [ebp - 0x20], eax
movsx eax, word [0x459298]
mov dword [ebp - 0x1c], ecx
fsubr qword [ebp - 0x20]
mov dword [ebp + 0xc], eax
fstp qword [ebp - 0x2c]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
fadd qword [ebp - 0x2c]
call fcn.0041d39c
mov word [0x459298], ax
push ebx
push 0x41
call fcn.004017c0
add esp, 8
pop esi
pop ebx
mov esp, ebp
pop ebp
ret