Function at 0x41e670
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
fld qword [0x460048]
mov ecx, 0xcffbe5fc
fadd qword [0x460180]
push ebx
push esi
push edi
push 0x41
fstp qword [ebp - 0x24]
fld dword [0x460274]
xor edi, edi
fmul qword [ebp - 0x24]
push 0x4a8a
fstp dword [0x460274]
fld qword [0x460180]
fld1
fsubp st(1)
fstp qword [0x460180]
dec dword [0x4600a0]
mov eax, dword [0x4600a0]
sub ecx, eax
mov dword [ebp - 0xc], ecx
fild dword [ebp - 0xc]
fstp dword [ebp - 0xc]
fld dword [ebp - 0xc]
fstp qword [ebp - 0x24]
fld dword [0x4603ec]
fadd qword [ebp - 0x24]
fstp dword [0x4603ec]
call fcn.004024f0
mov esi, eax
push 5
push 0x443e
mov dword [ebp - 0xc], esi
call fcn.004024f0
movsx ecx, byte [esi + 0x3e]
push ecx
push eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
push 4
push eax
call fcn.00424795
push 5
push 0x443e
call fcn.004024f0
fld dword [0x455da4]
mov ebx, eax
fsub dword [0x46026c]
mov ecx, dword [0x4603e8]
add esp, 0x28
mov dword [ebp - 0x18], ecx
fstp qword [ebp - 0x30]
fild dword [ebp - 0x18]
fstp dword [ebp - 0x18]
fld dword [ebp - 0x18]
fadd qword [ebp - 0x30]
fstp qword [ebp - 0x40]
fld qword [0x4600d8]
fadd qword [0x455338]
mov eax, dword [0x460398]
mov dword [ebp - 0x18], eax
fstp qword [ebp - 0x38]
fild dword [ebp - 0x18]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fadd qword [ebp - 0x38]
inc dword [0x460398]
fcomp qword [ebp - 0x40]
fnstsw ax
fld qword [0x4600d8]
fld1
faddp st(1)
fstp qword [0x4600d8]
dec dword [0x4603e8]
fld dword [0x46026c]
fld1
fsubp st(1)
fstp dword [0x46026c]
test ah, 1
jne 0x41e7b2
dec dword [0x460398]
mov eax, dword [0x460398]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fstp qword [0x4603a0]
push dword [ebp - 0x20]
push 5
call fcn.00401160
movsx eax, byte [esi + 0x3f]
push eax
push ebx
lea eax, [ebp - 0x14]
push 4
push eax
call fcn.00424795
push 5
push 0x443e
call fcn.004024f0
push ebx
push 5
mov esi, eax
call fcn.00401160
push 0x3d
push esi
lea eax, [ebp - 0x28]
push 4
push eax
call fcn.00424795
push esi
push 5
call fcn.00401160
mov eax, dword [ebp + 0xc]
add esp, 0x40
test eax, eax
je 0x41eca1
mov ebx, dword [ebp + 0x14]
lea ebx, [ebx]
fld dword [0x460094]
dec eax
mov ecx, dword [ebp + 8]
fstp qword [0x4600d8]
mov dword [ebp + 0xc], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp + edi - 4], al
inc edi
movsx eax, word [0x4600c0]
mov dword [ebp + 8], ecx
mov ecx, 0xcc778c08
sub ecx, eax
mov eax, dword [0x4601ec]
sub ecx, eax
add dword [0x46031c], ecx
dec dword [0x4601ec]
inc word [0x4600c0]
cmp edi, 3
jne 0x41e9e0
mov cl, byte [ebp - 4]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
shl cl, 4
mov byte [ebp - 7], cl
add dword [0x460108], 0x994cdf4
fld dword [0x460268]
fsub dword [0x456410]
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
fstp qword [ebp - 0x40]
fld dword [0x4601e8]
fsubr qword [ebp - 0x40]
mov eax, dword [0x4601f0]
mov dword [ebp - 0x20], eax
fstp qword [ebp - 0x38]
fild dword [ebp - 0x20]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fmul qword [ebp - 0x38]
call fcn.00424a9c
mov cl, byte [ebp - 2]
mov dl, byte [ebp - 3]
mov dword [0x4601f0], eax
and dl, 0xf
mov al, cl
shl dl, 2
shr al, 6
and cl, 0x3f
add dl, al
mov byte [ebp - 5], cl
mov byte [ebp - 6], dl
xor esi, esi
lea ecx, [ecx]
cmp byte [ebp + 0x10], 0
je 0x41e91f
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x41e91f
mov ecx, ebx
cmp al, 0x3e
jne 0x41e911
lea eax, [ebp - 0x10]
push eax
call fcn.0041ce80
imul eax, dword [0x460418], 0xf3340724
mov dword [0x460418], eax
jmp 0x41e9b0
lea eax, [ebp - 0x14]
push eax
call fcn.0041ce80
jmp 0x41e9b0
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0040d1b0
dec dword [0x46033c]
mov eax, dword [0x4603f8]
cmp dword [0x46033c], eax
je 0x41e99c
dec dword [0x460414]
movsx eax, word [0x460150]
mov dword [ebp - 0x20], eax
fild dword [ebp - 0x20]
fstp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
fld dword [0x460278]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x460414]
mov dword [ebp - 0x18], ecx
fadd qword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
fstp qword [ebp - 0x40]
fild dword [ebp - 0x20]
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
fadd qword [ebp - 0x40]
fstp qword [ebp - 0x40]
fld dword [0x460278]
fadd qword [ebp - 0x40]
fstp dword [0x460278]
jmp 0x41e9b0
movsx eax, word [0x460248]
mov ecx, 0xda1e650b
sub ecx, eax
add dword [0x460308], ecx
inc esi
cmp esi, 4
jne 0x41e8e0
mov ax, word [0x4600fc]
xor edi, edi
movsx ecx, word [0x4600f0]
cwde
sub ecx, eax
mov eax, dword [str.J4X_]
sub ecx, eax
sub ecx, 0x36cd79cd
mov word [0x4600f0], cx
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41e810
mov dword [ebp + 0xc], edi
test edi, edi
je 0x41eca1
cmp edi, 3
jge 0x41ea3f
lea ecx, [ebp - 4]
mov esi, 3
sub esi, dword [ebp + 0xc]
add edi, ecx
mov ecx, 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
jmp 0x41ea20
movzx eax, word [0x4602e8]
add eax, 0xaa0552c
mov word [0x460158], ax
dec word [0x4602e8]
dec esi
jne 0x41ea20
mov edi, dword [ebp + 0xc]
movsx eax, word [0x460224]
mov ecx, 0x8a8e80c9
sub ecx, eax
add dword [0x460398], ecx
dec word [0x460224]
mov cl, byte [ebp - 4]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
mov al, byte [ebp - 3]
shl cl, 4
shr al, 4
add cl, al
mov byte [ebp - 7], cl
inc word [0x4603fc]
mov ax, word [0x4600f8]
movsx ecx, word [0x4603fc]
inc word [0x4600f8]
cwde
sub ecx, eax
cmp ecx, 0x373c1603
jge 0x41eaa4
fld dword [0x460004]
fstp st(0)
mov cl, byte [ebp - 3]
movzx eax, byte [ebp - 2]
and cl, 0xf
shr al, 6
shl cl, 2
add cl, al
mov eax, dword [0x46035c]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
mov byte [ebp - 6], cl
fstp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
fld dword [0x455d68]
fsub dword [0x4600d0]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
fsubr qword [ebp - 0x24]
call fcn.00424a9c
mov dword [0x46035c], eax
mov ecx, 0xa0306759
movzx eax, byte [ebp - 2]
xor esi, esi
and al, 0x3f
mov byte [ebp - 5], al
dec dword [0x46025c]
mov eax, dword [0x46025c]
sub ecx, eax
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
fstp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
fld qword [0x460340]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
fadd qword [ebp - 0x24]
fstp qword [0x460340]
test edi, edi
js 0x41ebcb
cmp byte [ebp + 0x10], 0
je 0x41eb9f
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x41eb9f
mov ecx, ebx
cmp al, 0x3e
jne 0x41eb54
lea eax, [ebp - 0x10]
push eax
call fcn.0041ce80
jmp 0x41ebc2
lea eax, [ebp - 0x14]
push eax
call fcn.0041ce80
fld dword [str._b_7N]
fadd dword [0x455e30]
movsx eax, word [0x4600f0]
mov dword [ebp + 0xc], eax
fstp qword [ebp - 0x38]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fadd qword [ebp - 0x38]
call fcn.00424a9c
mov word [0x4600f0], ax
fld dword [str._b_7N]
fld1
fsubp st(1)
fstp dword [str._b_7N]
jmp 0x41ebc2
imul eax, dword [0x460098], 0xf0a770f7
mov ecx, dword [ebp - 0xc]
mov dword [0x460098], eax
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0040d1b0
inc esi
cmp esi, edi
jle 0x41eb35
fld qword [0x460100]
fsub qword [0x455148]
movsx eax, word [0x46040c]
add eax, 0x63e7756
mov dword [ebp + 0xc], eax
fsub qword [0x4550d0]
fstp qword [ebp - 0x38]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fcomp qword [ebp - 0x38]
inc word [0x46040c]
fnstsw ax
test ah, 5
jp 0x41ec13
mov dword [0x4603d0], 0xcea070ec
cmp edi, 3
jge 0x41eca1
mov esi, 3
sub esi, edi
mov eax, dword [0x46015c]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fstp qword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
fld qword [0x4603c8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4601f4]
mov dword [ebp - 0x18], ecx
fadd qword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
fstp qword [ebp - 0x38]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fsubr qword [ebp - 0x38]
mov eax, dword [0x46025c]
mov dword [ebp + 0xc], eax
fstp qword [ebp - 0x38]
fild dword [ebp + 0xc]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fadd qword [ebp - 0x38]
call fcn.00424a9c
mov dword [0x46025c], eax
mov ecx, ebx
dec dword [0x46015c]
cmp byte [ebp + 0x10], 0
je 0x41ec97
lea eax, [ebp - 0x28]
push eax
call fcn.0041ce80
jmp 0x41ec9e
push 0x3d
call fcn.0040d1b0
dec esi
jne 0x41ec23
push dword [ebp - 0xc]
push 0x41
call fcn.00401160
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret