Function at 0x10002799
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 0x1c], 0x10003c65
mov eax, dword [0x1000b258]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov dword [0x1000a228], eax
call fcn.10004c49
mov eax, dword [0x1000b258]
sub eax, dword [ebp - 0x14]
mov dword [0x1000a248], eax
mov eax, dword [0x1000a248]
sub eax, 0xf5000
mov dword [0x1000a248], eax
cmp dword [0x1000a248], 0
jge 0x10002824
mov eax, dword [0x1000b2fc]
mov dword [0x1000a248], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x6c4]
mov dword [0x1000a20c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x6c8]
mov dword [0x1000a210], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x6cc]
mov dword [0x1000a214], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x6d0]
mov dword [0x1000a218], eax
jmp 0x10002847
mov eax, dword [0x1000a248]
sub eax, dword [0x1000b2fc]
add eax, dword [ebp - 0x20]
mov dword [0x1000a030], eax
mov eax, dword [0x1000a030]
add eax, dword [0x1000b280]
mov dword [0x1000a030], eax
mov eax, dword [0x1000a248]
sub eax, dword [0x1000b2fc]
mov dword [0x1000a030], eax
push 0x40
push 0x3000
push 0x400
push 0
call dword [0x1000b268]
mov dword [0x1000b274], eax
and dword [0x1000a230], 0
jmp 0x10002884
mov eax, dword [0x1000a230]
inc eax
mov dword [0x1000a230], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [0x1000a230]
cmp ecx, dword [eax + 0x6d4]
jae 0x100029f8
mov dword [0x1000b330], 0x10001344
mov dword [0x1000b334], 0x10001d49
mov dword [0x1000b338], 0x10002a2a
mov dword [0x1000b33c], 0x10003350
mov dword [0x1000b340], 0x10004344
mov dword [0x1000b344], 0x10004cd1
mov dword [0x1000b348], 0x1000562e
mov dword [0x1000b34c], 0x10005f33
mov eax, dword [0x1000a230]
add eax, dword [0x1000a030]
mov ecx, dword [ebp - 0x1c]
movzx eax, word [ecx + eax*2 + 0x20]
mov dword [0x1000a224], eax
and dword [0x1000a234], 0
jmp 0x10002915
mov eax, dword [0x1000a234]
inc eax
mov dword [0x1000a234], eax
mov eax, dword [0x1000a234]
cmp eax, dword [0x1000a224]
ja 0x10002965
mov eax, dword [0x1000a238]
and eax, 0xf
mov dword [0x1000a238], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [0x1000a238]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1000b32c]
inc eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [0x1000a238]
movzx ecx, byte [ecx + 0x10]
mov dword [ecx*4 + 0x1000b32c], eax
mov eax, dword [0x1000a238]
inc eax
mov dword [0x1000a238], eax
jmp 0x1000290a
mov eax, dword [0x1000a238]
dec eax
mov dword [0x1000a238], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [0x1000a238]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1000b32c]
dec eax
mov ecx, dword [ebp - 0x1c]
add ecx, dword [0x1000a238]
movzx ecx, byte [ecx + 0x10]
mov dword [ecx*4 + 0x1000b32c], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [0x1000a238]
movzx eax, byte [eax + 0x10]
mov eax, dword [eax*4 + 0x1000b32c]
mov al, byte [eax]
mov byte [0x1000a220], al
mov eax, dword [0x1000b308]
add eax, dword [0x1000a230]
mov al, byte [eax]
mov byte [0x1000b271], al
movzx eax, byte [0x1000a220]
movzx ecx, byte [0x1000b271]
xor eax, ecx
mov ecx, dword [0x1000b274]
add ecx, dword [0x1000a230]
mov byte [ecx], al
mov eax, dword [0x1000a238]
and eax, 0x1f0
mov dword [0x1000a238], eax
jmp 0x10002879
xor eax, eax
cmp dword [ebp - 0x20], 0
setne al
leave
ret