Function at 0x41afac
Capabilities:
Encode data using base64

Disassembly:
rol dword [0xfc13b66], 0x84
push ebp
iretd
push ebp
mov ebp, esp
mov eax, 0x11cc
call fcn.00441f50
or dword [ebp - 0x24], 0xffffffff
or dword [ebp - 0x28], 0xffffffff
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov ebx, edx
mov dword [ebp - 0x20], 1
xor edx, edx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x30], edx
mov esi, edx
mov dword [ebp - 4], esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18], edi
test eax, eax
je 0x41b4c6
mov ecx, dword [ebp + 0x10]
mov dword [eax], edx
test ecx, ecx
je 0x457f3c
mov dword [ecx], edx
mov dword [ebp - 0xd8], 0x4b0bb0
mov dword [ebp - 0xd4], 0x4b0cb0
mov dword [ebp - 0xd0], 0x4b0db0
mov dword [ebp - 0xcc], 0x4b0ef0
test ebx, 0xd8008580
jne 0x457f48
mov eax, ebx
mov dword [ebp - 0x74], edx
push 0x28
pop ebx
and eax, 0x10000
cmp word [edi], bx
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], eax
je 0x457f4f
test ebx, 0x800
je 0x45823f
mov dword [ebp - 4], 1
test eax, eax
jne 0x45821c
test ebx, 0x2000
je 0x458223
mov ecx, 0x1800000
mov eax, ebx
and eax, ecx
cmp eax, ecx
je 0x45826e
mov eax, ebx
push 2
pop ecx
and eax, 0x700000
jne 0x458247
mov dword [ebp - 0x54], ecx
xor edx, edx
lea eax, [ebp - 0x11c8]
mov dword [ebp - 0x8c], edx
mov ecx, edx
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0xb0], eax
mov eax, edi
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x9c], 0x800
mov dword [ebp - 0xa0], 0x14
mov dword [ebp - 0xc0], edi
cmp word [edi], dx
je 0x41b122
lea eax, [eax + 2]
inc ecx
cmp word [eax], dx
jne 0x41b119
lea eax, [edi + ecx*2]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0xbc], eax
mov ecx, ebx
lea eax, [edi + esi*2]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x11c8]
mov dword [ebp - 0x1c], eax
mov eax, 0x83
mov word [ebp - 0x11c8], ax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x7c], edx
push eax
push edx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x90], edx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0xb4], edx
push eax
lea eax, [ebp - 8]
mov dword [ebp - 0x78], ebx
push eax
lea eax, [ebp - 0x3c]
push eax
push edx
push edx
push edx
push edx
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x1c]
call fcn.0041b4ca
mov esi, dword [ebp - 0x30]
add esp, 0x34
test esi, esi
jne 0x458271
cmp dword [ebp - 0x20], 0x10000
jg 0x4582d2
mov eax, dword [ebp - 0xa4]
imul eax, dword [ebp - 0xa8]
add eax, dword [ebp - 0x20]
lea esi, [eax*2 + 0x38]
push esi
call fcn.004091b2
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4582d6
mov dword [ebx + 4], esi
xor esi, esi
mov dword [ebx], 0x50435245
mov eax, dword [ebp - 0x78]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
push 0x1c
pop eax
mov word [ebx + 0x22], ax
mov ax, word [ebp - 0xa4]
mov word [ebx + 0x24], ax
mov ax, word [ebp - 0xa8]
mov word [ebx + 0x26], ax
xor eax, eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x90], esi
movzx eax, word [ebx + 0x22]
lea edx, [ebx + eax*2]
mov dword [ebp - 0xac], edx
movzx eax, word [ebx + 0x26]
movzx ecx, word [ebx + 0x24]
imul ecx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
lea edi, [edx + ecx*2]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xb4], esi
test eax, eax
jg 0x4582da
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, 0x83
push esi
mov word [edi], ax
lea eax, [ebp - 0xd8]
push eax
push esi
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x1c], edi
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push esi
push esi
push esi
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0041b4ca
mov ax, word [ebp - 0x98]
add esp, 0x34
mov word [ebx + 0x1e], ax
mov ax, word [ebp - 0x8c]
mov word [ebx + 0x20], ax
mov ax, word [ebp - 0x90]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x74]
or eax, 2
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x6c], 0
jne 0x45832b
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x30]
xor edx, edx
test esi, esi
jne 0x41b333
mov eax, dword [ebp - 0x18]
cmp word [eax], dx
jne 0x45833b
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x1c], eax
sub eax, edi
sar eax, 1
cmp eax, dword [ebp - 0x20]
jg 0x458343
invalid
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
cmp eax, ecx
ja 0x45834b
cmp dword [ebp - 0x9c], 0x800
jg 0x4583dc
add byte [ebx], dh
ror byte [ecx - 0xc77b], 0xff
xor eax, eax
mov dword [ebp - 0xc8], eax
test esi, esi
jne 0x4583ef
mov ax, word [ebx + 0x20]
cmp ax, word [ebx + 0x1e]
ja 0x4583e8
test dword [ebp - 0xc], 0x20000
mov esi, dword [ebp - 4]
jne fcn.0041b3ad
lea eax, [ebp - 0xd8]
mov edx, esi
push eax
mov ecx, edi
call fcn.0041c960
pop ecx
xor eax, eax
jns 0x457f1f
xor esi, esi
inc esi
mov edi, eax
jmp 0x457f27
cmp edi, eax
jne 0x7641af80
movzx eax, word [ebx + 2]
push 0x77
pop edx
lea ebx, [ebx + eax*2]
cmp word [ebx], dx
jne 0x457f3d
mov eax, edx
jmp 0x41af03
dec dword [ebx + 0x3089e845]
mov eax, dword [ebp - 0x18]
mov dword [eax], esi
mov eax, edi
jmp 0x7641af82
jne 0x457f16
int3
push 0x4a
pop esi
jmp 0x45828d
mov edi, ecx
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov ecx, dword [ebp + 0x10]
jmp 0x7641b05b
or edx, 0xffffffff
mov ecx, edi
call 0x7549b9ec
mov dword [ebp - 0x30], eax
pop ecx
test eax, eax
je 0x7641b082
rcr byte [ecx - 0x7b], 1
ror byte [edi], 0x84
cmp dword [esi], ebp
cld
jne 0x458233
jmp 0x457f4f
add ebp, edi
invalid
inc eax
jmp 0x82aee8
sub al, 0x3d
add byte [eax], al
push eax
add byte [edi], cl
test byte [esi], ah
cld
jne 0x4582e8
cmp byte [esi - 0x75], bl
inc ebp
call 0x2b55d012
inc ebp
invalid
add byte [eax], al
pop eax
mov dword [ebp - 0x54], edx
push ebp
lodsb al, byte [esi]
mov word [ebp - 0x4c], ax
jmp 0x7641b0a8
inc ebp
mov ah, 0xe9
invalid
xchg esi, eax
mov dword [ebp - 0xa8], esi
mov edi, eax
mov esi, dword [ebp - 0xb0]
add esi, 4
push dword [esi + 4]
mov edx, dword [esi - 4]
lea ecx, [ebp - 0x2200d8]
push dword [esi]
call fcn.0049a567
dec edi
lea esi, [esi + 0xc]
pop ecx
pop ecx
test edi, edi
jg 0x4582fa
mov edi, dword [ebp - 0x28]
xor esi, esi
cmp dword [ebp - 0x22a0], 0x14
jle 0x41b2a9
push dword [ebp - 0xb0]
call fcn.004091ca
pop ecx
jmp 0x41b2a9
push eax
invalid
invalid
inc ebp
fsub st(1), st(0)
jecxz 0x458377
cld
jmp [edx + 0x16]
push ss
pop esi
jmp 0x41b342
invalid
jmp 0x41b371
das
cld
jne 0x45843d
call fcn.004091ca
pop ecx
jmp 0x7641b381
sti
call [ecx - 0x17]
mov ch, byte [edi]
cld
jne 0x458462
por mm0, qword [edx]
xor edx, edx
cmp word [eax + 2], dx
jne 0x458479
movzx edi, word [eax - 2]
xor ecx, ecx
push edx
movzx esi, word [eax + edi*2 - 4]
mov word [eax + edi*2 - 4], cx
lea ecx, [ebp - 0x2200d8]
mov edx, dword [ebx + 8]
push ecx
shr edx, 0xb
mov ecx, eax
push 1
and edx, 1
call fcn.0049aab7
mov ecx, eax
pinsrw mm1, word [ebx + ecx*4], 0x45
in al, dx
mov word [eax + edi*2 - 4], si
test ecx, ecx
invalid
js 0x458495
cmp ecx, dword [ebp - 0x220090]
jle 0x458472
mov dword [ebp - 0x220090], ecx
mov esi, dword [ebp - 4]
mov word [eax + 2], cx
push 0xffffffffffffffff
lea ecx, [eax + 4]
mov edx, esi
call 0x7549a3a9
mov dword [ebp - 0x14], eax
pop ecx
test eax, eax
jne 0x458421
mov edi, dword [ebp - 0x28]
jmp 0x41b3c6
cmp ecx, 0xfffffffe
je 0x2383fb
xor eax, eax
cmp ecx, 0xfffffffc
setne al
dec eax
and eax, 0x2d