Function at 0x1005c8b0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push 0xffffffffffffffff
push 0x101526c2
mov eax, dword fs:[0]
push eax
sub esp, 0x158
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x154], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
xor eax, esp
push eax
lea eax, [esp + 0x16c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x17c]
xor edi, edi
push 0xff
lea ecx, [esp + 0x6d]
push edi
mov dword [esp + 0x54], edi
push ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], eax
mov byte [esp + 0x74], 0
call fcn.100f4ed0
add esp, 0xc
test ebx, ebx
test cl, cl
push ecx
pop ecx
xor ebx, ebx
xor ebp, ebp
push ebx
pop ebx
mov dh, dh
push ebx
pop ebx
mov dword [esp + 0x14], edi
push ebx
pop ebx
test eax, 0x6346
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x19c]
lea edx, [esp + 0x24]
push edx
mov edx, dword [esp + 0x19c]
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x19c]
push ecx
mov ecx, dword [esp + 0x19c]
push edx
mov edx, dword [esp + 0x6c]
push eax
push ecx
push edx
call fcn.1003cc50
add esp, 0x28
test eax, eax
jne 0x1005c9bc
lea eax, [esp + 0x68]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], edi
mov byte [esi + 4], bl
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1005c998
sub eax, edx
push eax
lea eax, [esp + 0x6c]
push eax
mov ecx, esi
call fcn.1000a1e0
mov dword [esp + 0x174], edi
jmp 0x1005cb00
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
xor edx, edx
test eax, eax
jle 0x1005ca29
lea ebx, [ebx]
xor ecx, ecx
test esi, esi
jle 0x1005ca22
jmp 0x1005c9e0
mov eax, edx
imul eax, dword [esp + 0x18]
add eax, dword [esp + 0x14]
lea eax, [eax + ecx*4]
mov ah, ah
test ch, ch
mov eax, dword [eax]
mov edx, edx
mov esi, eax
shr esi, 0x10
and esi, 0xff
add edi, esi
mov al, al
movzx esi, ah
add ebp, esi
mov edx, edx
movzx eax, al
add ebx, eax
test eax, eax
mov esi, dword [esp + 0x28]
add ecx, 1
cmp ecx, esi
jl 0x1005c9e0
mov eax, dword [esp + 0x2c]
add edx, 1
cmp edx, eax
jl 0x1005c9d0
imul esi, eax
mov eax, edi
xor edx, edx
div esi
mov esi, eax
mov edi, edi
mov ecx, dword [esp + 0x28]
imul ecx, dword [esp + 0x2c]
mov eax, ebp
xor edx, edx
div ecx
mov edi, eax
test esi, esi
mov ecx, dword [esp + 0x28]
imul ecx, dword [esp + 0x2c]
mov eax, ebx
xor edx, edx
div ecx
mov ebx, eax
test ch, ch
mov edx, dword [esp + 0x14]
push edx
call fcn.100f3efb
xor ebp, ebp
add esp, 4
mov dword [esp + 0x14], ebp
test ecx, ecx
mov dl, 0x30
mov cl, 0x32
mov al, 0x78
mov byte [esp + 0x58], 0x25
mov byte [esp + 0x59], dl
mov byte [esp + 0x5a], cl
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], 0x25
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], cl
mov byte [esp + 0x5f], al
mov byte [esp + 0x60], 0x25
mov byte [esp + 0x61], dl
mov byte [esp + 0x62], cl
mov byte [esp + 0x63], al
mov byte [esp + 0x64], 0
push edx
pop edx
push ebx
push edi
push esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.100f5cb0
add esp, 0x14
mov ebp, ebp
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x68]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebp
mov byte [esi + 4], 0
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1005cae1
sub eax, ecx
push eax
lea edx, [esp + 0x6c]
push edx
mov ecx, esi
call fcn.1000a1e0
mov dword [esp + 0x174], ebp
mov dword [esp + 0x4c], 1
mov eax, esi
mov ecx, dword [esp + 0x16c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x154]
xor ecx, esp
call fcn.100f43d6
add esp, 0x164
ret