Function at 0x41f200
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x45f00c]
sub esp, 0x18
movsd xmm0, qword [0x45f3c8]
addsd xmm0, qword [0x4537f8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x45f00c], eax
movsd xmm0, qword [0x45f090]
subsd xmm0, qword [0x4537a0]
movsd qword [0x45f090], xmm0
movsd xmm0, qword [0x45f020]
subsd xmm0, qword [0x4537a0]
movsd qword [0x45f020], xmm0
movsd xmm2, qword [0x45f090]
movsx eax, word [0x45f0a8]
subsd xmm2, qword [0x4541c0]
movsd xmm0, qword [0x45f020]
add eax, 0x1498ff96
inc word [0x45f0a8]
addsd xmm2, qword [0x453e20]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
comisd xmm1, xmm2
jb 0x41f2c9
mov eax, dword [0x45f410]
movsd xmm0, qword [0x45f098]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x45f410], eax
jmp 0x41f300
movss xmm0, dword [0x45f4cc]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x45f408]
mulsd xmm0, xmm1
movsd qword [0x45f408], xmm0
movss xmm0, dword [0x45f4cc]
subss xmm0, dword [0x45379c]
movss dword [0x45f4cc], xmm0
push esi
push edi
push 0x41
push 0x256f
call fcn.00411320
mov esi, eax
push 5
push 0x42e1
mov dword [ebp - 0xc], esi
call fcn.00411320
movsx ecx, byte [esi + 0x3e]
mov edi, eax
push ecx
push edi
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.004234b5
mov cx, word [0x45f270]
mov eax, dword [0x45f0d8]
movsx ecx, cx
add eax, 0x1de8a315
add eax, ecx
push 5
mov word [0x45f270], ax
push 0x42e1
call fcn.00411320
push edi
push 5
mov esi, eax
call fcn.0041b490
mov eax, dword [ebp - 0xc]
movsx ecx, byte [eax + 0x3f]
lea eax, [ebp - 0x14]
push ecx
push esi
push 4
push eax
call fcn.004234b5
add esp, 0x40
push 5
push 0x42e1
call fcn.00411320
push esi
push 5
mov edi, eax
call fcn.0041b490
push 0x3d
push edi
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.004234b5
movss xmm0, dword [0x45f0cc]
movsx eax, word [0x45f238]
movss xmm1, dword [0x4545a8]
subss xmm1, xmm0
push edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 5
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x45f238], ax
call fcn.0041b490
movss xmm0, dword [0x45f43c]
add esp, 0x28
subss xmm0, dword [0x454730]
movsd xmm2, qword [0x45f098]
movss xmm3, dword [0x45379c]
movsd xmm1, qword [0x4542a0]
cvtps2pd xmm0, xmm0
addsd xmm2, xmm0
movss xmm0, dword [0x45f43c]
addss xmm0, xmm3
comisd xmm1, xmm2
movss dword [0x45f43c], xmm0
jbe 0x41f4c3
movss xmm0, dword [0x45f35c]
movss xmm1, dword [0x454780]
subss xmm1, xmm0
movsd xmm0, qword [0x45f198]
movsx eax, word [0x45f0ac]
add eax, 0x46076f97
cvtps2pd xmm2, xmm1
movd xmm1, eax
subsd xmm2, xmm0
movss xmm0, dword [0x45f35c]
cvtdq2pd xmm1, xmm1
addss xmm0, xmm3
comisd xmm1, xmm2
movss dword [0x45f35c], xmm0
jb 0x41f4c3
mov eax, dword [0x45f300]
movsd xmm1, qword [0x45f400]
movd xmm0, eax
mov eax, dword [0x45f28c]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x45f28c], eax
movsd xmm0, qword [0x45f400]
addsd xmm0, qword [0x4537a0]
movsd qword [0x45f400], xmm0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x41f7de
mov edi, dword [ebp - 0xc]
xor esi, esi
mov ecx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x14]
lea ebx, [ebx]
dec eax
mov dword [ebp + 0xc], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + esi - 4], al
inc esi
mov dword [ebp + 8], ecx
cmp esi, 3
jne 0x41f632
movss xmm1, dword [0x45f004]
xor esi, esi
movsx eax, word [0x45f010]
subss xmm1, dword [0x454cd0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x45f010], ax
movss xmm0, dword [0x45f004]
mov cl, byte [ebp - 4]
subss xmm0, xmm3
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
mov al, byte [ebp - 3]
movss dword [0x45f004], xmm0
movsd xmm1, qword [0x45f018]
subsd xmm1, qword [0x453ed0]
shr al, 4
shl cl, 4
add cl, al
mov eax, dword [0x45f24c]
mov dl, byte [ebp - 3]
mov byte [ebp - 7], cl
and dl, 0xf
mov cl, byte [ebp - 2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shl dl, 2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x45f24c], eax
mov al, cl
shr al, 6
and cl, 0x3f
add dl, al
mov byte [ebp - 5], cl
movzx eax, word [0x45f1bc]
add eax, 0x7223d0ca
mov byte [ebp - 6], dl
mov word [0x45f1bc], ax
mov edi, edi
cmp byte [ebp + 0x10], 0
je 0x41f60e
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x41f60e
mov ecx, ebx
cmp al, 0x3e
jne 0x41f5eb
lea eax, [ebp - 0x10]
push eax
call fcn.00414ec0
mov ax, word [0x45f108]
movsx ecx, ax
movsx eax, word [0x45f398]
add eax, 0x15fb4f1
add eax, ecx
mov dword [0x45f074], eax
jmp 0x41f61f
movss xmm0, dword [0x45f35c]
lea eax, [ebp - 0x14]
mulss xmm0, dword [0x454cd4]
push eax
movss dword [0x45f35c], xmm0
call fcn.00414ec0
jmp 0x41f61f
movzx eax, byte [ebp + esi - 8]
mov ecx, ebx
movzx eax, byte [eax + edi]
push eax
call fcn.004116d0
inc esi
cmp esi, 4
jne 0x41f5b0
movss xmm3, dword [0x45379c]
xor esi, esi
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41f4e0
test esi, esi
je 0x41f7dd
cmp esi, 3
jge 0x41f68c
mov ebx, 3
lea edi, [ebp - 4]
sub ebx, esi
add edi, esi
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x41f670
mov ax, word [0x45f108]
mov ecx, dword [0x45f388]
cwde
imul ecx, eax
mov dword [0x45f388], ecx
dec ebx
jne 0x41f670
mov ebx, dword [ebp + 0x14]
mov cl, byte [ebp - 4]
xor edi, edi
movsd xmm0, qword [0x45f150]
mov al, cl
subsd xmm0, qword [0x454b60]
and cl, 3
shr al, 2
shl cl, 4
mov byte [ebp - 7], cl
mov cl, byte [ebp - 3]
mov byte [ebp - 8], al
mov al, cl
and cl, 0xf
shr al, 4
add byte [ebp - 7], al
movsd qword [0x45f150], xmm0
shl cl, 2
mov byte [ebp - 6], cl
dec word [0x45f008]
movsx eax, word [0x45f008]
movss xmm0, dword [0x45f1f4]
mov cl, byte [ebp - 2]
movd xmm1, eax
mov al, cl
cvtdq2ps xmm1, xmm1
shr al, 6
and cl, 0x3f
add byte [ebp - 6], al
mov byte [ebp - 5], cl
mulss xmm0, xmm1
movss dword [0x45f1f4], xmm0
add dword [0x45f3f4], 0x37008719
test esi, esi
js 0x41f759
cmp byte [ebp + 0x10], 0
je 0x41f740
mov al, byte [ebp + edi - 8]
cmp al, 0x3d
jbe 0x41f740
mov ecx, ebx
cmp al, 0x3e
jne 0x41f735
lea eax, [ebp - 0x10]
push eax
call fcn.00414ec0
jmp 0x41f754
lea eax, [ebp - 0x14]
push eax
call fcn.00414ec0
jmp 0x41f754
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + edi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.004116d0
inc edi
cmp edi, esi
jle 0x41f716
inc word [0x45f21c]
movzx eax, word [0x45f21c]
add eax, 0x7bee0f9
mov word [0x45f4ac], ax
cmp esi, 3
jge 0x41f7dd
mov edi, 3
sub edi, esi
mov edi, edi
dec dword [0x45f450]
cmp byte [ebp + 0x10], 0
mov eax, dword [0x45f450]
movss xmm0, dword [0x45f2a8]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x45f2a8], xmm0
je 0x41f7d1
mov eax, dword [0x45f04c]
mov ecx, 0x301d2645
sub ecx, eax
lea eax, [ebp - 0x18]
add dword [0x45f23c], ecx
mov ecx, ebx
inc dword [0x45f04c]
push eax
call fcn.00414ec0
jmp 0x41f7da
push 0x3d
mov ecx, ebx
call fcn.004116d0
dec edi
jne 0x41f780
pop ebx
movsd xmm1, qword [0x45f478]
addsd xmm1, qword [0x45f2a0]
movsx eax, word [0x45f190]
push dword [ebp - 0xc]
push 0x41
subsd xmm1, qword [0x453b68]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x45f190], ax
call fcn.0041b490
add esp, 8
pop edi
pop esi
mov esp, ebp
pop ebp
ret