Function at 0x4160f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x30
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x416110
mov esi, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x416130
sar edi, 1
sar eax, 1
lea ecx, [edi + eax]
add ecx, 2
test ecx, ecx
jns 0x416150
mov eax, 0xffffffff
jmp 0x416157
add eax, edi
add eax, eax
add eax, 4
push eax
call fcn.0042f750
add esp, 4
movzx ecx, word [esi]
mov ebx, eax
test cx, cx
je 0x416181
add esi, 2
mov ebx, eax
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x416170
mov word [ebx], 0x5c
add ebx, 2
movzx ecx, word [ebp]
test cx, cx
je 0x4161b1
lea edx, [ebp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4161a0
mov word [ebx], 0
mov ecx, esp
push 0x20
push 1
push 3
push 0x120089
push ecx
mov dword [esp + 0x38], eax
push eax
call fcn.00433eb0
add esp, 0x18
not eax
shr eax, 0x1f
mov eax, dword [eax*4 + 0x43b440]
mov ecx, 0x730eac1c
xor ecx, dword [0x43b448]
add eax, ecx
inc eax
jmp eax
xor eax, 0x358e004b
dec ebx
add byte [esi - 0x3ffb4cb], cl
invalid
xor eax, 0x32fc004b
dec ebx
add ah, bh
xor cl, byte [ebx]
cld
xor cl, byte [ebx]
adc dword [ebx], esi
dec ebx
add byte [ecx], dl
xor ecx, dword [ebx]
aaa
xor ecx, dword [ebx]
pop esp
xor eax, 0x355c004b
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [eax + 0x33], ah
dec ebx
add byte [edi], ah
xor eax, 0x342c004b
dec ebx
add byte [esp + esi], ch
dec ebx
add byte [esp + esi], ch
dec ebx
add byte [esp + esi], ch
dec ebx
add byte [esp + esi], ch
dec ebx
add byte [esp + esi + 0x348c004b], cl
dec ebx
add byte [ecx - 0x4dffb4cb], dh
xor al, 0x4b
add byte [edx - 0x4dffb4cc], dh
xor al, 0x4b
add byte [edx - 0x4dffb4cc], dh
xor al, 0x4b
add byte [0xcf004b35], al
xor al, 0x4b
add byte [0x70004b35], al
xor al, 0x4b
add byte [eax + 0x34], dh
dec ebx
add byte [eax + 0x34], dh
dec ebx
add bl, ch
xor al, 0x4b
add byte [esp + esi + 0x3484004b], al
dec ebx
add bl, ch
xor al, 0x4b
add bl, ch
xor al, 0x4b
add bl, ch
xor al, 0x4b
add ah, bh
xor al, 0x4b
add byte [0x5004b35], al
xor eax, 0x3505004b
dec ebx
add byte [0x96004b35], al
xor eax, 0x3512004b
dec ebx
add byte [edi], ah
xor eax, 0x35ad004b
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebx + 0x35], dh
dec ebx
add byte [ebp + esi + 0x358e004b], cl
dec ebx
add byte [esi - 0x71ffb4cb], cl
xor eax, 0x358e004b
dec ebx
add byte [esi - 0x71ffb4cb], cl
xor eax, 0xffcd004b
pop es
add byte [esi - 0x71ffb4cb], cl
xor eax, 0x358e004b
dec ebx
add byte [esi - 0x33ffb4cb], cl
xor cl, byte [ebx]
cmp al, 0x35
dec ebx
add ah, bh
xor cl, byte [ebx]
pop esp
xor eax, 0x34fc004b
dec ebx
add byte [ebp + esi - 0x32ffb5], cl
pop es
add byte [0xd500075c], ch
xchg ebp, eax
dec edx
add ch, dl
xchg ebp, eax
dec edx
add byte [0x2d00075c], ch
pop esp
pop es
add ch, dl
xchg ebp, eax
dec edx
add byte [esi + 0x4d004a95], ch
xchg edx, eax
dec edx
add byte [ebp - 0x6e], cl
dec edx
add byte [ebp - 0x6e], cl
dec edx
add ch, dl
xchg ebp, eax
dec edx
add ch, dl
xchg ebp, eax
dec edx
add ch, dl
xchg ebp, eax
dec edx
add ch, dl
xchg ebp, eax
dec edx
add byte [esi + 0x7c004a95], ch
xchg edx, eax
dec edx
add byte [edx + edx*4 + 0x4a], bh
add byte [ecx - 0x4cffb56e], dl
xchg edx, eax
dec edx
add byte [edx - 0x6b], dh
dec edx
add byte [edx - 0x6b], dh
dec edx
add byte [ebp + edx*4 - 0x6a73ffb6], cl
dec edx
add byte [esi - 0x2affb56b], cl
xchg edx, eax
dec edx
add bh, bl
xchg edx, eax
dec edx
add ah, bh
xchg edx, eax
dec edx
add ah, bh
xchg edx, eax
dec edx
add byte [ebx + edx*4], cl
dec edx
add byte [ebx + edx*4], cl
dec edx
add byte [ebx + edx*4], cl
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ecx], ah
xchg ebx, eax
dec edx
add byte [ebx + edx*4 + 0x4a], cl
add byte [ebx + edx*4 + 0x4a], cl
add byte [esi - 0x6d], cl
dec edx
add byte [esi - 0x6d], cl
dec edx
add byte [ebx + edx*4 + 0x4a], ch
add byte [ebx + edx*4 + 0x4a], ch
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x63ffb56b], dh
xchg ebx, eax
dec edx
add byte [ebx + edx*4 - 0x6bb1ffb6], bl
dec edx
add byte [esi - 0x6c], ch
dec edx
add ah, ch
xchg esp, eax
dec edx
add ah, ch
xchg esp, eax
dec edx
add byte [ecx], al
xchg ebp, eax
dec edx
add byte [0x35004a95], dh
xchg ebp, eax
dec edx
add byte [0x35004a95], dh
xchg ebp, eax
dec edx
add byte [esi + 0x55004a95], dh
xchg ebp, eax
dec edx
add byte [esi + 0x6e004a95], dh
xchg esp, eax
dec edx
add byte [esi - 0x6c], ch
dec edx
add byte [esi - 0x6c], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi - 0x6d], ch
dec edx
add byte [esi + 0x2d004a95], dh
pop esp
pop es
add byte [esi - 0x49ffb56b], dh
xchg ebp, eax
dec edx
add cl, dl
xchg ebp, eax
dec edx
add byte [esi - 0x71ffb56b], cl
xchg ebp, eax
dec edx
add byte [esi - 0x71ffb56b], cl
xchg ebp, eax
dec edx
add byte [esi - 0x71ffb56b], cl
xchg ebp, eax
dec edx
add byte [ebp + edx*4 - 0x6a51ffb6], ch
dec edx
add byte [esi - 0x51ffb56b], ch
xchg ebp, eax
dec edx
add byte [0x2d00075c], ch
pop esp
pop es
add byte [edx + edx*4 + 0x4a], bh
add byte [ebp + edx*4 - 0x6d03ffb6], cl
dec edx
add byte [ebx + edx*4], cl
dec edx
add byte [ebx + edx*4 + 0x4a], cl
add byte [ebx + edx*4 + 0x4a], ch
add ah, ch
xchg esp, eax
dec edx
add byte [0xac00075c], ch
xchg ebp, eax
dec edx
add byte [esi], bh
dec edx
add byte [esi], bh
dec edx
add byte [esi], bh
dec edx
add byte [esi], bh
dec edx
add byte [esi], bh
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [esi], bh
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [esi], bh
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [esi], bh
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [ebx + 0x65004aa7], dl
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x73ffb559], dl
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [esi - 0x595effb6], cl
dec edx
add ah, cl
cmpsb byte [esi], byte es:[edi]
dec edx
add ah, cl
cmpsb byte [esi], byte es:[edi]
dec edx
add dl, ah
cmpsb byte [esi], byte es:[edi]
dec edx
add dl, ah
cmpsb byte [esi], byte es:[edi]
dec edx
add dl, ah
cmpsb byte [esi], byte es:[edi]
dec edx
add byte [edi + 0x4a], bh
add byte [edi + 0x4a], bh
add byte [edi + 0x4a], bh
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [eax], al
cmpsd dword [esi], dword es:[edi]
dec edx
add bh, bh
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx], dl
test al, 0x4a
add byte [ebp - 0x59], bl
dec edx
add byte [ebp + 0x6c], bl
pop es
add byte [ebp - 0x59], bl
dec edx
add byte [ebx - 0x14ffb559], bl
cmpsd dword [esi], dword es:[edi]
dec edx
add al, dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ecx], ch
test al, 0x4a
add byte [ecx], ch
test al, 0x4a
add byte [ecx], ch
test al, 0x4a
add byte [ecx], ch
test al, 0x4a
add bh, bh
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [ebx - 0x6cffb559], dl
cmpsd dword [esi], dword es:[edi]
dec edx
add byte [esi], bh
dec edx
add byte [esi - 0x5933ffb6], cl
dec edx
add byte [edi + 0x4a], bh
add byte [ebp + 0x6c], bl
pop es
add byte [edx - 0x75ffb762], cl
sahf
dec eax
add byte [edx - 0x75ffb762], cl
sahf
dec eax
add byte [eax], dh
popfd
dec eax
add byte [eax], dh
popfd
dec eax
add byte [eax], dh
popfd
dec eax
add byte [edx - 0x7dffb762], al
sahf
dec eax
add byte [edx + 0x2f00489e], al
pushfd
dec eax
add byte [eax - 0x63], dl
dec eax
add byte [eax - 0x63], dl
dec eax
add byte [edi - 0x62], ah
dec eax
add byte [ebp - 0x64], dl
dec eax
add byte [ebp - 0x64], dl
dec eax
add byte [ebp - 0x64], dl
dec eax
add byte [edx], dl
popfd
dec eax
add byte [ecx], bl
sahf
dec eax
add byte [ecx], bl
sahf
dec eax
add al, al
pushfd
dec eax
add al, al
pushfd
dec eax
add al, al
pushfd
dec eax
add byte [edi - 0x63], ah
dec eax
add byte [edi - 0x63], ah
dec eax
add byte [edi - 0x63], ah
dec eax
add byte [ebp - 0x4affb763], dh
popfd
dec eax
add byte [ebp - 0x72ffb763], dh
popfd
dec eax
add byte [ebp - 0x72ffb763], cl
popfd
dec eax
add dh, ah
popfd
dec eax
add dh, ah
popfd
dec eax
add byte [eax], dl
sahf
dec eax
add byte [eax], dl
sahf
dec eax
add byte [ecx], bl
sahf
dec eax
add byte [ecx], bl
sahf
dec eax
add byte [esi], al
popfd
dec eax
add byte [esi], al
popfd
dec eax
add byte [esi], al
popfd
dec eax
add byte [eax], dl
popfd
dec eax
add byte [eax], dl
popfd
dec eax
add byte [edx], dl
popfd
dec eax
add byte [edx], dl
popfd
dec eax
add byte [edx], dl
popfd
dec eax
add byte [ecx], bl
sahf
dec eax
add byte [eax], dh
sahf
dec eax
add byte [edx], dh
sahf
dec eax
add byte [edx], dh
sahf
dec eax
add byte [eax - 0x62], dl
dec eax
add byte [eax - 0x62], dl
dec eax
add byte [eax - 0x62], dl
dec eax
add byte [eax - 0x62], dl
dec eax
add byte [edi - 0x62], ah
dec eax
add byte [edi - 0x62], ah
dec eax
add byte [edi - 0x62], ah
dec eax
add byte [eax - 0x7dffb762], al
sahf
dec eax
add byte [edx - 0x7dffb762], al
sahf
dec eax
add byte [ecx], dh
pushal
add eax, 0x489e8200
invalid
add byte [edx - 0x7dffb762], al
sahf
dec eax
add byte [edx + 0x3000489e], al
popfd
dec eax
add byte [eax - 0x63], dl
dec eax
add byte [eax], dl
sahf
dec eax
add byte [eax], dl
popfd
dec eax
add byte [eax], dh
sahf
dec eax
add byte [eax - 0x62], dl
dec eax
add byte [eax + 0x3100489e], al
pushal
add eax, 0x476d1800
add byte [eax], bl
insd dword es:[edi], dx
inc edi
add byte [edx - 0x68], al
mov dh, 0x21
sbb ch, byte [ebp + 0x47]
add byte [eax], bl
insd dword es:[edi], dx
inc edi
add byte [edi], al
cmp eax, 0x6e7852bd
cmpsb byte [esi], byte es:[edi]
mov dword [0xca804934], eax
lodsd eax, dword [esi]
jae 0x440fd7
loopne 0x441083
jmp 0xb306f8e0
add byte [eax], cl
outsb dx, byte [esi]
inc edi
add byte [edi + 0x18], dl
std
sub al, 0x35
jno 0x4410bd
fisttp word [edi]
cmpsb byte [esi], byte es:[edi]
popal
cmp dword [eax], ecx
outsb dx, byte [esi]
inc edi
add byte [eax], cl
outsb dx, byte [esi]
inc edi
add byte [edi + ebp], ch
and al, 0xfe
or byte [esi + 0x47], ch
add byte [edx], cl
outsb dx, byte [esi]
inc edi
add bh, bl
add eax, dword [ecx + 0x476e68cc]
add byte [ecx], ch
outsb dx, byte [esi]
inc edi
add byte [esi - 0x4c], bh
nop
shr dword [eax + 0x6e], cl
inc edi
add byte [edx + 0x6e], bh
outsb dx, byte [esi]
inc edi
add dl, dh
loopne 0x4410ff
cmp al, 0xe4
and byte [eax + 0x3f5796c2], ah
in al, 0x20
mov al, byte [0x3f5796c2]
call 0x6df4cdfc
add al, byte [edi + edx*2 - 0x667c0d2a]
dec byte [0x93cf057]
fistp dword ds:[ebx + 0x7c]
pop es
mov cl, 0xa6
inc esp
mov ch, 0x6e
inc edi
add byte [eax - 0x71ffb892], bl
aas
lodsd eax, dword [esi]
inc esi
cwde
outsb dx, byte [esi]
inc edi
add byte [eax + 0x7700476e], bl
add ebp, dword [ecx + 0x476e9ac5]
add byte [eax + 0xd00476e], bl
sahf
push edx
sbb al, 0x44
add dword [ecx - 0x462c041c], ebx
sub dh, byte [edx + 0x5ad7becc]
jne 0x4410c2
push edx
stc
clc
mov ch, 0x7f
iretd