Function at 0x10038680
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x12c
call fcn.10070bf0
push ebx
push esi
push edi
mov byte [ebp - 0x118], 0
mov ecx, 0x3f
xor eax, eax
lea edi, [ebp - 0x117]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 4], 0
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov dword [ebp - 0x10], 0
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov byte [ebp - 0xc], 0
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov dword [ebp - 8], 0
mov dword [ebp - 0x18], 0
push 0x10074160
call dword [0x10072f18]
movsx eax, byte [0x100727cc]
mov ecx, dword [0x100748a0]
xor ecx, eax
mov dword [ebp - 0x18], ecx
mov esi, dword [ebp - 0x18]
cmp esi, 0
je 0x10038b84
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov esi, dword [esi]
cmp esi, 0
je 0x10038b84
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], 0
jmp 0x10038816
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x2e
jge 0x10038b84
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x118]
rep stosd dword es:[edi], eax
mov esi, dword [ebp - 4]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov ecx, dword [ebp - 0x14]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
movzx ebx, byte [0x1007489c]
imul ebx, ebx, 4
imul ecx, ebx
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
lea esi, [esi + ecx]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x10]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov al, byte [esi]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov byte [ebp - 0xc], al
mov esi, dword [ebp - 0x10]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov cl, byte [esi]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
movzx ecx, cl
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
lea esi, [esi + 1]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
lea edi, [ebp - 0x118]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
rep movsb byte es:[edi], byte [esi]
lea edi, [edi]
sub ecx, dword [0x100727c0]
add ecx, dword [0x100727c0]
add ebx, dword [0x100727b4]
add eax, dword [0x100727b8]
add edx, dword [0x100727c8]
sub ebx, dword [0x100727b4]
inc edx
sub edx, dword [0x100727c8]
dec edx
sub eax, dword [0x100727b8]
mov eax, dword [ebp - 0xc]
and eax, 0xff
test eax, eax
je 0x10038b7f
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x11c], ecx
lea edx, [ebp - 0x118]
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x120]
mov cl, byte [eax]
mov byte [ebp - 0x121], cl
mov edx, dword [ebp - 0x11c]
cmp cl, byte [edx]
jne 0x10038b56
cmp byte [ebp - 0x121], 0
je 0x10038b4a
mov eax, dword [ebp - 0x120]
mov cl, byte [eax + 1]
mov byte [ebp - 0x122], cl
mov edx, dword [ebp - 0x11c]
cmp cl, byte [edx + 1]
jne 0x10038b56
add dword [ebp - 0x120], 2
add dword [ebp - 0x11c], 2
cmp byte [ebp - 0x122], 0
jne 0x10038af8
mov dword [ebp - 0x128], 0
jmp 0x10038b61
sbb eax, eax
sbb eax, 0xffffffff
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x12c], ecx
cmp dword [ebp - 0x12c], 0
jne 0x10038b7f
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
jmp 0x1003880d
push 0x10074160
call dword [0x10072f20]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret