Function at 0x432550
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, dword [0x1d040e8]
sub esp, 0x1c
test eax, eax
jne 0x432960
mov ecx, dword [0x1d040ec]
mov eax, dword [0x1567828]
xor edx, edx
div ecx
push ebx
push ebp
xor edx, edx
push esi
push edi
mov esi, eax
mov eax, dword [0x1567830]
div ecx
xor edx, edx
mov dword [esp + 0x28], esi
mov ebx, eax
mov eax, dword [0x156782c]
div ecx
xor edx, edx
mov dword [esp + 0x20], ebx
mov ebp, eax
mov eax, dword [0x1567834]
div ecx
mov edx, eax
mov eax, dword [0x1cf9db0]
mov eax, dword [eax + 0x6290]
dec eax
mov dword [esp + 0x24], edx
je 0x432855
dec eax
je 0x432701
dec eax
jne 0x43295c
mov eax, dword [0x1d040f8]
xor esi, esi
test eax, eax
mov dword [esp + 0x18], esi
jbe 0x43295c
mov eax, dword [0x1d040fc]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x10], ebx
jbe 0x4326e7
jmp 0x4325f0
mov eax, dword [0x1d040f4]
imul eax, esi
add eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [0x1d04e08]
lea edi, [eax + edx*4]
lea eax, [esi + 1]
mov edx, ecx
imul eax, ecx
imul edx, esi
cmp edx, eax
jae 0x4326d5
mov ebp, edx
imul ebp, dword [esp + 0x34]
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov edx, ecx
imul edx, ebx
add edx, ebp
xor ebx, ebx
test ecx, ecx
lea esi, [eax + edx*2]
jbe 0x4326b8
lea esp, [esp]
movzx ecx, word [esi]
mov eax, dword [ecx*4 + 0x15798c0]
mov edx, dword [edi]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
add ecx, edx
movzx edx, ah
add edx, dword [edi + 4]
mov dword [esp + 0x1c], eax
and eax, 0xff
add eax, dword [edi + 8]
cmp ecx, 0xff
jbe 0x432675
mov ecx, 0xff
cmp edx, 0xff
jbe 0x432682
mov edx, 0xff
cmp eax, 0xff
jbe 0x43268e
mov eax, 0xff
mov cx, word [ecx*4 + 0x15ba0c0]
or cx, word [edx*4 + 0x15b9cc0]
add esi, 2
or cx, word [eax*4 + 0x15b98c0]
inc ebx
mov word [esi - 2], cx
mov ecx, dword [0x1d040ec]
cmp ebx, ecx
jb 0x432640
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
add ebp, edx
dec eax
mov dword [esp + 0x14], eax
jne 0x432625
mov esi, dword [esp + 0x18]
mov eax, dword [0x1d040fc]
inc ebx
cmp ebx, eax
mov dword [esp + 0x10], ebx
jb 0x4325f0
mov eax, dword [0x1d040f8]
inc esi
cmp esi, eax
mov dword [esp + 0x18], esi
jb 0x4325d5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [0x1d040f8]
xor esi, esi
test eax, eax
mov dword [esp + 0x14], esi
jbe 0x43295c
mov eax, dword [0x1d040fc]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x10], ebx
jbe 0x43283b
jmp 0x432730
mov eax, dword [0x1d040f4]
imul eax, esi
add eax, ebx
lea edx, [eax + eax*2]
mov eax, dword [0x1d04e08]
lea edi, [eax + edx*4]
lea eax, [esi + 1]
mov edx, ecx
imul eax, ecx
imul edx, esi
cmp edx, eax
jae 0x432829
mov ebp, edx
imul ebp, dword [esp + 0x34]
sub eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov edx, ecx
imul edx, ebx
add edx, ebp
xor ebx, ebx
test ecx, ecx
lea esi, [eax + edx*2]
jbe 0x43280c
lea ecx, [ecx]
movzx ecx, word [esi]
mov eax, dword [ecx*4 + 0x15798c0]
mov ecx, eax
shr ecx, 0x10
movzx edx, ah
imul edx, dword [edi + 4]
movzx ecx, cl
imul ecx, dword [edi]
mov dword [esp + 0x1c], eax
and eax, 0xff
imul eax, dword [edi + 8]
shr ecx, 8
shr edx, 8
shr eax, 8
shl ecx, 1
shl edx, 1
shl eax, 1
cmp ecx, 0xff
jbe 0x4327c5
mov ecx, 0xff
cmp edx, 0xff
jbe 0x4327d2
mov edx, 0xff
cmp eax, 0xff
jbe 0x4327de
mov eax, 0xff
mov cx, word [ecx*4 + 0x15ba0c0]
or cx, word [edx*4 + 0x15b9cc0]
add esi, 2
or cx, word [eax*4 + 0x15b98c0]
inc ebx
mov word [esi - 2], cx
mov ecx, dword [0x1d040ec]
cmp ebx, ecx
jb 0x432780
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
add ebp, edx
dec eax
mov dword [esp + 0x18], eax
jne 0x432765
mov esi, dword [esp + 0x14]
mov eax, dword [0x1d040fc]
inc ebx
cmp ebx, eax
mov dword [esp + 0x10], ebx
jb 0x432730
mov eax, dword [0x1d040f8]
inc esi
cmp esi, eax
mov dword [esp + 0x14], esi
jb 0x432714
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp ebp, edx
mov dword [esp + 0x10], ebp
jge 0x43295c
cmp esi, ebx
mov eax, esi
mov dword [esp + 0x14], eax
jge 0x43294f
nop
mov edx, dword [0x1d040f4]
mov esi, dword [0x1d04e08]
imul edx, ebp
add edx, eax
lea edx, [edx + edx*2]
lea esi, [esi + edx*4]
lea edx, [ebp + 1]
mov edi, ecx
imul edx, ecx
imul edi, ebp
cmp edi, edx
jae 0x43293a
mov ebx, edi
imul ebx, dword [esp + 0x34]
sub edx, edi
mov dword [esp + 0x18], edx
mov edi, dword [esp + 0x30]
mov edx, ecx
imul edx, eax
add edx, ebx
lea edx, [edi + edx*2]
xor edi, edi
test ecx, ecx
jbe 0x432921
jmp 0x4328c0
movzx eax, word [edx]
mov ecx, dword [eax*4 + 0x15798c0]
mov dword [esp + 0x1c], ecx
movzx ebp, byte [esp + 0x1e]
imul ebp, dword [esi]
movzx eax, ch
imul eax, dword [esi + 4]
and ecx, 0xff
imul ecx, dword [esi + 8]
shr eax, 8
mov ax, word [eax*4 + 0x15b9cc0]
shr ebp, 8
or ax, word [ebp*4 + 0x15ba0c0]
shr ecx, 8
or ax, word [ecx*4 + 0x15b98c0]
inc edi
mov word [edx], ax
mov ecx, dword [0x1d040ec]
add edx, 2
cmp edi, ecx
jb 0x4328c0
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add ebx, edi
dec edx
mov dword [esp + 0x18], edx
jne 0x4328a7
mov ebx, dword [esp + 0x20]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x432870
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
inc ebp
cmp ebp, edx
mov dword [esp + 0x10], ebp
jl 0x432861
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret