Function at 0x419e2b
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x440
mov esi, dword [esp + 0x46c]
mov edi, dword [esp + 0x470]
push dword [esp + 0x474]
push 4
call fcn.0041abdc
pop ebp
test eax, eax
pop edx
jne 0x41a182
push dword [esp + 0x478]
push 4
call fcn.0041abdc
pop ecx
test eax, eax
pop ebx
jne 0x41a182
mov eax, dword [esp + 0x474]
shl eax, 2
push eax
call fcn.0041ac1c
mov dword [esp + 0x34], eax
test eax, eax
pop edx
je 0x41a182
mov eax, dword [esp + 0x478]
shl eax, 2
push eax
call fcn.0041ac1c
mov dword [esp + 0x30], eax
test eax, eax
pop ebp
je 0x41a182
xor ebx, ebx
cmp ebx, dword [esp + 0x474]
jge 0x419ef0
lea ecx, [ebx + 1]
mov eax, esi
imul eax, ecx
mov dword [esp + 0x28], eax
cdq
idiv dword [esp + 0x474]
mov dword [esp + 0x24], eax
mov eax, esi
imul eax, ebx
cdq
idiv dword [esp + 0x474]
sub dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
mov dword [eax + ebx*4], edx
mov ebx, ecx
jmp 0x419eaf
xor ebx, ebx
cmp ebx, dword [esp + 0x478]
jge 0x419f33
lea ecx, [ebx + 1]
mov eax, edi
imul eax, ecx
mov dword [esp + 0x1c], eax
cdq
idiv dword [esp + 0x478]
mov dword [esp + 0x18], eax
mov eax, edi
imul eax, ebx
cdq
idiv dword [esp + 0x478]
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
mov dword [eax + ebx*4], edx
mov ebx, ecx
jmp 0x419ef2
xor ebx, ebx
mov dword [esp + ebx*4 + 0x40], 0xffffffff
inc ebx
cmp ebx, 0xff
jle 0x419f35
mov edx, dword [esp + 0x468]
mov eax, dword [esp + 0x460]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
mov eax, edx
add eax, dword [esp + 0x478]
cmp edx, eax
jge 0x41a16e
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0x34], 0
mov edx, dword [esp]
xor eax, eax
cmp eax, dword [edx]
jge 0x41a14e
mov edi, dword [esp + 0x464]
mov edx, dword [esp + 0x474]
mov ebp, dword [esp + 0x45c]
lea eax, [edi + edx]
cmp edi, eax
jge 0x41a138
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0xc], edx
je 0x41a11c
mov eax, dword [esp + 0x454]
cmp dword [eax + 0x1c38], 0
je 0x41a03b
mov edx, dword [esp + 0x458]
mov eax, dword [edx + 0x1010]
cmp dword [edx + 0x1c38], 0
mov dword [esp + 8], eax
jne 0x41a019
push dword [esp + 0x3c]
push edi
push edx
call fcn.00419d02
add esp, 0xc
mov ebx, eax
push dword [esp + 0x3c]
push edi
push dword [esp + 0x460]
call fcn.00419d51
add esp, 0xc
mov esi, eax
cmp dword [esp + 8], ebx
jmp 0x41a033
push dword [esp + 0x3c]
push edi
push dword [esp + 0x460]
call fcn.00419d51
add esp, 0xc
mov esi, eax
cmp dword [esp + 8], eax
jne 0x41a0f3
jmp 0x41a060
push dword [esp + 0x3c]
push edi
push dword [esp + 0x460]
call fcn.00419d02
add esp, 0xc
mov ebx, eax
mov edx, dword [esp + 0x458]
cmp dword [edx + 0x1010], eax
jne 0x41a069
add ebp, dword [esp + 0xc]
jmp 0x41a11c
mov eax, dword [esp + 0x458]
cmp dword [eax + 0x1c38], 0
je 0x41a0aa
mov eax, ebx
and eax, 0x7f000000
sar eax, 0x18
push eax
movzx eax, bl
push eax
movzx eax, bh
push eax
mov eax, ebx
and eax, 0xff0000
sar eax, 0x10
push eax
push dword [esp + 0x464]
call fcn.00419b8b
mov esi, eax
add esp, 0x14
jmp 0x41a0f3
cmp dword [esp + ebx*4 + 0x40], 0xffffffff
jne 0x41a0ef
mov edx, dword [esp + 0x458]
mov eax, ebx
cmp dword [esp + 0x454], edx
je 0x41a0eb
push dword [edx + ebx*4 + 0x1838]
push dword [edx + ebx*4 + 0x810]
push dword [edx + ebx*4 + 0x410]
push dword [edx + ebx*4 + 0x10]
push dword [esp + 0x464]
call fcn.00419b8b
add esp, 0x14
mov dword [esp + ebx*4 + 0x40], eax
mov esi, dword [esp + ebx*4 + 0x40]
mov eax, dword [esp + 4]
xor ebx, ebx
cmp ebx, dword [eax]
jge 0x41a11c
push esi
inc ebx
push dword [esp + 0x3c]
push ebp
inc ebp
push dword [esp + 0x460]
call fcn.00419cc5
add esp, 0x10
mov edx, dword [esp + 4]
cmp ebx, dword [edx]
jmp 0x41a0fb
add dword [esp + 4], 4
inc edi
mov eax, dword [esp + 0x464]
add eax, dword [esp + 0x474]
cmp edi, eax
jl 0x419fb1
inc dword [esp + 0x34]
mov eax, dword [esp]
inc dword [esp + 0x38]
mov edx, dword [esp + 0x34]
cmp edx, dword [eax]
jmp 0x419f83
inc dword [esp + 0x3c]
mov eax, dword [esp + 0x468]
add eax, dword [esp + 0x478]
add dword [esp], 4
cmp dword [esp + 0x3c], eax
jl 0x419f74
push dword [esp + 0x30]
call fcn.0041ac37
push dword [esp + 0x30]
call fcn.0041ac37
pop ebx
pop esi
add esp, 0x440
pop ebx
pop esi
pop edi
pop ebp
ret