Function at 0x42d611
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x44a650]
push ebx
push esi
push edi
push 0x33
pop edx
push 0x56
pop esi
xor ebx, ebx
mov dword [ebp - 0x54], 0x20
mov dword [ebp - 0x50], 0x34
mov ecx, ebx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], 0x323
add edx, dword [ebp + ecx*4 - 0x54]
or eax, 0xd1ddef9f
inc ecx
cmp ecx, 4
jl 0x42d644
push 0x5d
mov dword [ebp - 0x94], edx
mov ecx, ebx
mov dword [ebp - 0x40], eax
pop edx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], 0x2d
mov dword [ebp - 0x48], 0x320
add edx, dword [ebp + ecx*4 - 0x50]
inc ecx
cmp ecx, 3
jl 0x42d672
mov dword [ebp - 0x98], edx
xor eax, 0xe099b2b1
sub esp, 0xc
mov edx, eax
mov dword [ebp - 0x44], eax
mov ecx, eax
call fcn.0042a8e7
add esp, 0xc
mov dword [ebp - 0x88], 0xcf77bbd5
mov esi, 0x40302c
mov dword [ebp - 0x84], 0x781f6fb0
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x80], 0x6ad7b0d0
mov dword [ebp - 0x7c], 0x84506e0a
push 6
pop eax
mov ecx, eax
mov byte [ebp - 0x63], al
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x5e], al
mov edi, ebx
mov dword [ebp - 0x78], 0xc78adfb
mov eax, ebx
mov dword [ebp - 0x74], 0xf33a0f08
mov dword [ebp - 0x70], 0xdf0a29d3
mov dword [ebp - 0x6c], 0x230723c2
mov dword [ebp - 0x68], 0x657f7c8f
mov byte [ebp - 0x64], 0x1a
mov dword [ebp - 0x62], 0x7a458757
mov byte [ebp - 0x5d], 0x41
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x42d706
push 0x17
mov esi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x19c]
mov eax, esi
div ecx
movzx ecx, bl
push 0x17
movzx eax, byte [ebp + edx - 0x5c]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x19c]
mov byte [ebp + esi - 0x19c], al
inc esi
mov byte [ebp + edi - 0x19c], bl
cmp esi, 0x100
jb 0x42d71a
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x19c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x19c]
mov byte [ebp + edi - 0x19c], al
mov byte [ebp + ebx - 0x19c], cl
movzx eax, byte [ebp + edi - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + esi - 0x88]
mov byte [ebp + esi - 0x21c], al
inc esi
cmp esi, 0x2c
jb 0x42d75d
push 6
pop eax
push 0xc
pop ecx
mov esi, 0x40208c
mov byte [ebp - 0x55], al
lea edi, [ebp - 0x1ec]
mov dword [ebp - 0x5c], 0xac2c00ec
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
mov word [ebp - 0x58], 0xc68c
mov byte [ebp - 0x1f0], bl
mov eax, ebx
mov byte [ebp - 0x56], 0xe9
movsw word es:[edi], word [esi]
mov dword [ebp - 0x54], 0xf7394c21
mov edi, ebx
mov dword [ebp - 0x50], 0xe1b4acb5
mov dword [ebp - 0x4c], 0xf339acdb
mov dword [ebp - 0x48], 0x99edc955
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x42d801
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x19c]
push 0x31
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x1ec]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x19c]
mov byte [ebp + esi - 0x19c], al
inc esi
mov byte [ebp + edi - 0x19c], bl
cmp esi, 0x100
jb 0x42d812
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x19c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x19c]
mov byte [ebp + edi - 0x19c], al
mov byte [ebp + ebx - 0x19c], cl
movzx eax, byte [ebp + edi - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + esi - 0x5c]
mov byte [ebp + esi - 0x1b8], al
inc esi
cmp esi, 0x18
jb 0x42d858
mov esi, 0x403044
mov dword [ebp - 0x28], 0xc24bd270
lea edi, [ebp - 0x4c]
mov dword [ebp - 0x24], 0x18345b1b
xor ebx, ebx
mov dword [ebp - 0x20], 0x4aae9c84
mov byte [ebp - 0x1a0], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], 0x8f61ee3c
mov dword [ebp - 0x18], 0x1715dfb4
mov dword [ebp - 0x14], 0xdbb4f703
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, ebx
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x42d8ea
mov esi, ebx
xor edx, edx
mov bl, byte [ebp + esi - 0x19c]
push 6
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x4c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x19c]
mov byte [ebp + esi - 0x19c], al
inc esi
mov byte [ebp + edi - 0x19c], bl
cmp esi, 0x100
jb 0x42d8fb
xor ebx, ebx
mov edi, ebx
mov esi, ebx
lea eax, [edi + 1]
movzx edi, al
mov cl, byte [ebp + edi - 0x19c]
movzx edx, cl
lea eax, [edx + ebx]
movzx ebx, al
mov al, byte [ebp + ebx - 0x19c]
mov byte [ebp + edi - 0x19c], al
mov byte [ebp + ebx - 0x19c], cl
movzx eax, byte [ebp + edi - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + esi - 0x28]
mov byte [ebp + esi - 0x78], al
inc esi
cmp esi, 0x18
jb 0x42d93e
mov esi, 0x401fdc
mov dword [ebp - 0x3c], 0x7c7cf66
lea edi, [ebp - 0x58]
mov dword [ebp - 0x38], 0x67ee6b9d
xor ebx, ebx
mov dword [ebp - 0x34], 0xf25af907
mov byte [ebp - 0x60], bl
mov eax, ebx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], 0x370945e1
mov dword [ebp - 0x2c], 0xe928cd55
mov dword [ebp - 0x28], 0x9a4830c1
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x24], 0xafd34410
mov dword [ebp - 0x20], 0x102f93e0
mov dword [ebp - 0x1c], 0x6b231286
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x18], 0xe09c441b
mov dword [ebp - 0x14], 0x9dfa98ec
mov dword [ebp - 8], ebx
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x42d9ef
mov esi, dword [ebp - 0x40]
mov edx, 0x4033d0
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x10], edx
mov cl, byte [ebp + ebx - 0x19c]
mov eax, ebx
and eax, 0xf
mov byte [ebp - 1], cl
movzx ecx, cl
push 0x41
movzx eax, byte [ebp + eax - 0x58]
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov ecx, 0xf0a
mov dword [ebp - 8], eax
pop eax
add ecx, eax
inc edx
cmp ecx, 0xc6
ja 0x42da4a
movsx eax, byte [edx]
test eax, eax
jne 0x42da36
jmp 0x42da59
sub esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0042a8e7
add esp, 0xc
or esi, 0x260a7fa9
mov edi, esi
sub esp, 0xc
and edi, 0xc615b64b
mov edx, esi
mov ecx, edi
call fcn.0042a96a
mov ecx, dword [ebp - 8]
add esp, 0xc
mov edx, 0x4033d0
mov al, byte [ebp + ecx - 0x19c]
mov byte [ebp + ebx - 0x19c], al
inc ebx
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x19c], al
cmp ebx, 0x100
jb 0x42da0c
xor ebx, ebx
mov dword [ebp - 0x40], esi
mov dword [ebp - 8], ebx
mov esi, ebx
lea eax, [ebx + 1]
add edi, 0xd6d42d44
movzx ebx, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + ebx - 0x19c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x19c]
mov byte [ebp + ebx - 0x19c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x19c], cl
movzx eax, byte [ebp + ebx - 0x19c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + esi - 0x3c]
mov byte [ebp + esi - 0x1e8], al
inc esi
cmp esi, 0x2c
jb 0x42daad
mov eax, dword [0x402ebc]
xor ebx, ebx
mov dword [ebp - 0x90], eax
mov ax, word [0x402ec0]
mov word [ebp - 0x8c], ax
mov eax, ebx
mov dword [ebp - 0x44], edi
mov byte [ebp - 0x1bc], bl
mov dword [ebp - 0x18], 0x62e2f034
mov word [ebp - 0x14], 0x400d
mov byte [ebp + eax - 0x19c], al
inc eax
cmp eax, 0x100
jb 0x42db3d
push 5
mov esi, ebx
mov edi, ebx
pop ecx
xor edx, edx
mov bl, byte [ebp + esi - 0x19c]
mov eax, esi
div ecx
movzx ecx, bl
push 5
movzx eax, byte [ebp + edx - 0x90]
add eax, edi
add ecx, eax
movzx edi, cl
pop ecx
mov al, byte [ebp + edi - 0x19c]
mov byte [ebp + esi - 0x19c], al
inc esi
mov byte [ebp + edi - 0x19c], bl
cmp esi, 0x100
jb 0x42db53
mov esi, dword [ebp - 0x40]
xor ebx, ebx
mov edi, dword [ebp - 0x44]
mov edx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ebx
lea eax, [edx + 1]
movzx edx, al
mov dword [ebp - 0x40], edx
mov al, byte [ebp + edx - 0x19c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x44]
movzx eax, al
mov dword [ebp - 8], eax
mov eax, ebx
inc eax
cmp eax, 0x1340
jg 0x42dbdc
cmp byte [eax + 0x4033d0], bl
jne 0x42dbca
jmp 0x42dbf4
sub esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0042a96a
mov edx, dword [ebp - 0x40]
add esp, 0xc
sub edi, 0x7b909013
mov eax, dword [ebp - 8]
add esi, 0xf8815789
mov cl, byte [ebp - 1]
and esi, 0x31d0fc48
push 6
mov al, byte [ebp + eax - 0x19c]
mov byte [ebp + edx - 0x19c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x19c], cl
movzx eax, byte [ebp + edx - 0x19c]
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xc]
movzx eax, al
mov al, byte [ebp + eax - 0x19c]
xor al, byte [ebp + ecx - 0x18]
mov byte [ebp + ecx - 0x4c], al
inc ecx
pop eax
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jb 0x42dba3
push 0x41
pop ecx
sub cl, 0x30
cmp cl, 9
ja 0x42dc69
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov al, byte [eax]
mov cl, al
test al, al
jne 0x42dc50
jmp 0x42dc6f
lea esi, [edi - 0x62cc7146]
sub esp, 0xc
and esi, 0x1dc805e5
mov edx, edi
mov dword [0x44a650], esi
mov ecx, edi
call fcn.0042a96a
add esp, 0xc
mov byte [ebp - 0x46], bl
mov dword [ebp - 0x1c], 0x4f
mov eax, ebx
mov dword [ebp - 0x14], 0x320
push 0x3e
pop ecx
push 0x53
pop edx
mov dword [ebp - 0x18], edx
add ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, 3
jl 0x42dca6
push 0x2b
mov dword [ebp - 0x44], ecx
mov eax, ebx
pop ecx
mov dword [ebp - 0x18], 0x22
mov dword [ebp - 0x14], 0xffffffb3
add ecx, dword [ebp + eax*4 - 0x18]
inc eax
cmp eax, 2
jl 0x42dcc6
imul eax, edi, 0x2dc1c81
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x24], 0x25
mov dword [ebp - 0x20], 0x4e
mov dword [ebp - 0x1c], 0x10
mov dword [0x44a5f8], eax
mov eax, 0x2400
mov dword [ebp - 0x18], 0x56
mov dword [ebp - 0x14], 0x1f27
sub eax, dword [ebp + ebx*4 - 0x24]
inc ebx
cmp ebx, 5
jl 0x42dd06
xorps xmm1, xmm1
mov dword [ebp - 0x20], 0x34
mov dword [ebp - 0x1c], 0x43
mov dword [ebp - 0x18], 0x1e
mov dword [ebp - 0x14], 0xffffff6b
movups xmm0, xmmword [ebp - 0x20]
push 0x28
pop ecx
psubd xmm1, xmm0
mov dword [ebp - 0x20], ecx
movaps xmm0, xmm1
mov dword [ebp - 0x18], edx
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x61
movups xmm0, xmm1
mov dword [ebp - 0x14], 0xfffffeda
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 8], eax
movd dword [ebp - 0x9c], xmm1
movups xmm1, xmmword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x94]
movaps xmm0, xmm1
mov dword [ebp - 0x14], 0xffffff11
psrldq xmm0, 8
add ecx, ecx
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x2c
movups xmm0, xmm1
mov dword [ebp - 0x18], 0x3d
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x20]
add eax, 0x4a
movaps xmm0, xmm1
mov dword [ebp - 0x90], eax
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x5e
mov dword [ebp - 0x14], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0x98]
mov esi, eax
add ecx, ecx
call fcn.0041d3cf
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0xc], eax
call fcn.0043430e
lea ecx, [ebp - 0x1b8]
mov edi, eax
call fcn.0043430e
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x10], eax
call fcn.0043430e
mov edx, edi
mov ecx, esi
mov ebx, eax
call fcn.00434db1
mov edx, dword [ebp - 0x10]
mov ecx, esi
call fcn.00434db1
mov edx, ebx
mov ecx, esi
call fcn.00434db1
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c]
push dword [ebp - 0xc]
push esi
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x1e8]
call fcn.0041d4c4
call eax
mov ecx, dword [ebp - 8]
lea eax, [ecx + ecx]
push eax
push dword [ebp - 0x40]
push esi
call fcn.0043423a
mov ecx, esi
call fcn.0041d467
mov ecx, edi
call fcn.004348f7
push eax
push dword [ebp - 0x9c]
push edi
call fcn.0043423a
mov esi, dword [ebp - 0x10]
mov ecx, esi
call fcn.004348f7
push eax
push dword [ebp - 0x90]
push esi
call fcn.0043423a
mov ecx, ebx
call fcn.004348f7
push eax
push dword [ebp - 0x14]
push ebx
call fcn.0043423a
add esp, 0x30
mov ecx, edi
call fcn.0041d467
imul eax, dword [0x44a5f8], 0x52c57319
mov ecx, esi
mov dword [0x44a650], eax
call fcn.0041d467
mov ecx, ebx
call fcn.0041d467
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret