Function at 0x422430
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xfc0
mov esi, esp
push 0x1000
call fcn.004088c0
add esp, 4
mov dword [esi + 0x7c], eax
mov dword [esi + 0x540], 0xab7a4c12
mov dword [esi + 0x544], 0x5dae99a5
mov word [esi + 0x548], 0x160
mov dword [esi + 0x54a], 0
mov dword [esi + 0x54e], 0
mov dword [esi + 0x552], 0
mov dword [esi + 0x556], 0
mov dword [esi + 0x55a], 0
mov dword [esi + 0x170], 0
mov eax, dword [esi + 0x170]
cmp eax, 0x1d
ja 0x422508
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x170]
mov eax, dword [esi + 0x170]
movzx edx, byte [esi + eax + 0x540]
lea eax, [ecx + edx]
add eax, 0xf432b4ac
add ecx, 0xf432b4ac
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0x4c
mov ecx, dword [esi + 0x170]
mov byte [esi + ecx + 0x540], al
inc dword [esi + 0x170]
mov eax, dword [esi + 0x170]
cmp eax, 0x1e
jb 0x4224c0
mov eax, dword [str.LPnhqo___i4l3n]
mov dword [esi + 0x170], 0x6344d4b
mov dword [esi + 0x174], 0x4045109
mov dword [esi + 0x178], 0x2f5a4b0f
mov dword [esi + 0x17c], 0x133e5933
mov dword [esi + 0x180], 0xe2ef1009
mov dword [esi + 0x184], 0xf4fdf2f2
mov dword [esi + 0x188], 0xa684eaf2
mov dword [esi + 0x18c], 0xe2fbc5a8
mov dword [esi + 0x190], 0xa5d5ece1
mov dword [esi + 0x194], 0xfee3d7b0
mov dword [esi + 0x198], 0xbba4f1f8
mov dword [esi + 0x19c], 0xbfe8f8d5
mov dword [esi + 0x1a0], 0x9582acbc
mov dword [esi + 0x1a4], 0xa9929790
mov dword [esi + 0x1a8], 0xe2e68589
mov dword [esi + 0x1ac], 0xaf8e97ec
mov dword [esi + 0x1b0], 0
mov dword [esi + 0x1b4], 0
mov word [esi + 0x1b8], 0
mov dword [esi + 0x904], 0
mov ecx, dword [esi + 0x904]
cmp ecx, 0x49
ja 0x42262a
nop
mov edx, dword [esi + 0x904]
mov ecx, dword [esi + 0x904]
movzx edi, byte [esi + ecx + 0x170]
lea ecx, [edx + edi]
add ecx, 0xe435e86e
add edx, 0xe435e86e
and edx, edi
add edx, edx
sub ecx, edx
add cl, 0xfe
mov edx, dword [esi + 0x904]
mov byte [esi + edx + 0x170], cl
inc dword [esi + 0x904]
mov ecx, dword [esi + 0x904]
cmp ecx, 0x4a
jb 0x4225e0
movzx ecx, byte [esi + 0x170]
mov edi, dword [esi + 0x7c]
mov ebx, edi
test cl, cl
je 0x42265b
lea edx, [esi + 0x171]
mov ebx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422650
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42267b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x422670
mov byte [ebx], 0
movzx eax, byte [esi + 0x540]
test al, al
je 0x42269b
lea ecx, [esi + 0x541]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x422690
mov byte [ebx], 0
push 0
call fcn.00434920
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
mov edx, dword [ecx*4 + 0x43f8c0]
mov ecx, 0xc97cfb32
xor ecx, dword [0x43f8c8]
add ecx, edx
inc ecx
jmp ecx
push ebx
xor ch, byte [ebx + 0x32]
jbe 0x445a82
invalid
xor dh, byte [edx - 0x33cd42ce]
xor dl, bh
mov dl, 0x32
mov ebp, 0xd732cc32
xor cl, byte [0x2d331833]
xor edi, dword [eax]
xor ecx, dword [esi + 0x33]
pop ecx
xor esi, dword [ebx + esi + 0x7f]
xor ecx, ecx
xor edx, esp
xor edi, esi
xor ecx, dword [ecx]
xor al, 0x1c
xor al, 0x27
xor al, 0x48
xor al, 0x53
xor al, 0xf7
aaa
sbb edi, dword [eax]
cmp byte es:[ebx], dh
cmp byte [esi], bh
cmp byte [eax - 0x38c754c8], ah
mov al, byte [0xc738ab38]
cmp dl, dl
cmp al, ch
cmp bl, dh
cmp byte [eax], al
cmp dword [ebx], ecx
cmp dword [ecx], ebx
cmp dword [eax], ebp
cmp dword [edx + 0x39], ebp
lcall 0x363a, 0x639cc39
cmp ch, byte [eax + 0x3a]
jo 0x445ade
jnp 0x445ae0
xchg byte [edx], bh
xchg ecx, eax
cmp bh, byte [edx + edi + 0x3ba93ac7]
mov ah, 0x3b
imul edi, dword [esp + esi*2], 0x893c7e3c
cmp al, 0xc5
cmp al, 0xcb
cmp al, 0x8a
nop
loop 0x445b02
idiv dword [esi]
cmp bh, byte [edi]
insd dword es:[edi], dx
aas
sahf
aas
aas
stc
aas
add byte [eax + 1], ah
add byte [eax + eax + 0x301c0000], bh
and dh, byte [eax]
dec edx
xor byte [eax + 0x30], dl
push eax
xor byte [ebp - 0x47cf4fd0], ah
xor al, al
movsd dword es:[edi], dword [esi]
xor byte [eax - 0x3fcf47d0], dh
xor byte [ebp + 0x31], bh
invalid
out dx, eax
xor al, byte [edx]
xor ecx, dword [0x3f333433]
xor edx, dword [ebx + esi + 0x5f]
xor ebp, dword [edx + 0x33]
ja 0x445b47
mov edx, 0x1b33ea33
xor al, 0x56
xor al, 0x86
xor al, 0xb7
xor al, 0xbc
xor al, 0xc7
xor al, 0xd2
xor al, 0xdb
xor al, 0x13
xor eax, 0x354a351e
push ebp
xor eax, 0x3577356c
xchg ecx, eax
xor eax, 0x364d359c
pop eax
das
aaa
aaa
push ecx
aaa
pop esp
aaa
jno 0x445b7d
jl 0x445b7f
aaa
xchg ecx, eax
aaa
xchg edi, eax
aaa
mov ebp, 0x137c337
cmp byte [eax + edi], cl
lds edi, [ebx + ecx*8]
cmp al, 0x11
cmp eax, 0x3d2c3d17
xor bh, byte [0x3da73d91]
invalid
aas
jnp 0x445bbf
aas
cmp dword [edi], 0x3fcf3fc9
loopne 0x445bc7
out 0x3f, al
add byte [eax], al
add byte [eax + 1], dh
add byte [eax + eax], ch
add byte [0x32302330], bl
xor byte [eax], bh
xor byte [eax + 0x30], dl
push esi
xor byte [edx + 0x1b30de30], ah
xor dword [ecx], ebp
xor dword [edi], ebp
xor dword [esi + 0x31], eax
dec esp
xor dword [ebp + 0x31], esp
imul esi, dword [ecx], 0xffffff8c
xor dword [edx - 0x4fce55cf], edx
xor ecx, eax
xor esp, ecx
xor esi, esi
xor dword [ecx], eax
xor cl, byte [ebx]
xor dl, byte [esi]
xor cl, byte [ebx + edi + 0x3bdf3bba]
ljmp 0x163c
cmp edi, dword [edx - 0x15c420c5]
cmp eax, dword [ecx]
cmp al, 0xc
cmp al, 0x16
cmp al, 0x21
cmp al, 0x3c
cmp al, 0x52
cmp al, 0xa0
cmp al, 0xd7
cmp al, 0xf
cmp eax, 0x3d1f3d14
xor eax, 0xa43d403d
cmp eax, 0x3e0d3daf
sub bh, byte [esi]
cmp bh, byte [esi]
inc ebp
xchg edi, eax
mov byte ds:[0x180003e], al
add ah, dh
add byte [eax], al
add byte [ebp - 0x59cb60cc], cl
xor al, 0xb7
xor al, 0xc2
xor al, 0xd2
xor al, 0xd8
xor al, 0xdf
xor al, 0xea
xor al, 0xef
xor al, 7
xor eax, 0x35243512
sub esi, dword [0x35413536]
inc edi
xor eax, 0x3559354e
pop esi
xor eax, 0x35813576
xchg esp, eax
xor eax, 0x35b3359b
mov esi, 0xc935c435
xor eax, 0x35df35d4
xor eax, 0x360435fc
or al, 0x36
adc al, 0x36
add dword [edi], esi
or al, 0x37
sbb eax, 0x3f373537
aaa
dec eax
aaa
push ecx
aaa
pop edx
aaa
push cs
cmp byte [ecx], bl
cmp byte [esi], ch
cmp byte [ecx], bh
cmp byte [ecx + 0x38], bl
cmp byte fs:[ebx - 0x3ac769c8], cl
cmp ch, dh
cmp byte [ecx + edi], ah
xor al, 0x39
aas
cmp dword [eax + 0x39], edi
lds edi, [ecx]
cmc
cmp dword [edi], eax
cmp cl, byte [edx + edi]
pop ss
cmp bl, byte [0x2e3a283a]
cmp bh, byte [ecx]
cmp bh, byte [edi]
cmp cl, byte [edx + 0x3a]
push eax
cmp bl, byte [edi + 0x3a]
cmp dh, byte gs:[edx + edi + 0x7f]
cmp cl, byte [edx - 0x60c56fc6]
cmp ah, byte [edi - 0x4ac550c6]
cmp al, cl
cmp al, bh
cmp cl, bl
cmp eax, dword [ecx]
cmp al, 0x2a
cmp al, 0x27
cmp eax, 0x3d7d3d58
test al, 0x3d
fnstcw word [0x3e1e3dfd]
push edi
jnp 0x445cf8
movsb byte es:[edi], byte [esi]
into
cld
sub bh, byte ds:[edi]
das
aas
inc edx
aas
push ebx
aas
pop eax
aas
bound edi, qword [edi]
insb byte es:[edi], dx
aas
jbe 0x445d0f
cmp byte [edi], 0x8a
aas
xchg esp, eax
aas
sahf
aas
movsb byte es:[edi], byte [esi]
aas
mov cl, 0x3f
mov bh, 0x3f
invalid
sbb dword [eax], esi
sub dword [eax], esi
xor esi, dword [eax]
cmp eax, 0x4d304730
xor byte [ebp + 0x30], bl
xor byte [di + 0x30], ch
jge 0x445d3c
xor dword [eax], 0xffffff93
xor byte [ecx - 0x4ccf56d0], bl
xor byte [ebp - 0x2ccf3cd0], bh
xor cl, bl
xor cl, ch
xor bh, ch
xor bh, bh
xor byte [ecx], cl
xor dword [edi], ecx
xor dword [edi], ebx
xor dword [0x3b313531], esp
xor dword [ebx + 0x31], ecx
push ecx
xor dword [ecx + 0x31], esp
xor dword [bx + 0x31], esi
jge 0x445d6d
lea esi, [ecx]
xchg ebx, eax
xor dword [ebx - 0x46ce56cf], esp
xor ebx, eax
xor ecx, ecx
xor ecx, ebx
xor edi, ebx
xor edi, ebp
xor ebp, esi
xor dword [0x1b320b32], eax
xor ah, byte [ecx]
xor dh, byte [ecx]
xor dh, byte [edi]
xor al, byte [edi + 0x32]
push ecx
xor bl, byte [ebx + 0x32]
popal
xor dh, byte [ecx + 0x32]
jnp 0x445d9c
test dword [edx], esi
mov esi, dword [edx]
wait
xor ah, byte [ecx - 0x4ecd54ce]
xor bh, byte [esi - 0x2bcd3bce]
xor bl, byte [ebx - 0x54cd5ece]
xor dh, byte [ecx - 0x3bcd41ce]
xor dl, ah
xor bl, dl
xor ch, dl
xor dh, al
xor al, byte [eax]
xor eax, dword [esi]
xor ebp, dword [ecx]
xor ecx, dword [esi + 0x33]
mov dword [ebx], esi
mov cl, 0x33
fbstp tbyte [ebx]
sbb dword [esi + edi], esi
xor al, 0x7f
xor al, 0xad
xor al, 0xd2
xor al, 0xff
xor al, 0x24
xor eax, 0x3573354e
wait
xor eax, 0x36dc35c3
add dword [edi], esi
sub dword [edi], esi
sbb eax, 0x69384138
cmp byte [ebx - 0x63c749c8], cl
cmp edx, ecx
cmp eax, edi
cmp dword [esi], esp
cmp dl, byte [edx + 0x3a]
jbe 0x445dfc
and al, 0x35
dec esi
xor eax, 0x359b3573
ret
lodsd eax, dword [esi]
cmp al, byte [edx - 0x2ac458c5]
cmp eax, dword [ecx]
cmp al, 0x2f
cmp al, 0xa1
cmp al, 0xd4
cmp al, 0xf9
cmp al, 0x2d
cmp eax, 0x3e003ddb
and eax, 0x1b3e533e
aas
inc ebx
aas
imul edi, dword [edi], 0xffffff8f
aas
mov ah, 0x3f
loop 0x445e29
add byte [eax], al
add byte [eax + 0x4c0001], ah
add byte [eax], al
adc esi, dword [eax]
cmp byte [eax], dh
imul esi, dword [eax], 0x30bb308e
clc
xor byte [ebx], dl
mov ebx, 0x1330f830
xor dword [ecx + esi - 0x5f], ebp
xor ecx, esi
xor edi, ecx
xor eax, 0x363035e0
arpl word [esi], si
xchg edi, eax
iretd
insb byte es:[edi], dx
int3