Function at 0x41f4c0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
fld dword [0x4988a4]
mov eax, 0xd2d3143e
fsub dword [0x489710]
push ebx
push esi
push edi
fstp dword [0x4988a4]
push 0x41
fld dword [0x4945bc]
push 0x2988
fmul dword [0x49633c]
xor esi, esi
fstp dword [0x4945bc]
fld dword [0x49633c]
fadd qword [0x43ad48]
fstp dword [0x49633c]
fld dword [0x491b6c]
fmul dword [0x4977e0]
fsub qword [0x46f0e0]
fadd dword [0x49b034]
fstp dword [0x49b034]
mov ecx, dword [0x44af64]
sub eax, ecx
add dword [0x4452f4], eax
mov dx, word [0x4811b4]
movzx ecx, word [0x47cae4]
movsx eax, dx
sar eax, 1
add eax, 0x84080d6f
imul ecx, eax
mov word [0x47cae4], cx
mov dword [0x440b78], 0x7cc4456e
call fcn.00408190
push 4
fld dword [0x48e230]
push 0x176a
fadd dword [0x499f28]
mov dword [ebp - 0xc], eax
fstp qword [0x468ff0]
call fcn.00408190
fld dword [0x498a28]
mov edi, eax
fadd qword [0x4577f0]
lea edx, [ebp - 0x10]
push edi
push edx
fsub dword [0x492bcc]
fstp qword [0x45e728]
call fcn.00428a50
mov eax, dword [0x449f48]
mov ecx, dword [0x446954]
imul ecx, ecx, 0x4e183311
shl eax, 6
or eax, 0xa51605e2
add esp, 0x18
cmp ecx, eax
je 0x41f604
mov edx, dword [0x445100]
or ecx, 0xffffffff
add dword [0x445100], ecx
cmp edx, 0x4fef7afe
jle 0x41f5ff
mov eax, dword [0x44af20]
imul eax, eax, 0x3aca0ef6
sub dword [0x449060], eax
add dword [0x44af20], ecx
jmp 0x41f604
mov eax, dword [0x4425f0]
push 4
push 0x2299
call fcn.00408190
fld dword [0x48e93c]
fmul qword [0x475550]
push edi
push 4
mov ebx, eax
fstp qword [0x475550]
call fcn.00431c30
mov eax, dword [0x44ee90]
add eax, 0x152f9723
or eax, 0xd4ea67fc
and dword [0x44fb94], eax
lea ecx, [ebp - 0x14]
push ebx
or edi, 0xffffffff
add dword [0x44ee90], edi
push ecx
call fcn.00428a50
mov dx, word [0x4810e8]
movsx ecx, dx
imul ecx, ecx, 0xc515cb9d
mov eax, 1
add word [0x4810e8], ax
add esp, 0x18
cmp ecx, 0x3aa7ad31
je 0x41f6a0
add dword [0x43db14], eax
mov edx, dword [0x43db14]
mov eax, dword [0x44e0f8]
or edx, eax
or edx, 0x70ecc512
mov dword [0x449930], edx
add dword [0x44e0f8], edi
push 4
push 0x1649
call fcn.00408190
and dword [0x44f718], 0x40045660
push ebx
push 4
mov edi, eax
call fcn.00431c30
fld dword [0x498450]
fadd dword [0x492978]
lea ecx, [ebp - 0x18]
push edi
push ecx
fmul dword [0x48e47c]
fstp dword [0x48e47c]
call fcn.00428a50
mov edx, dword [0x44c284]
or edx, 0x495f5f33
add esp, 0x18
cmp edx, 0x344146a9
jl 0x41f719
mov eax, dword [0x447b3c]
cmp eax, 0x3295f846
jl 0x41f719
movzx ecx, word [0x4805ea]
sub ecx, 0x5e6dbe8
mov word [0x4805ea], cx
push edi
push 4
call fcn.00431c30
and dword [0x443564], 0xdefa66ee
add esp, 8
cmp dword [ebp + 0xc], esi
je 0x41fb2d
mov ebx, dword [ebp + 8]
lea ebx, [ebx]
xor dword [0x4509a4], 0x7fd5feea
movzx edx, word [0x47bc2a]
movzx ecx, word [0x483bf8]
movsx eax, dx
not eax
imul eax, eax, 0x5b3de0ee
xor eax, 0x7e6699fb
and ecx, eax
mov word [0x483bf8], cx
mov eax, dword [0x44ff08]
mov dl, byte [ebx]
mov byte [ebp + esi - 4], dl
mov ecx, 0x5b096b67
sub ecx, eax
mov dword [0x443374], ecx
movzx edx, word [0x47fbda]
movsx eax, dx
mov edi, 1
sub dword [ebp + 0xc], edi
sar eax, 7
and dword [0x447ca4], eax
xor dword [0x44ede0], 0xbbe2fbe
add esi, edi
add ebx, edi
cmp esi, 3
jne 0x41fb17
mov eax, dword [0x45082c]
xor eax, 0x14202020
or eax, 0xbc2ddd4
sub dword [0x4446f8], eax
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
xor dword [0x450044], 0x50b80
mov cl, byte [ebp - 4]
mov edx, dword [0x447b84]
and cl, 3
shl cl, 4
cmp edx, 0x62a5207f
mov byte [ebp - 7], cl
jg 0x41f82f
mov ax, word [0x47db3e]
movsx ecx, ax
mov edx, 0xee8f60d3
sub edx, ecx
cmp edx, 0xa9aa0b56
jg 0x41f82f
mov eax, dword [0x450ed4]
lea ecx, [eax - 0x7a28f6e8]
mov eax, dword [0x4402b8]
not eax
and eax, ecx
sub dword [0x44ee4c], eax
fld dword [0x486628]
mov al, byte [ebp - 3]
fsub dword [0x491c38]
shr al, 4
add byte [ebp - 7], al
fadd dword [0x499198]
fadd dword [0x48a5e0]
mov cl, byte [ebp - 3]
and cl, 0xf
add cl, cl
fstp dword [0x48a5e0]
mov eax, dword [0x442844]
mov edx, dword [0x440ed8]
not eax
add cl, cl
xor edx, eax
mov byte [ebp - 6], cl
cmp edx, 0x49efbf2f
jne 0x41f88c
mov ax, word [0x47eaf8]
cwde
or eax, 0x370423ba
and dword [0x44309c], eax
mov cl, byte [ebp - 2]
mov eax, dword [0x43e4c4]
shr cl, 6
add byte [ebp - 6], cl
lea ecx, [eax + 0x1edca2b5]
mov eax, dword [0x449300]
and eax, ecx
xor dword [0x444fe4], eax
add dword [0x43e4c4], edi
mov dl, byte [ebp - 2]
and dl, 0x3f
mov byte [ebp - 5], dl
add dword [0x4490f8], 0xdccd7eb0
xor esi, esi
add dword [0x451040], 0x69c29635
mov eax, dword [0x449788]
mov ecx, dword [0x448280]
imul eax, ecx
imul eax, eax, 0x198d9c64
cmp byte [ebp + 0x10], 0
mov dword [0x449788], eax
je 0x41fa11
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x41fa11
mov edx, dword [0x4505b4]
cmp edx, 0x6ca27e61
je 0x41f92f
fld qword [0x4667f0]
fsub dword [0x492ecc]
fsub qword [0x456b40]
fadd qword [0x45a050]
fstp qword [0x45a050]
jmp 0x41f946
add word [0x485f70], di
mov cx, word [0x485f70]
movsx ecx, cx
add dword [0x43c530], ecx
cmp al, 0x3e
jne 0x41f988
movzx edx, word [0x47f366]
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
xor edx, 0x87908bc9
mov word [0x47f366], dx
push eax
call fcn.004160c0
fld dword [0x4911e0]
fld qword [0x468f50]
fld dword [0x495704]
fmulp st(2)
fsubrp st(1)
fstp dword [0x48bc00]
jmp 0x41f9a8
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0x14]
mov dword [0x445f00], 0xce6882b8
call fcn.004160c0
add dword [0x44c258], 0xb829f0bd
mov dx, word [0x481a7e]
dec word [0x481a7e]
movsx eax, dx
cmp eax, 0x40a92660
jne 0x41fa8c
add dword [0x4510c4], edi
mov eax, dword [0x4510c4]
mov cx, word [0x47e064]
movsx edx, cx
and eax, 0x4a81d1a6
or edx, eax
cmp edx, 0xad6a89e
jl 0x41fa8c
fld dword [0x489014]
fstp st(0)
fld qword [0x45ba48]
fstp st(0)
fld qword [0x4562c8]
fstp st(0)
fld qword [0x478e78]
fstp st(0)
jmp 0x41fa8c
xor dword [0x43d04c], 0x485e5f44
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.00412e90
fld dword [0x48ab58]
fmul dword [0x487098]
fadd dword [0x4928b4]
fld qword [0x46e948]
fld qword [0x46e948]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x46e948]
fadd dword [0x48ab58]
fstp dword [0x48ab58]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x41fa8c
fld dword [0x488a04]
fmul qword [0x46df00]
fmul dword [0x48d318]
fadd dword [0x4928d8]
fstp dword [0x4928d8]
mov eax, dword [0x442dac]
or eax, 0xc10a9707
add dword [0x443e74], eax
add word [0x482c9e], di
mov ax, word [0x482c9e]
cwde
xor dword [0x44a278], eax
add esi, edi
cmp esi, 4
jne 0x41f8d2
mov ecx, dword [0x44d108]
cmp ecx, 0x569525a2
jne 0x41fb0b
mov edx, dword [0x447dcc]
imul edx, edx, 0x1f686917
xor edx, 0x92cb6ddb
cmp edx, 0xa52e6eb6
jle 0x41faf7
movzx eax, word [0x47f880]
add eax, 0x2407039f
mov word [0x47f880], ax
jmp 0x41fb0b
movzx ecx, word [0x4852a8]
imul ecx, ecx, 0x28c6fa59
mov word [0x4852a8], cx
xor esi, esi
xor dword [0x4423f8], 0xdadd4f89
and dword [0x44ebdc], 0x845e9385
cmp dword [ebp + 0xc], 0
jne 0x41f740
jmp 0x41fb32
mov edi, 1
xor dword [0x440d58], 0x45029004
test esi, esi
je 0x420038
mov eax, dword [0x44d854]
xor eax, 0xe7ccadbc
sub dword [0x45048c], eax
add dword [0x448d60], 0x274d006c
cmp esi, 3
jge 0x41fbc8
mov edi, 3
sub edi, esi
push edi
lea eax, [ebp + esi - 4]
push 0
push eax
call fcn.00401000
add esp, 0xc
mov eax, 0x11518603
nop
fld dword [0x4866d8]
fadd dword [0x48f744]
fsub dword [0x486fb0]
fmul qword [0x4726f0]
fstp qword [0x4726f0]
add dword [0x447f54], eax
sub edi, 1
fld dword [0x496484]
fld dword [0x496f5c]
fmul dword [0x4963e4]
fsubp st(1)
fstp dword [0x489958]
jne 0x41fb80
mov edi, 1
mov edx, dword [0x446c28]
mov ecx, dword [0x44f9fc]
add dword [0x446c28], edi
add dword [0x44f9fc], edi
mov eax, 0xcdd7d5c0
sub eax, edx
add ecx, eax
or ebx, 0xffffffff
cmp ecx, 0x6a9ae5f3
jl 0x41fc12
mov edx, dword [0x43f1ac]
mov eax, dword [0x448934]
lea ecx, [eax + edx + 0x26fc8781]
mov dword [0x448934], ecx
add dword [0x43f1ac], ebx
movzx edx, byte [ebp - 4]
shr dl, 2
mov byte [ebp - 8], dl
add dword [0x450a88], ebx
mov eax, dword [0x450a88]
xor eax, 0x86071322
and dword [0x442aec], eax
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
mov eax, dword [0x43de0c]
add eax, eax
add eax, eax
sub dword [0x448bac], eax
mov cl, byte [ebp - 3]
fld dword [0x49b11c]
shr cl, 4
fmul qword [0x477938]
add byte [ebp - 7], cl
xor edi, edi
fmul dword [0x494e78]
fadd dword [0x48d4d8]
movzx edx, byte [ebp - 3]
and dl, 0xf
add dl, dl
fstp dword [0x48d4d8]
add dl, dl
fld dword [0x494628]
mov byte [ebp - 6], dl
fmul dword [0x48ce94]
fmul dword [0x4874a0]
fstp qword [0x474578]
fld dword [0x4874a0]
movzx eax, byte [ebp - 2]
fld1
shr al, 6
add byte [ebp - 6], al
fsub st(1), st(0)
fxch st(1)
fstp dword [0x4874a0]
movzx ecx, word [0x48582e]
movzx edx, byte [ebp - 2]
xor ecx, 0x538e91c2
and dl, 0x3f
mov word [0x48582e], cx
mov byte [ebp - 5], dl
add dword [0x44dff4], 0x3406549a
mov eax, dword [0x447c18]
cmp eax, 0x5791c937
jle 0x41fd09
mov ecx, dword [0x450780]
mov dx, word [0x47e410]
movsx eax, dx
shl ecx, 0xa
not eax
or eax, ecx
and dword [0x45090c], eax
add dword [0x443a60], ebx
mov ecx, dword [0x443a60]
mov eax, 0xa500b6c9
sub eax, ecx
and dword [0x44ac64], eax
test esi, esi
jl 0x41fe81
fstp st(0)
or dword [0x43ea7c], 0xa0005421
cmp byte [ebp + 0x10], 0
je 0x41fdda
mov al, byte [ebp + edi - 8]
cmp al, 0x3d
jbe 0x41fdda
mov edx, dword [0x44bc10]
imul edx, edx, 0x266ecda0
mov dword [0x44a2bc], edx
cmp al, 0x3e
jne 0x41fd84
or dword [0x44c818], 0x264e1200
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.004160c0
add dword [0x446ebc], 0x36b1143
jmp 0x41fdc6
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0x14]
mov dword [0x43f028], 0xccc67ef5
call fcn.004160c0
fld dword [0x49b1f4]
fld dword [0x497c60]
fmul dword [0x48d5a8]
fsubp st(1)
fstp dword [0x489fe8]
fld dword [0x497c60]
fsub qword [0x43ad48]
fstp dword [0x497c60]
mov edx, dword [0x44a198]
imul edx, edx, 0xf028c016
mov dword [0x44a198], edx
jmp 0x41fe37
mov eax, dword [0x43ef18]
movzx ecx, word [0x47d13e]
movzx edx, byte [ebp + edi - 8]
and eax, 0xfffbffe6
or eax, 0xf798fc20
add ecx, eax
mov eax, dword [ebp - 0xc]
mov word [0x47d13e], cx
movzx ecx, byte [edx + eax]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00412e90
mov dx, word [0x4841ca]
add word [0x4841ca], bx
movsx eax, dx
and eax, 0x4fc5c8f1
cmp eax, 0x22a88271
jne 0x41fe37
fld dword [0x493378]
fstp dword [0x49ab08]
fld dword [0x48e998]
mov eax, 0xa500b6c9
fld qword [0x477818]
inc edi
fld dword [0x488ec8]
fmulp st(2)
fsubrp st(1)
fstp qword [0x477818]
mov dword [0x445694], 0x40b08003
add dword [0x443a60], ebx
mov ecx, dword [0x443a60]
sub eax, ecx
and dword [0x44ac64], eax
cmp edi, esi
jle 0x41fd2c
fld1
mov eax, dword [0x441f6c]
mov edx, dword [0x44b218]
sar eax, 0xa
add eax, 0x84e1e534
add edx, eax
cmp edx, 0xb463962e
jge 0x41fee2
fld dword [0x4910f0]
fmul dword [0x489a00]
fld dword [0x495100]
fadd qword [0x4582a0]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x41fed8
fld dword [0x487aac]
fmul qword [0x4781f8]
fadd dword [0x48b4c0]
fstp dword [0x48b4c0]
jmp 0x41fee2
or dword [0x441680], 0x8f92a752
cmp esi, 3
jge 0x420018
mov edi, 3
sub edi, esi
mov esi, 0x80c60090
movzx eax, word [0x47e35e]
or eax, 0xa801b74f
mov word [0x47e35e], ax
fld dword [0x48f1b8]
fsub qword [0x46a190]
fld dword [0x493efc]
fadd dword [0x4942e0]
fld dword [0x4942e0]
faddp st(3)
fxch st(2)
fstp dword [0x4942e0]
fxch st(1)
fcompi st(1)
fstp st(0)
jb 0x41ff49
mov eax, dword [0x43e6bc]
add eax, 0x2ce9149f
xor dword [0x44540c], eax
cmp byte [ebp + 0x10], 0
je 0x41ffb3
mov ecx, dword [0x4434bc]
imul ecx, ecx, 0x8912f680
mov dword [0x4434bc], ecx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x18]
push edx
call fcn.004160c0
mov eax, dword [0x442abc]
mov cx, word [0x47f0b8]
movsx edx, cx
add eax, eax
not edx
and edx, eax
xor edx, 0xe2e8b14d
cmp edx, 0x4d6a91e9
je 0x41ffdd
mov ax, word [0x482860]
mov ecx, dword [0x445e94]
cwde
imul eax, eax, 0x1464269d
or eax, 0xd3225461
imul ecx, eax
mov dword [0x445e94], ecx
jmp 0x41ffdd
xor dword [0x4450c8], esi
mov ecx, dword [ebp + 0x14]
push 0x3d
call fcn.00412e90
mov dx, word [0x48272a]
movsx eax, dx
xor eax, 0xfc7faeed
or eax, 0x387eae4c
and dword [0x43d08c], eax
sub edi, 1
fld dword [0x488df4]
fld dword [0x49adcc]
fadd qword [0x4627f0]
fsub qword [0x460cd0]
fsubp st(1)
fstp dword [0x488df4]
fld dword [0x49adcc]
fld1
fsub st(1), st(0)
fxch st(1)
fstp dword [0x49adcc]
jne 0x41fef7
mov eax, dword [0x441994]
fstp st(0)
imul eax, eax, 0xfaffcd67
xor dword [0x45109c], eax
inc dword [0x441994]
mov edi, 1
jmp 0x42003b
or ebx, 0xffffffff
mov eax, dword [0x441628]
mov cx, word [0x47bebe]
movsx edx, cx
sar eax, 9
and edx, eax
cmp edx, 0xbaddfbdc
jle 0x420061
add dword [0x440f40], 0xeaa226f0
mov eax, dword [ebp - 0xc]
push eax
push 0x41
call fcn.00431c30
add word [0x4806aa], bx
movzx ecx, word [0x4806aa]
movsx edx, cx
movzx ecx, word [0x47eb02]
mov eax, 0xf158bcec
sub eax, edx
push 4
xor eax, 0x3c586b18
lea edx, [ebp - 0x10]
add ecx, eax
push 0
mov word [0x47eb02], cx
push edx
call fcn.00401000
mov eax, dword [0x43fc94]
add dword [0x43fc94], edi
or eax, 0xfd131998
add esp, 0x14
cmp eax, 0xfbd3f7eb
jne 0x4200e1
add dword [0x440970], ebx
mov eax, dword [0x440970]
movzx ecx, word [0x480f28]
or eax, 0x33646433
imul ecx, eax
mov word [0x480f28], cx
push 4
lea edx, [ebp - 0x14]
push 0
push edx
call fcn.00401000
fld dword [0x48ca18]
fmul qword [0x472f48]
push 4
lea eax, [ebp - 0x18]
push 0
fstp dword [0x48ca18]
push eax
call fcn.00401000
add dword [0x44b570], edi
mov ecx, dword [0x44769c]
mov edx, dword [0x44b570]
add esp, 0x18
pop edi
or ecx, edx
pop esi
mov dword [0x44769c], ecx
pop ebx
mov esp, ebp
pop ebp
ret