Function at 0x42f8f0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebx, 0x4ad1d0
push esi
push edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0x4c3458
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0x4ad4d0
mov esi, 0x4aa3d0
lea ebp, [esi - 0x378]
mov ecx, 0xe2
xor eax, eax
mov edi, ebp
rep stosd dword es:[edi], eax
mov al, byte [esp + 0x10]
push ebp
mov byte [esi - 3], al
call fcn.0040a650
mov ecx, dword [esp + 0x18]
mov byte [esi], 1
mov dword [esi - 0x184], 0xe6a00
mov byte [esi - 0xd], 2
mov dword [esi - 0x1c0], ecx
mov dword [esi - 0x1bc], ebx
movsx edx, word [ebx + 0x78]
mov dword [esi - 0x54], edx
add esp, 4
mov byte [esi + 8], 0xff
lea edx, [esi - 7]
mov eax, 0x40
lea ecx, [esi - 0x168]
mov byte [edx], 0xff
mov ebx, dword [esi - 0x1c0]
mov edi, eax
add eax, 8
add edi, ebx
add ecx, 8
inc edx
cmp eax, 0x60
mov ebx, dword [edi]
mov dword [ecx - 8], ebx
mov edi, dword [edi + 4]
mov dword [ecx - 4], edi
jl 0x42f978
cmp esi, 0x4ab900
jge 0x42f9df
mov eax, dword [esp + 0x10]
push ebp
mov byte [eax + 0x4ad1c8], al
call fcn.00405f20
mov eax, dword [ebp + 0x1bc]
add esp, 4
mov ecx, 2
add eax, 0x42
cmp word [eax], 0x270f
jge 0x42f9d5
inc ecx
add eax, 2
cmp ecx, 8
jl 0x42f9c5
inc cl
mov byte [ebp + 0x36c], cl
jmp 0x42f9f7
mov eax, dword [esi - 0x1c0]
push ebp
mov word [eax + 0x88], 0x20
call fcn.00443370
add esp, 4
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
add esi, 0x388
mov ecx, dword [eax]
add edi, 0x8c
mov dword [ebp + 0x1b0], ecx
mov ebp, dword [esp + 0x10]
inc ebp
add ebx, 0x80
add eax, 4
cmp esi, 0x4ad540
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
jl 0x42f91d
mov eax, dword [0x4a9ed0]
test eax, eax
je 0x42fafa
mov dword [0x466250], 0x800
mov esi, 0x4aa214
mov ecx, dword [esi]
add esi, 0x388
movsx edx, word [ecx + 0x68]
mov eax, edx
shl eax, 6
add eax, edx
lea eax, [eax + eax*4]
shl eax, 1
cdq
and edx, 0xff
add eax, edx
mov dx, word [ecx + 0x78]
shl dx, 2
mov word [ecx + 0x78], dx
movsx edx, word [ecx + 0x2c]
sar eax, 8
mov word [ecx + 0x68], ax
lea eax, [edx + edx*2]
shl eax, 5
sub eax, edx
shl eax, 2
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov word [ecx + 0x2c], ax
movsx eax, word [ecx + 0x6e]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
shl eax, 1
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov word [ecx + 0x6e], ax
movsx eax, word [ecx + 0x70]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 4
cdq
and edx, 0xff
add eax, edx
sar eax, 8
cmp esi, 0x4ab744
mov word [ecx + 0x70], ax
jl 0x42fa5d
jmp 0x42fb6d
mov eax, dword [0x4a9ed4]
test eax, eax
je 0x42fb0f
mov dword [0x466250], 0x5dc
jmp 0x42fb6d
mov dword [0x466250], 0x76c
mov esi, 0x4aa214
mov ecx, dword [esi]
add esi, 0x388
movsx eax, word [ecx + 0x68]
imul eax, eax, 0x168
cdq
and edx, 0xff
add eax, edx
sar eax, 8
mov word [ecx + 0x68], ax
mov ax, word [ecx + 0x78]
shl ax, 1
mov word [ecx + 0x78], ax
movsx eax, word [ecx + 0x2c]
imul eax, eax, 0x12c
cdq
and edx, 0xff
add eax, edx
sar eax, 8
cmp esi, 0x4ab744
mov word [ecx + 0x2c], ax
jl 0x42fb1e
mov esi, 0x4aa3c4
xor edi, edi
mov dword [esp + 0x20], esi
cmp byte [edi + 0x4a9d44], 1
jne 0x42fd39
mov ecx, dword [esi - 0x1b0]
mov eax, dword [edi + 0x4adcc0]
mov bx, word [ecx + 0x6e]
movsx edx, bx
imul eax, edx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
sub word [ecx + 0x70], ax
add ebx, eax
xor eax, eax
mov word [ecx + 0x6e], bx
mov al, byte [esi]
mov ebp, eax
cmp ebp, 2
mov dword [esp + 0x18], ebp
jle 0x42fc55
lea ebx, [ebp - 3]
add ebp, 0xfffffffe
lea esi, [ecx + 0x32]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebp
mov edx, dword [edi + 0x4adc90]
test edx, edx
jle 0x42fc09
movsx eax, word [esi]
imul eax, edx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
imul eax, ebx
cdq
idiv dword [esp + 0x1c]
mov edx, eax
mov ax, word [esi]
add edx, eax
mov word [esi], dx
jmp 0x42fc3a
mov bp, word [esi]
mov eax, 0x2aaaaaab
movsx edx, bp
imul edx, dword [edi + 0x4adc90]
imul edx
mov eax, edx
sar eax, 7
mov edx, eax
shr edx, 0x1f
add eax, edx
imul eax, ebx
cdq
idiv dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
add eax, ebp
mov word [esi], ax
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
add esi, 2
dec ebx
dec eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
jne 0x42fbd9
mov esi, dword [esp + 0x20]
mov eax, dword [edi + 0x4adca8]
movsx edx, word [ecx + 0x74]
add eax, 0x800
imul eax, edx
cdq
and edx, 0x7ff
add eax, edx
sar eax, 0xb
mov word [ecx + 0x74], ax
mov ebx, dword [edi + 0x4adca8]
movsx eax, word [ecx + ebp*2 + 0x2c]
shl eax, 0xb
cdq
add ebx, 0x800
idiv ebx
mov word [ecx + ebp*2 + 0x2c], ax
mov ebx, dword [edi + 0x4adca8]
movsx eax, word [ecx + ebp*2 + 0x2a]
shl eax, 0xc
cdq
add ebx, 0x1000
idiv ebx
mov word [ecx + ebp*2 + 0x2a], ax
mov edx, dword [edi + 0x4adca8]
mov eax, 0x200
sub eax, edx
movsx edx, word [ecx + 0x6a]
imul eax, edx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov word [ecx + 0x6a], ax
mov edx, dword [edi + 0x4adc78]
test edx, edx
jl 0x42fd18
mov bx, word [ecx + 0x2c]
movsx eax, bx
imul eax, edx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
add eax, ebx
mov word [ecx + 0x2c], ax
mov ecx, dword [esi - 0x48]
mov eax, ecx
imul eax, dword [edi + 0x4adc78]
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
add eax, ecx
mov dword [esi - 0x48], eax
jmp 0x42fd39
mov bp, word [ecx + 0x2c]
mov eax, 0x2aaaaaab
movsx ebx, bp
imul ebx, edx
imul ebx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, ebp
mov word [ecx + 0x2c], dx
add esi, 0x388
add edi, 4
cmp esi, 0x4ab8f4
mov dword [esp + 0x20], esi
jl 0x42fb78
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret