Function at 0x432c90
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add eax, esi
sub eax, dword [esp + 0x44]
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp + 0x1c], eax
cmp eax, esi
jbe 0x432f8e
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
lea ebp, [eax - 1]
xor edi, edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], ebp
jmp 0x432d1e
mov ecx, edi
mov ebp, dword [esp + 8]
sub ecx, ebp
cmp edi, dword [esp + 0xc]
je 0x432d69
mov dword [ebp + ecx], esi
add edi, 4
mov dword [ebx + 4], edi
mov ecx, dword [esp + 0x44]
add esi, ecx
dec esi
mov ebp, dword [esp + 0x18]
inc esi
cmp esi, dword [esp + 0x1c]
jae 0x432f8e
test edx, edx
je 0x432d27
cmp byte [edx], 0x3f
je 0x432d32
movzx ecx, byte [esi]
mov eax, dword [esp + 0x40]
cmp cl, byte [eax]
jne 0x432d13
cmp dword [esp + 0x44], 2
jb 0x432cf0
xor ecx, ecx
jmp 0x432d5c
movzx edx, byte [esi + ecx + 1]
mov eax, dword [esp + 0x40]
cmp dl, byte [eax + ecx + 1]
mov edx, dword [esp + 0x48]
jne 0x432e6e
inc ecx
cmp ebp, ecx
je 0x432cf0
test edx, edx
je 0x432d40
cmp byte [edx + ecx + 1], 0x3f
jne 0x432d40
jmp 0x432d57
mov dword [esp + 0x14], ecx
mov edx, ecx
sar edx, 2
lea eax, [edx + 1]
mov ecx, edx
shr ecx, 1
add ecx, edx
cmp ecx, eax
ja 0x432d81
mov ecx, eax
mov eax, ecx
and eax, 0xfffffffb
mov ebx, ecx
and ebx, 4
mov edx, ecx
mov dword [esp + 0xc], ecx
or edx, 4
imul edx, ebx
xor ebx, 4
imul ebx, eax
add edx, ebx
push edx
call fcn.004095a0
add esp, 4
mov ebp, eax
mov edx, dword [esp + 8]
test edx, edx
je 0x432f5d
mov ebx, edi
not ebx
and ebx, edx
mov ecx, edx
not ecx
and ecx, edi
mov edi, ecx
sub edi, ebx
cmp ebp, edx
mov dword [esp + 0x10], ebp
jbe 0x432e75
lea eax, [edx + edi]
cmp eax, ebp
jbe 0x432e75
test edi, edi
je 0x432f4d
mov dword [esp], ecx
mov eax, dword [esp + 8]
add eax, edi
dec eax
mov ecx, dword [esp + 0x10]
lea edx, [ecx + edi]
dec edx
mov ecx, edi
and ecx, 3
je 0x432e28
mov dword [esp + 4], ebx
mov ebp, edi
neg ecx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edi]
mov byte [edx + edi], bl
dec edi
cmp ecx, edi
jne 0x432e10
add eax, edi
add edx, edi
add ebp, edi
mov edi, ebp
mov ebx, dword [esp + 4]
sub ebx, dword [esp]
cmp ebx, 0xfffffffc
ja 0x432f4d
neg edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + ecx]
mov byte [edx + ecx], bl
movzx ebx, byte [eax + ecx - 1]
mov byte [edx + ecx - 1], bl
movzx ebx, byte [eax + ecx - 2]
mov byte [edx + ecx - 2], bl
movzx ebx, byte [eax + ecx - 3]
mov byte [edx + ecx - 3], bl
add ecx, 0xfffffffc
cmp edi, ecx
jne 0x432e40
jmp 0x432f4d
add esi, ecx
jmp 0x432d13
mov ecx, edi
shr ecx, 2
mov eax, edx
mov dword [esp], edi
mov edi, ebp
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, dword [esp]
not ecx
or ecx, 0xfffffffc
add ecx, dword [esp]
lea eax, [ecx + ebp]
inc eax
add edx, ecx
inc edx
mov ecx, dword [esp]
and ecx, 3
mov ebp, ecx
not ebp
or ebp, 1
add ebp, ecx
shr ecx, 1
mov dword [esp + 4], edx
mov edi, eax
mov ebx, dword [esp + 4]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, dword [esp]
mov dword [esp + 4], ebp
inc ebp
je 0x432f4d
and ebx, 2
add edx, ebx
add eax, ebx
mov ecx, ebp
and ecx, 7
je 0x432ef2
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx + edi]
mov byte [eax + edi], bl
inc edi
cmp ecx, edi
jne 0x432ee0
add edx, edi
add eax, edi
sub ebp, edi
cmp dword [esp + 4], 7
jb 0x432f4d
xor edi, edi
nop
nop
nop
nop
nop
movzx ecx, byte [edx + edi]
mov byte [eax + edi], cl
movzx ecx, byte [edx + edi + 1]
mov byte [eax + edi + 1], cl
movzx ecx, byte [edx + edi + 2]
mov byte [eax + edi + 2], cl
movzx ecx, byte [edx + edi + 3]
mov byte [eax + edi + 3], cl
movzx ecx, byte [edx + edi + 4]
mov byte [eax + edi + 4], cl
movzx ecx, byte [edx + edi + 5]
mov byte [eax + edi + 5], cl
movzx ecx, byte [edx + edi + 6]
mov byte [eax + edi + 6], cl
movzx ecx, byte [edx + edi + 7]
mov byte [eax + edi + 7], cl
add edi, 8
cmp ebp, edi
jne 0x432f00
push dword [esp + 8]
call fcn.004095b0
add esp, 4
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
mov dword [ebx], ebp
mov eax, dword [esp + 0xc]
lea eax, [eax*4]
add eax, ebp
mov edi, ebp
mov ecx, dword [esp + 0x14]
add edi, ecx
mov dword [esp + 0xc], eax
mov dword [ebx + 8], eax
mov eax, ebp
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x48]
jmp 0x432cfe
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret