Function at 0x402bc0
Capabilities:
Encode data using base64
Encrypt data using rc4 ksa

Disassembly:
push ebp
lea ebp, [esp - 0x1dc]
sub esp, 0x25c
mov eax, dword [0x477700]
xor eax, ebp
mov dword [ebp + 0x1d8], eax
mov eax, dword [ebp + 0x1e4]
push ebx
push esi
push edi
push 0x2c
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x60], 0
call fcn.00407e7a
mov esi, dword [ebp + 0x1f0]
mov ebx, eax
mov edi, dword [ebp + 0x1ec]
add esp, 4
xor ecx, ecx
mov dword [ebx], ebx
mov dword [ebx + 4], ebx
mov dword [ebx + 8], ebx
mov word [ebx + 0xc], 0x101
mov dword [ebp - 0x64], ebx
nop dword [eax]
mov eax, ecx
mov byte [ebp + ecx + 0xd8], cl
cdq
idiv esi
mov al, byte [edx + edi]
mov byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 0x100
jl 0x402c20
xor esi, esi
xor edi, edi
mov dl, byte [ebp + esi + 0xd8]
movzx eax, byte [ebp + esi - 0x28]
add edi, eax
movzx ecx, dl
add edi, ecx
and edi, 0x800000ff
jns 0x402c63
dec edi
or edi, 0xffffff00
inc edi
mov al, byte [ebp + edi + 0xd8]
mov byte [ebp + esi + 0xd8], al
inc esi
mov byte [ebp + edi + 0xd8], dl
cmp esi, 0x100
jl 0x402c40
xor edx, edx
xor edi, edi
mov dword [ebp - 0x6c], edx
cmp dword [ebp + 0x1e8], edx
jle 0x402f52
inc edi
and edi, 0x800000ff
jns 0x402ca5
dec edi
or edi, 0xffffff00
inc edi
mov cl, byte [ebp + edi + 0xd8]
movzx esi, cl
add edx, esi
mov dword [ebp - 0x7c], edi
and edx, 0x800000ff
jns 0x402cc4
dec edx
or edx, 0xffffff00
inc edx
mov al, byte [ebp + edx + 0xd8]
xorps xmm0, xmm0
mov byte [ebp + edi + 0xd8], al
lea eax, [ebp - 0x40]
push 4
push eax
movups xmmword [ebp - 0x40], xmm0
push 0x478ab8
mov dword [ebp - 0x80], edx
mov byte [ebp + edx + 0xd8], cl
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x40], 0xa414141
mov byte [ebp - 0x3c], 0
call fcn.00401a40
movzx eax, byte [ebp + edi + 0xd8]
add esp, 0xc
add eax, esi
xor ebx, ebx
movzx eax, al
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x64]
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
xor esi, esi
mov dword [ebp - 0x48], 4
mov dword [ebp - 0x44], 0xf
mov ecx, eax
mov edi, dword [eax + 4]
mov dword [ebp - 0x58], 0x6f72655a
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x70], eax
cmp byte [edi + 0xd], 0
jne 0x402d7d
mov eax, edi
nop dword [eax]
mov edi, eax
cmp dword [eax + 0x10], ebx
jge 0x402d6e
mov eax, dword [eax + 8]
xor esi, esi
jmp 0x402d77
mov ecx, eax
mov esi, 1
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x402d60
cmp byte [ecx + 0xd], 0
jne 0x402d8c
cmp ebx, dword [ecx + 0x10]
jl 0x402d8c
mov al, 1
jmp 0x402d8e
xor al, al
test al, al
jne 0x402de8
cmp dword [ebp - 0x60], 0x5d1745d
je 0x402f85
push 0x2c
call fcn.00407e7a
movups xmm0, xmmword [ebp - 0x58]
mov ecx, dword [ebp - 0x70]
add esp, 4
mov dword [eax + 0x10], ebx
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
movups xmmword [eax + 0x14], xmm0
push eax
movq xmm0, qword [ebp - 0x48]
movq qword [eax + 0x24], xmm0
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x64]
push esi
push edi
mov word [eax + 0xc], 0
call fcn.00403030
imul esi
movsx edi, dx
add dx, si
and dx, cx
rol esi, 0x38
add esi, 0x26a
dec ecx
inc eax
ror esi, 0xa8
or di, ax
inc si
rol cx, 0xe2
inc ebx
dec si
rol edx, 0x63
add ecx, 0x103
and cx, 0x127
mul di
mul di
shr eax, 0xf1
add eax, eax
add ebx, 0x2bd
je 0x402e51
cmp edx, 0x3d
jae 0x402e93
imul dx
mul ecx
xor bx, 0xce
rol si, 0xc7
shr di, 0xe1
xor esi, 0x1b4
rol bx, 0x8a
jmp 0x402e67
rcr eax, 0x62
imul edx
imul di
shr ax, 0xdd
mov edx, 0x1e9
inc dx
imul dx
inc eax
rol edi, 0xd1
shr ax, 0x46
mov cx, bx
dec di
add ax, 0x78
mul cx
jb 0x402e93
test esi, 0x43
jb 0x402ec4
rcl dx, 0xb5
add ebx, 0x3f
add eax, 0x1b7
jmp 0x402eb0
mul cx
ror eax, 0x1f
shr cx, 0xd6
inc bx
inc cx
dec edi
mul eax
imul si
xor bx, 0x1f2
shr ax, 0xb1
shl bx, 0x17
jb 0x402ec4
rol esi, 0x73
mul dx
inc dx
ror dx, 0x50
jmp 0x402edd
ror ebx, 0x71
rcl edi, 0x49
shl bx, 0x6e
xor bx, di
mul ebx
imul esi
xor edi, ebx
dec esi
or dx, 0x92
movzx ebx, cx
inc edx
inc eax
rcr eax, 0x29
mov ebx, dword [ebp - 0x68]
inc ebx
mov dword [ebp - 0x68], ebx
cmp ebx, 0xa
jl 0x402d24
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x6c]
mov al, byte [ebp + eax + 0xd8]
xor byte [ecx + edi], al
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x402f38
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402f2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f8a
push ecx
push edx
call fcn.00407eaa
add esp, 8
inc edi
mov dword [ebp - 0x6c], edi
cmp edi, dword [ebp + 0x1e8]
jge 0x402f4f
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x80]
jmp 0x402c94
mov ebx, dword [ebp - 0x64]
push dword [ebx + 4]
lea eax, [ebp - 0x64]
push eax
mov ecx, eax
call fcn.004019b0
push 0x2c
push dword [ebp - 0x64]
call fcn.00407eaa
mov ecx, dword [ebp + 0x1d8]
add esp, 8
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00407ebd
lea esp, [ebp + 0x1dc]
pop ebp
ret
call fcn.00403520
call fcn.0040c8ef
int3