Function at 0x469790
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, 0x17c8
call fcn.004b13e0
mov ecx, dword [0x517dec]
push ebx
xor eax, eax
push ebp
push esi
cmp ecx, eax
push edi
mov byte [esp + 0x44], 0xff
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x3c], 0xff
mov byte [0x786fec], al
mov dword [esp + 0x10], eax
jbe 0x469b12
mov eax, dword [0x517de8]
mov esi, 0x547df0
mov ebp, 0x319
xor ebx, ebx
test eax, eax
jbe 0x469af8
mov eax, dword [esp + 0x18]
lea ecx, [esp + eax*4 + 0x838]
mov dword [esp + 0x14], ecx
mov edx, dword [esi]
lea ecx, [ebx + edx]
xor edx, edx
lea eax, [ecx + ecx*2]
shl eax, 2
mov dx, word [eax + 0x517df0]
mov edi, dword [eax + 0x517df4]
cmp edi, 0x2d
mov edx, dword [edx*4 + 0x786ff8]
mov dword [eax + 0x517df4], edx
ja case.0x469829.10
xor eax, eax
mov al, byte [edi + 0x46a2c8]
jmp dword [eax*4 + 0x46a29c]
lea eax, [ecx + ecx*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x216000
jmp case.0x469829.0
lea eax, [ecx + ecx*2]
shl eax, 2
mov word [eax + 0x517df0], 0x2ed
mov dword [eax + 0x517df4], 0x416000
jmp case.0x469829.0
mov ecx, dword [esp + 0x10]
push ecx
push ebx
push str.SuperDense_spice_found_on_map__d__d
push str.Setup.cpp
call fcn.0042b590
add esp, 0x10
jmp case.0x469829.0
cmp byte [0x786fec], 8
jb 0x4698a2
push str.Too_many_flags_on_map
push str.Setup.CPP
call fcn.0042b590
add esp, 8
mov eax, dword [0x786fec]
mov edx, dword [esp + 0x10]
and eax, 0xff
mov dword [eax*8 + 0x6d7ba8], ebx
mov dword [eax*8 + 0x6d7bac], edx
mov byte [eax + 0x782aa0], 0
mov al, byte [0x786fec]
inc al
mov byte [0x786fec], al
jmp case.0x469829.0
push 5
push 4
push 7
push 0x1572
push str.C:MsDevProjectsJuly2000codeSetup.cpp
call fcn.00448460
xor edx, edx
mov ecx, 0x3e8
div ecx
add esp, 8
add edx, 0x7d0
push edx
mov edx, dword [esp + 0x20]
push edx
push ebx
call fcn.0044e8e0
mov edx, dword [esi]
mov eax, ebx
add eax, edx
add esp, 0x18
lea eax, [eax + eax*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x217000
jmp case.0x469829.0
push 0xa
push 4
push 7
push 0x1578
push str.C:MsDevProjectsJuly2000codeSetup.cpp
call fcn.00448460
xor edx, edx
mov ecx, 0x3e8
div ecx
add esp, 8
add edx, 0x7d0
push edx
mov edx, dword [esp + 0x20]
push edx
push ebx
call fcn.0044e8e0
mov edx, dword [esi]
mov eax, ebx
add eax, edx
add esp, 0x18
lea eax, [eax + eax*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x217000
jmp case.0x469829.0
push 0x19
push 4
push 7
push 0x157e
push str.C:MsDevProjectsJuly2000codeSetup.cpp
call fcn.00448460
xor edx, edx
mov ecx, 0x3e8
div ecx
add esp, 8
add edx, 0x7d0
push edx
mov edx, dword [esp + 0x20]
push edx
push ebx
call fcn.0044e8e0
mov edx, dword [esi]
mov eax, ebx
add eax, edx
add esp, 0x18
lea eax, [eax + eax*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x217000
jmp case.0x469829.0
push 0x32
push 4
push 7
push 0x1584
push str.C:MsDevProjectsJuly2000codeSetup.cpp
call fcn.00448460
xor edx, edx
mov ecx, 0x3e8
div ecx
add esp, 8
add edx, 0x7d0
push edx
mov edx, dword [esp + 0x20]
push edx
push ebx
call fcn.0044e8e0
mov edx, dword [esi]
mov eax, ebx
add eax, edx
add esp, 0x18
lea eax, [eax + eax*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x217000
jmp case.0x469829.0
push 0xff
push 4
push 7
push 0x158a
push str.C:MsDevProjectsJuly2000codeSetup.cpp
call fcn.00448460
xor edx, edx
mov ecx, 0x3e8
div ecx
add esp, 8
add edx, 0x7d0
push edx
mov edx, dword [esp + 0x20]
push edx
push ebx
call fcn.0044e8e0
mov edx, dword [esi]
mov eax, ebx
add eax, edx
add esp, 0x18
lea eax, [eax + eax*2]
shl eax, 2
mov word [eax + 0x517df0], bp
mov dword [eax + 0x517df4], 0x217000
jmp case.0x469829.0
mov ecx, dword [edi*4 + 0x6d7de8]
cmp ecx, 0xffffffff
je case.0x469829.0
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x10]
sub edi, 0x3c
mov byte [esp + edx + 0x68], bl
mov byte [esp + edx + 0x450], al
je 0x469ad4
dec edi
je 0x469ac8
mov eax, dword [esp + 0x14]
dec edi
je 0x469ac0
mov dword [eax], ecx
jmp 0x469ade
mov dword [eax], 0x800000ca
jmp 0x469ade
mov eax, dword [esp + 0x14]
mov dword [eax], 0x800000c9
jmp 0x469ade
mov eax, dword [esp + 0x14]
mov dword [eax], 0x800000c8
inc edx
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov eax, dword [0x517de8]
inc ebx
cmp ebx, eax
jb 0x4697f1
mov ecx, dword [esp + 0x10]
mov edx, dword [0x517dec]
inc ecx
add esi, 4
cmp ecx, edx
mov dword [esp + 0x10], ecx
jb 0x4697d8
call fcn.00462140
cmp byte [0x786fec], 8
je 0x469b53
cmp dword [0x797e34], 1
je 0x469b32
mov al, byte [0x7984c4]
test al, al
je 0x469b53
mov ecx, dword [0x786fec]
and ecx, 0xff
push ecx
push 8
push str.Map_needs__d_flags__found__d_
push str.Setup.cpp
call fcn.0042b590
add esp, 0x10
mov edx, dword [0x517de8]
mov eax, dword [0x517dec]
lea ecx, [esp + 0x58]
xor esi, esi
push ecx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], eax
call fcn.0044ec50
nop
nop
nop
nop
nop
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esp + 0x18], esi
jbe 0x469d2b
lea ebp, [esp + 0x838]
mov eax, dword [ebp]
mov edx, eax
shr edx, 0x10
jmp fcn.008d4f00
jmp loc.008d6650