Function at 0x413238
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push esi
push edi
mov edi, dword [edx + 0x24]
adc al, 0x89
inc esp
mov ah, 0
test byte [edx + eax], ch
add byte [eax], al
or al, 0xe8
lock sub eax, dword [ecx]
add byte [ebx - 0x7c0674ea], cl
in al, dx
adc byte [ebx + 0xb0d687], cl
add byte [ecx - 0x74afdbbc], cl
inc ebx
add al, 0x89
jl 0x413288
pop esp
mov eax, dword [eax + edx*4]
mov dword [esp + 0x34], 0x830840bf
invalid
or byte [ecx + 0x428b0841], cl
or al, 0x89
inc ecx
or al, 0xff
add cl, byte [ebp + 0x388f]
mov ebp, eax
leave
mov bh, bh
dec dword [ecx - 0x3ed3dbbc]
add bh, bh
dec esp
and al, 0x5d
push es
mov dword [ebp - 0x79], 0x8b55014c
in al, dx
push ebx
push esi
push cs
mov dword [esp - 0x137c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], 0x808f0f1c
mov dword [esp + 0x68], 0x808f0f1c
mov dword [esp + 0x6c], 0x8320738d
sub eax, 0x891c408b
inc ecx
push eax
add byte [eax], al
inc esi
cmp ecx, dword [edi]
test bh, ah
or al, byte [eax]
sbb al, 0x89
inc ecx
push esp
sbb al, 0xf
pop dword [eax + 0x582444c7]
sbb al, 0xf
pop dword [eax + 0x5c2444c7]
sbb al, 0xf
pop dword [eax + 0x742444c7]
dec esp
add byte [ebx], bh
or eax, 0x784c2218
sbb al, 0xf
pop dword [eax + 0xc2444c7]
mov dword [esp + 0x18], 0xfffff7c7
lea eax, [ecx + 1]
sbb al, 0xf
pop dword [eax + 0x382444c7]
sbb al, 0xf
pop dword [eax + 0x5d82850f]
ror byte [edi], 0x84
sub edi, esp
sbb al, 0x83
clc
dec edi
prefetcht1 byte [eax + 0x56]
add byte [ebp - 0x72ffdbb4], cl
dec esp
sub byte [ebx - 0x2f], dl
inc eax
add byte [eax - 0x70], bl
jbe 0x4132e0
push es
add byte [eax + 0xf004c7c], al
test dword [ecx + 0x62c245c], ecx
add byte [edi + 0x5e], bl
xchg esi, edx
mov al, 0
add byte [esi], al
add byte [edi + 0x3b], bl
add eax, 0x8d000001
jg 0x46cc3b21
add al, 0x8b
dec eax
or al, 0xaa
pop es
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebx + 4]
add eax, 0x750b5d38
mov dword [esp + 0x18], eax
mov ebp, esp
and esp, 0xfffffff8
cmp word [ecx + 8], 0
jne 0x413399
cmp dword [ecx], 0x2b
je 0x100190c4
mov ecx, 0x830840bf
cmp dword [ebx + 0x14], 0xf
test ebx, ecx
mov dword [esp], ebx
xor byte [ecx - 0x38eb1fcb], cl
rcr byte [edi + 0x5e], 0x5b
mov esp, ebp
pop ebp
mov eax, 0xf1c305f
pop dword [eax + 0x5368f0f]
or byte [ebx + 0x5e5fc028], al
cmp eax, dword [ebx + 0x18]
jl 0x4259543
add byte [ebx + 0x14], al
jg 0x4259543
add dl, cl
jne 0x4259543
push es
add byte [edi - 0x39], bl
rcr byte [edi + 0x44], 0x1c
jg 0x8451066e
push 6
add byte [eax + 0x65f147c], al
scasd eax, dword es:[edi]
push es
add byte [ebp + 0x1d57e884], cl
add dword [eax], eax
mov ebp, dword [edi + esi*8 + 0xfcb8fe]
add byte [ecx + ecx*4 + 0x44], al
and al, 0x18
mov dword [eax - 0x3474ff56], edx
jnp 0x41342a
add dword [edi], ecx
invalid
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov ebx, dword [eax + 4]
add ebx, edi
mov dword [eax], 0x9000
add byte [eax], al
add byte [eax], al
add byte [eax - 0x38bf7485], al
add byte [eax], al
xchg esp, eax
or eax, eax
cmp eax, 0x4c1660
add byte [eax], al
cmp esi, dword [eax + 0x1c]
jg 0x41fbde
pushfd
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], bh
mov al, byte [0x808f0f1c]
mov dword [eax], 0xa800
add byte [eax], al
add byte [eax], al
add bh, al
add byte [eax], al
mov al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov dword [eax], 0xc009b400
cmp eax, 0x4c1660
add byte [eax], al
cmp edi, dword [eax]
jne 0xaf479496
push 0x40
call 0x2441f522
adc byte [ecx - 0x16d7dbac], cl
leave
sti
jmp dword [ebp + 0x244c8b06]
call 0x8641f57b
leave
jne 0x2441fe9f
movzx edi, byte [esi - 0x13]
movzx eax, byte [edx - 0x13]
sub edi, eax
je 0x41fc0c
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x66718]
test ecx, ecx
jne 0x2441fe9f
movzx edi, byte [esi - 0x12]
movzx eax, byte [edx - 0x12]
sub edi, eax
je 0x41fc2e
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x66718]
test ecx, ecx
jne 0x2441fe9f
movzx ecx, byte [esi - 0x11]
movzx eax, byte [edx - 0x11]
sub ecx, eax
je 0x41fc4c
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x66718]
jmp 0x41fc4c
test ecx, ecx
jne 0x834e439f
mov eax, dword [esi - 0x10]
cmp eax, dword [edx - 0x10]
je 0x464be1
movzx edi, al
movzx eax, byte [edx - 0x10]
sub edi, eax
je 0x41fc81
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x66718]
test ecx, ecx
jne 0x2441fe9f
movzx edi, byte [esi - 0xf]
movzx eax, byte [edx - 0xf]
sub edi, eax
je 0x41fca3
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x66718]
test ecx, ecx
jne 0x2441fe9f
movzx edi, byte [esi - 0xe]
movzx eax, byte [edx - 0xe]
sub edi, eax
je 0x41fcc5
xor ecx, ecx
test edi, edi
setg cl
lea ecx, [ecx*2 - 0x66718]
test ecx, ecx
jne 0x2441fe9f
movzx ecx, byte [esi - 0xd]
movzx eax, byte [edx - 0xd]
sub ecx, eax
je 0x41fce3
xor eax, eax
test ecx, ecx
setg al
lea ecx, [eax*2 - 0x66718]
jmp 0x41fce3
test ecx, ecx
jne 0x4c61fe9f
mov eax, dword [esi - 0xc]
cmp eax, dword [edx - 0xc]
mov eax, dword [edx + eax*4 + 0xf2c8400]
mov dh, 0x42
hlt
push eax
call dword [0x48d4cc]
test eax, eax
je 0x464bef
add edi, 2
movzx eax, word [edi]
test ax, ax
jne 0x464bcd
mov ecx, esi
call fcn.00412c58
mov dword [esi + 0xc], ebx
mov dword [esi], ebx
pop edi
pop esi
xor eax, eax
invalid