Function at 0x4107b0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
fld qword [0x44d658]
sub esp, 0x20
fadd qword [0x446c18]
fstp qword [0x44d658]
fld dword [0x44d254]
fld qword [0x44d658]
fsub qword [0x447700]
fcompi st(1)
fstp st(0)
jb 0x4107f2
fld qword [0x44d018]
fsub qword [0x4476f8]
fstp qword [0x44d018]
push ebx
push esi
push edi
push 0x41
push 0x274a
xor esi, esi
call fcn.00413610
fld dword [0x44d12c]
fsub qword [0x4476f0]
add esp, 8
mov ebx, eax
mov dword [ebp - 0xc], ebx
fsub qword [0x4476e8]
fld qword [0x4476e0]
fld dword [0x44d12c]
fadd qword [0x446c18]
fstp dword [0x44d12c]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x410868
fld dword [0x44d28c]
mov eax, dword [0x44d2b4]
fsub qword [0x4476d8]
mov dword [ebp - 0x18], eax
fisub dword [ebp - 0x18]
fadd qword [0x44d370]
fstp qword [0x44d370]
dec dword [0x44d2b4]
push 5
push 0x170b
call fcn.00413610
movsx ecx, byte [ebx + 0x3e]
push ecx
mov edi, eax
push edi
lea edx, [ebp - 0x10]
push 4
push edx
call fcn.0041b48f
push 5
push 0x170b
call fcn.00413610
mov ebx, eax
movzx eax, word [0x44d100]
mov ecx, 0xa3f7445d
sub ecx, eax
push edi
mov word [0x44d188], cx
inc word [0x44d100]
push 5
call fcn.00417c50
mov edx, dword [ebp - 0xc]
movsx eax, byte [edx + 0x3f]
push eax
push ebx
lea ecx, [ebp - 0x14]
push 4
push ecx
call fcn.0041b48f
push 5
push 0x170b
call fcn.00413610
add esp, 0x40
push ebx
push 5
mov edi, eax
call fcn.00417c50
push 0x3d
push edi
lea edx, [ebp - 0x20]
push 4
push edx
call fcn.0041b48f
push edi
push 5
call fcn.00417c50
mov ebx, dword [ebp + 0xc]
add esp, 0x20
test ebx, ebx
je 0x410c60
mov edi, dword [ebp + 8]
lea ecx, [ecx]
mov ax, word [0x44d4b0]
movzx ecx, word [0x44d41c]
cwde
add eax, 0xdd544dad
imul ecx, eax
mov word [0x44d41c], cx
mov dl, byte [edi]
mov byte [ebp + esi - 4], dl
inc esi
dec ebx
inc edi
cmp esi, 3
jne 0x410a8d
mov al, byte [ebp - 4]
fld dword [0x44d2cc]
fld qword [0x44d3b0]
mov cl, al
fadd qword [0x4476d0]
shr cl, 2
mov byte [ebp - 8], cl
fxch st(1)
mov cl, byte [ebp - 3]
mov dl, cl
and al, 3
and cl, 0xf
shl al, 4
shr dl, 4
add cl, cl
add al, dl
add cl, cl
fcompi st(1)
fstp st(0)
mov byte [ebp - 7], al
mov byte [ebp - 6], cl
jb 0x41099a
mov eax, dword [0x44d26c]
mov ecx, 0xbc840189
sub ecx, eax
mov dword [0x44d398], ecx
dec dword [0x44d26c]
jmp 0x410a05
fld dword [0x44d690]
fsub qword [0x4476c8]
fsub qword [0x4476c0]
fld qword [0x4476b8]
fld dword [0x44d690]
fsub qword [0x446c18]
fstp dword [0x44d690]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jnp 0x4109e1
fld dword [0x44d428]
call fcn.00419940
mov word [0x44d268], ax
jmp 0x410a05
mov edx, dword [0x44d26c]
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fld qword [0x44d588]
fsub qword [0x4476b0]
fsubp st(1)
call fcn.00419940
mov dword [0x44d26c], eax
movzx eax, byte [ebp - 2]
fld qword [0x44d028]
mov ecx, dword [0x44d14c]
fsub qword [0x4476a8]
shr al, 6
add byte [ebp - 6], al
movzx eax, byte [ebp - 2]
fstp qword [ebp - 0x1c]
cvtsi2sd xmm0, ecx
mulsd xmm0, qword [ebp - 0x1c]
and al, 0x3f
cvttsd2si edx, xmm0
mov dword [0x44d14c], edx
mov byte [ebp - 5], al
xor esi, esi
cmp byte [ebp + 0x10], 0
je 0x410a70
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x410a70
cmp al, 0x3e
jne 0x410a62
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00414dc0
jmp 0x410a85
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x14]
push edx
call fcn.00414dc0
jmp 0x410a85
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp - 0xc]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00403de0
inc esi
cmp esi, 4
jne 0x410a42
xor esi, esi
test ebx, ebx
jne 0x410910
test esi, esi
je 0x410c60
cmp esi, 3
jge 0x410ad5
mov edi, 3
sub edi, esi
push edi
lea eax, [ebp + esi - 4]
push ebx
push eax
call fcn.00419790
add esp, 0xc
jmp 0x410ac0
mov eax, dword [0x44d2b0]
imul eax, eax, 0x92abd331
sub edi, 1
mov dword [0x44d2b0], eax
jne 0x410ac0
mov al, byte [ebp - 4]
fld qword [0x44d3c0]
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]
and cl, 0xf
add cl, cl
shr al, 6
add cl, cl
add cl, al
movzx eax, byte [ebp - 2]
and al, 0x3f
xor edi, edi
mov byte [ebp - 6], cl
mov byte [ebp - 5], al
fstp dword [0x44d120]
test esi, esi
jl 0x410c33
mov bl, byte [ebp + 0x10]
test bl, bl
je 0x410b5f
mov al, byte [ebp + edi - 8]
cmp al, 0x3d
jbe 0x410b5f
cmp al, 0x3e
jne 0x410b3c
lea ecx, [ebp - 0x10]
push ecx
jmp 0x410b40
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp + 0x14]
call fcn.00414dc0
fld dword [0x44d28c]
fadd qword [0x4476a0]
fstp dword [0x44d28c]
jmp 0x410c28
movzx eax, byte [ebp + edi - 8]
mov ecx, dword [ebp - 0xc]
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00403de0
fld dword [0x44d5b4]
mov eax, dword [0x44d4f4]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fsub dword [0x44d438]
inc dword [0x44d4f4]
fsub qword [0x447698]
fld dword [0x44d5b4]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44d5b4]
fxch st(1)
fcompi st(2)
fstp st(1)
jb 0x410bdf
fld qword [0x44d1a8]
fld qword [0x44d3f8]
fsubr qword [0x447690]
fcompi st(1)
fstp st(0)
jbe 0x410c26
fld dword [0x44d2ac]
fstp st(0)
fsubr dword [0x44d2ac]
fstp dword [0x44d2ac]
jmp 0x410c28
fadd dword [0x44d1f0]
fstp dword [0x44d1f0]
fld dword [0x44d378]
mov cx, word [0x44d454]
movsx edx, cx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
faddp st(1)
fsub dword [0x44d1f0]
mov eax, dword [0x44d4c8]
cvtsi2sd xmm0, eax
fstp qword [ebp - 0x1c]
mulsd xmm0, qword [ebp - 0x1c]
cvttsd2si ecx, xmm0
mov dword [0x44d4c8], ecx
jmp 0x410c28
fstp st(0)
inc edi
cmp edi, esi
jle 0x410b23
jmp 0x410c36
mov bl, byte [ebp + 0x10]
cmp esi, 3
jge 0x410c60
mov edi, 3
sub edi, esi
mov ecx, dword [ebp + 0x14]
test bl, bl
je 0x410c54
lea edx, [ebp - 0x20]
push edx
call fcn.00414dc0
jmp 0x410c5b
push 0x3d
call fcn.00403de0
sub edi, 1
jne 0x410c42
mov eax, dword [ebp - 0xc]
push eax
push 0x41
call fcn.00417c50
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret