Function at 0x485f00
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
sub esp, 0x578
mov dword [esp + 0x24], ecx
mov dword [0x645b6c], 1
mov ecx, 0x65ba48
mov byte [0x65ba48], 0
call fcn.00485e10
mov eax, 0x657253
or ecx, 0xffffffff
mov byte [eax - 1], 0xff
mov byte [eax], 0xff
mov word [eax + 5], cx
mov word [eax + 7], cx
add eax, 0xc
cmp eax, 0x65729b
jl 0x485f2a
push ebx
push ebp
push esi
push edi
mov ecx, 0x64f558
call fcn.00432f00
push 3
push 4
mov ecx, 0x65b178
mov dword [0x63b380], 0x4765c0
mov dword [0x63b384], 0x65b178
call fcn.00478360
mov byte [0x65b17a], 1
mov dword [0x65b190], 6
call fcn.00576af5
mov esi, eax
and esi, 0x80000007
jns 0x485f9b
dec esi
or esi, 0xfffffff8
inc esi
mov al, byte [esi + 0x65bae4]
test al, al
jne 0x485f87
mov eax, dword [0x65bae0]
mov byte [esi + 0x65bae4], 1
inc eax
cmp eax, 8
mov dword [0x65bae0], eax
jl 0x485fd2
xor eax, eax
mov dword [0x65bae0], 0
mov dword [0x65bae4], eax
mov dword [0x65bae8], eax
mov edi, dword [0x6215ec]
test edi, edi
je 0x486064
lea ecx, [esp + 0x178]
push str.TanakaFilescharheaderInterFlag.dat
push ecx
call fcn.00404300
add esp, 8
lea edx, [esp + 0x178]
mov ecx, 0x6215e8
push 0x598194
push edx
push edi
call fcn.0041efe0
mov edi, eax
test edi, edi
jne 0x486041
push str.Load_Failed__InterFlag.dat
push 0x64a78c
call fcn.005753d0
add esp, 8
mov ecx, 0x64a678
call fcn.00405d90
mov ecx, 0xc3
xor eax, eax
lea edi, [esp + 0x27c]
rep stosd dword es:[edi], eax
jmp 0x486064
push edi
lea eax, [esp + 0x280]
push 0x30c
push eax
mov ecx, 0x6215e8
call fcn.0041f070
push edi
mov ecx, 0x6215e8
call fcn.0041f0a0
lea ecx, [esi + esi*2]
shl ecx, 2
mov al, byte [ecx + 0x589b9e]
mov dl, byte [ecx + 0x589b9f]
mov esi, dword [ecx + 0x589ba0]
cmp al, 1
mov byte [0x645999], al
mov byte [esp + 0x17], dl
jne 0x486091
or esi, 0x10000
jmp 0x486097
and esi, 0xfffeffff
mov dword [0x645994], esi
mov byte [0x645998], 0
lea eax, [esp + 0x3a]
mov edx, 0x14
mov byte [eax - 2], 0xff
mov byte [eax - 1], 0xff
mov byte [eax], 0xff
mov byte [eax + 1], 0
add eax, 0x10
dec edx
jne 0x4860ad
lea eax, [ecx + 0x589b98]
xor esi, esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], esi
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov dx, word [eax + 4]
mov word [esp + 0x28], dx
mov al, byte [esp + esi + 0x24]
cmp al, 0xff
mov byte [esp + 0x18], al
je 0x4861e2
call fcn.00486b20
test al, al
jne 0x48643d
mov ebp, dword [esp + 0x18]
push 0
and ebp, 0xff
xor eax, eax
mov al, byte [0x645999]
push 5
push ebp
push esi
push eax
call fcn.004864b0
mov al, byte [esp + 0x2b]
add esp, 0x14
test al, al
je 0x4861e2
cmp byte [esi + 0x6459a0], 2
je 0x4861e2
mov ecx, dword [esp + 0x20]
lea edi, [ebp + ebp*2]
shl ecx, 4
lea edi, [edi + edi*8]
xor ebx, ebx
shl edi, 4
sub edi, ebp
lea esi, [esp + ecx + 0x3b]
shl edi, 1
mov cl, byte [edi + ebx + 0x623d2e]
cmp cl, 0x2f
jae 0x4861d4
mov al, byte [edi + ebx + 0x623d32]
mov dl, byte [esp + 0x18]
mov byte [esi - 3], cl
mov cl, byte [esp + 0x10]
cmp al, 2
mov byte [esi - 2], dl
mov byte [esi - 1], cl
jae 0x486187
test al, al
setne dl
mov byte [esi], dl
jmp 0x48619d
call fcn.00576af5
and eax, 0x80000001
jns 0x486198
dec eax
or eax, 0xfffffffe
inc eax
setne al
mov byte [esi], al
call fcn.00576af5
cdq
mov ecx, 0x41
idiv ecx
mov ecx, dword [esp + edx*4 + 0x380]
mov eax, dword [esp + edx*4 + 0x27c]
mov edx, dword [esp + edx*4 + 0x484]
mov dword [esi + 5], ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 1], eax
inc ecx
mov dword [esi + 9], edx
mov dword [esp + 0x20], ecx
add esi, 0x10
inc ebx
cmp ebx, 4
jl 0x486156
mov esi, dword [esp + 0x10]
inc esi
cmp esi, 6
mov dword [esp + 0x10], esi
jl 0x4860e5
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebx
xor esi, esi
xor eax, eax
lea edx, [esp + ebx + 0x24]
mov cl, byte [edx + eax]
cmp cl, 0xff
mov byte [esp + eax + 0x18], cl
je 0x48620f
inc esi
inc eax
cmp eax, 3
jl 0x486202
lea eax, [esp + 0x18]
push esi
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.00486a20
mov esi, eax
add esp, 0xc
test esi, esi
jl 0x4862d2
xor edi, edi
mov cl, byte [esp + edi + 0x2c]
cmp cl, 0xff
je 0x48624b
mov al, byte [esp + 0x10]
mov dl, 3
imul dl
add al, cl
mov byte [esp + edi + 0x2c], al
inc edi
cmp edi, 3
jl 0x486234
mov eax, dword [esp + 0x2e]
mov ecx, dword [esp + 0x2d]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
push 2
push 0
push 0x59d0fc
push 0
push esi
mov ecx, 0x65e990
call fcn.004948e0
push eax
push esi
mov ecx, 0x65a760
call fcn.0045f880
xor ebx, ebx
movsx eax, byte [esp + ebx + 0x18]
cmp eax, 0xff
je 0x4862c6
lea ecx, [eax + eax*2]
push 0
push 0
push 0
lea ecx, [ecx + ecx*8]
push 1
shl ecx, 4
sub ecx, eax
mov dl, byte [ecx*2 + 0x623d05]
push edx
push esi
call fcn.00486aa0
add esp, 4
push eax
mov al, byte [esp + 0x28]
shl al, 1
add al, bl
push eax
call fcn.00486450
add esp, 0x1c
inc ebx
cmp ebx, 3
jl 0x486284
mov ebx, dword [esp + 0x1c]
jmp 0x48634b
mov ebp, ebx
mov dword [esp + 0x1c], 3
xor ecx, ecx
mov cl, byte [esp + ebp + 0x24]
mov edi, ecx
cmp edi, 0xff
je 0x48633f
lea eax, [edi + edi*2]
push 0xff
push 0xff
push ebp
lea esi, [eax + eax*8]
push 1
shl esi, 4
sub esi, edi
push 0
shl esi, 1
push 0x59d0fc
mov ecx, 0x65a760
lea edx, [esi + 0x623a6e]
lea eax, [esi + 0x623a32]
push edx
push eax
push edi
call fcn.0045f880
mov cl, byte [esi + 0x623d05]
push 0
push 0
push 0
push 0
push ecx
push edi
push ebp
call fcn.00486450
add esp, 0x1c
mov eax, dword [esp + 0x1c]
inc ebp
dec eax
mov dword [esp + 0x1c], eax
jne 0x4862dc
mov edx, dword [esp + 0x10]
add ebx, 3
inc edx
cmp ebx, 6
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], ebx
jl 0x4861fa
mov ecx, 0x65b178
call fcn.00479c60
mov eax, dword [esp + 0x20]
test eax, eax
je 0x486422
xor edi, edi
mov bl, 0x40
cmp byte [esp + edi + 0x24], 0xff
jne 0x486418
call fcn.00486b20
test al, al
jne 0x48643d
call fcn.00576af5
cdq
idiv dword [esp + 0x20]
xor ecx, ecx
shl edx, 4
xor eax, eax
mov cl, byte [esp + edx + 0x38]
lea esi, [esp + edx + 0x38]
xor edx, edx
mov dl, byte [esp + eax + 0x24]
cmp ecx, edx
je 0x486396
inc eax
cmp eax, 6
jl 0x4863af
xor eax, eax
push esi
mov al, byte [esi]
xor ecx, ecx
mov cl, byte [0x645999]
push 5
push eax
push edi
push ecx
call fcn.004864b0
mov dl, byte [esi]
add esp, 0x14
mov byte [esp + edi + 0x24], dl
mov byte [edi + 0x64599a], 0
mov ecx, 1
xor eax, eax
xor edx, edx
mov dl, byte [eax + 0x64599a]
cmp ecx, edx
je 0x4863ff
inc eax
cmp eax, 6
jl 0x4863ed
cmp eax, 6
je 0x48640c
inc ecx
cmp ecx, 6
jl 0x4863eb
jmp 0x486412
mov byte [edi + 0x64599a], cl
mov byte [edi + 0x6459a0], bl
inc edi
cmp edi, 6
jl 0x48637e
call fcn.00486b20
test al, al
jne 0x48643d
mov eax, dword [esp + 0x34]
mov byte [eax + 0x102], 1
mov byte [eax + 0x100], 0x21
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x578
ret