Function at 0x10017334
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x34]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0x45886
xchg dword [esp], eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x75]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
push ebp
mov ebp, esp
leave
xchg dword [esp], eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0xc]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x23]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x1005cb7c
rol dword [eax], cl
xchg edx, eax
mov edx, dword [ebp + 0xc]
push eax
xchg edx, eax
pop edx
mov cl, byte [edi + esi]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x31]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
movzx eax, byte [edx + eax]
pushfd
add ebp, 0x7b
popfd
lea ebp, [ebp - 0x7b]
add al, bl
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x61]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add al, cl
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x16]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
movzx ebx, al
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xf]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
movzx eax, byte [ebx + esi]
push ecx
mov ecx, dword [esp + 7]
pop ecx
mov byte [edi + esi], al
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x35]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
lea eax, [edx + 1]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3b]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xor edx, edx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x4f]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
mov byte [ebx + esi], cl
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4f]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
inc edi
pushfd
add ebp, 0x2d
popfd
lea ebp, [ebp - 0x2d]
cmp eax, dword [ebp + 0x10]
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x26]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
setge dl
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x2f]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
dec edx
pushfd
add ebp, 0x1a
popfd
lea ebp, [ebp - 0x1a]
and edx, eax
lea eax, [eax]
cmp edi, 0x100
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x64]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jl 0x10019058
xchg edx, edi
xchg dword [esp], edx
xchg edx, edi
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
xchg ecx, ebx
xchg dword [esp], ecx
xchg ecx, ebx
lea esp, [esp + 4]
xchg ebp, eax
xchg dword [esp], eax
xchg ebp, eax
lea esp, [esp + 4]
ret
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x17]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x1006191c
jne 0x1006191c
jmp 0x1006191a
call fcn.10015bf8
adc ah, bl
sub al, 0xeb
xor eax, 0x226e82be
add byte [eax], al
mov byte [eax + esi], al
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0xd]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
inc eax
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x7b]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
cmp eax, 0x100
pushfd
add ebp, 0x29
popfd
lea ebp, [ebp - 0x29]
jl 0x1005cb8c
xor edx, edx
push eax
mov eax, ecx
pop eax
xor ebx, ebx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x53]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xor edi, edi
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x57]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x10682b80
xchg esp, eax
dec esi
xchg ecx, eax
mov ecx, dword [ebp + 0xc]
push eax
xchg ecx, eax
pop ecx
mov cl, byte [edi + esi]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x57]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
movzx eax, byte [edx + eax]
push eax
mov eax, dword [esp + 7]
pop eax
add al, bl
push ebp
mov ebp, esp
leave
add al, cl
pushfd
add ebp, 0x1e
popfd
lea ebp, [ebp - 0x1e]
movzx ebx, al
lea ecx, [ecx]
movzx eax, byte [ebx + esi]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x60]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov byte [edi + esi], al
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4a]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
lea eax, [edx + 1]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 1]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xor edx, edx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x21]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov byte [ebx + esi], cl
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x17]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
inc edi
pushfd
add ebp, 0x74
popfd
lea ebp, [ebp - 0x74]
cmp eax, dword [ebp + 0x10]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x17]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
setge dl
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x55]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
dec edx
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x23]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
and edx, eax
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x43]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
cmp edi, 0x100
pushfd
add ebp, 0x2a
popfd
lea ebp, [ebp - 0x2a]
jl 0x1006191c
xchg edx, edi
xchg dword [esp], edx
xchg edx, edi
lea esp, [esp + 4]
xchg ecx, esi
xchg dword [esp], ecx
xchg ecx, esi
lea esp, [esp + 4]
xchg ecx, ebx
xchg dword [esp], ecx
xchg ecx, ebx
lea esp, [esp + 4]
xchg ebp, eax
xchg dword [esp], eax
xchg ebp, eax
lea esp, [esp + 4]
ret
pushfd
push esi
mov esi, ecx
pop esi
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
rdtsc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x7b]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1c]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], ebx
xchg ebx, eax
lea esp, [esp + 4]
je 0x10683734
jne 0x1001a6d0
jmp 0x10683732
add byte [eax], al
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x72]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x10019058
jne 0x10019058
jmp 0x10019056