Function at 0xb001040
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov dword [ebp - 8], 0
jmp 0xb00105b
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x100
jge 0xb001073
mov ecx, dword [ebp - 8]
mov dl, byte [ebp - 8]
mov byte [ebp + ecx - 0x108], dl
jmp 0xb001052
mov dword [ebp - 0x114], 0
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
jmp 0xb001096
mov eax, dword [ebp - 8]
add eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x100
jge 0xb001126
mov ecx, dword [ebp - 8]
movsx edx, byte [ebp + ecx - 0x108]
add edx, dword [ebp - 0x114]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
add edx, ecx
and edx, 0xff
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0xc]
jb 0xb0010e3
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 8]
mov dl, byte [ebp + ecx - 0x108]
mov byte [ebp - 0x115], dl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x114]
mov dl, byte [ebp + ecx - 0x108]
mov byte [ebp + eax - 0x108], dl
mov eax, dword [ebp - 0x114]
mov cl, byte [ebp - 0x115]
mov byte [ebp + eax - 0x108], cl
xor edx, edx
jne 0xb0010e3
jmp 0xb00108d
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 8], eax
mov dword [ebp - 0x10c], 0
jmp 0xb001154
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp + 0x10]
jge 0xb0011cd
mov eax, dword [ebp - 8]
add eax, 1
and eax, 0xff
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ebp + ecx - 0x108]
add edx, dword [ebp - 0x114]
and edx, 0xff
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 8]
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp - 0x116], cl
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x114]
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + edx - 0x108], cl
mov edx, dword [ebp - 0x114]
mov al, byte [ebp - 0x116]
mov byte [ebp + edx - 0x108], al
xor ecx, ecx
jne 0xb00118a
jmp 0xb001145
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], 0
jmp 0xb0011f1
mov eax, dword [ebp - 0x10c]
add eax, 1
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp + 0x18]
jge 0xb0012ba
mov edx, dword [ebp - 8]
add edx, 1
and edx, 0xff
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
movsx ecx, byte [ebp + eax - 0x108]
add ecx, dword [ebp - 0x114]
and ecx, 0xff
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 8]
mov al, byte [ebp + edx - 0x108]
mov byte [ebp - 0x117], al
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x114]
mov al, byte [ebp + edx - 0x108]
mov byte [ebp + ecx - 0x108], al
mov ecx, dword [ebp - 0x114]
mov dl, byte [ebp - 0x117]
mov byte [ebp + ecx - 0x108], dl
xor eax, eax
jne 0xb00122c
mov ecx, dword [ebp - 8]
movsx edx, byte [ebp + ecx - 0x108]
mov eax, dword [ebp - 0x114]
movsx ecx, byte [ebp + eax - 0x108]
add edx, ecx
and edx, 0xff
movsx edx, byte [ebp + edx - 0x108]
mov eax, dword [ebp - 0x110]
movsx ecx, byte [eax]
xor ecx, edx
mov edx, dword [ebp - 0x110]
mov byte [edx], cl
mov eax, dword [ebp - 0x110]
add eax, 1
mov dword [ebp - 0x110], eax
jmp 0xb0011e2
mov esp, ebp
pop ebp
ret