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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1b0
push ebx
push esi
push edi
mov dword [ebp - 0x34], ecx
lea edi, [ebp - 0x1b0]
push 0x17
pop ecx
mov esi, 0x401ab8
mov dword [ebp - 0x2c], edx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0xc], 0x503d62b8
mov dword [ebp - 8], 0x9e1890e7
mov edi, eax
mov ecx, eax
mov byte [ebp + ecx - 0x154], cl
inc ecx
cmp ecx, 0x100
jb 0x431598
mov esi, eax
xor edx, edx
mov bl, byte [ebp + esi - 0x154]
push 0x5b
mov eax, esi
pop ecx
div ecx
movzx ecx, bl
movzx eax, byte [ebp + edx - 0x1b0]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x154]
mov byte [ebp + esi - 0x154], al
inc esi
mov byte [ebp + edi - 0x154], bl
cmp esi, 0x100
jb 0x4315aa
mov esi, dword [0x44a5e4]
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, ebx
lea eax, [ebx + 1]
and esi, 0x7f8fba4d
movzx ebx, al
mov eax, dword [ebp - 4]
mov cl, byte [ebp + ebx - 0x154]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 4], eax
mov al, byte [ebp + eax - 0x154]
mov byte [ebp + ebx - 0x154], al
mov eax, dword [ebp - 4]
mov byte [ebp + eax - 0x154], cl
movzx eax, byte [ebp + ebx - 0x154]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x154]
xor al, byte [ebp + edi - 0xc]
mov byte [ebp + edi - 0x54], al
inc edi
cmp edi, 8
jb 0x4315f7
xor ebx, ebx
mov byte [ebp - 0x4c], bl
and esi, 0xacc64c4a
imul edi, esi, 0x86d9d2f5
sub esp, 0xc
mov edx, esi
mov ecx, esi
mov dword [0x44a648], edi
call fcn.0042a96a
add esp, 0xc
mov dword [ebp - 0x14], 0x1c
mov dword [ebp - 0xc], 0x1d
xorps xmm1, xmm1
mov dword [ebp - 8], 0xffffff65
xorps xmm2, xmm2
mov ecx, ebx
mov dword [ebp - 0x28], 0x24
push 0x62
pop edx
mov dword [ebp - 0x10], edx
mov eax, ebx
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x24], 0x33
mov dword [ebp - 0x20], 0x4a
psubd xmm1, xmm0
mov dword [ebp - 0x1c], 0x36
movaps xmm0, xmm1
mov dword [ebp - 0x18], 0xffffff29
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [ebp - 0x38], xmm1
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 5
jl 0x4316e5
mov dword [ebp - 0x3c], ecx
mov eax, ebx
mov ecx, ebx
mov dword [ebp - 0x28], 0x30
mov dword [ebp - 0x24], 0x5a
mov dword [ebp - 0x20], 0xa
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x18], 0xffffff64
sub ecx, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 5
jl 0x431719
mov dword [ebp - 0x44], ecx
mov eax, ebx
mov ecx, 0x1c00
mov dword [ebp - 0x10], 6
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], 0x1798
sub ecx, dword [ebp + eax*4 - 0x10]
inc eax
cmp eax, 3
jl 0x43173e
push 0x2d
mov dword [ebp - 0x40], ecx
pop esi
mov ecx, edi
mov dword [ebp - 0xc], 0x2e
and ecx, 0x58f3be0a
mov dword [ebp - 8], 0x1a5
add esi, dword [ebp + ebx*4 - 0xc]
inc ebx
cmp ebx, 2
jl 0x431764
mov ebx, 0x4033f8
mov dword [ebp - 4], 0x1e8c
push 0x6c
mov eax, ebx
pop edx
add dword [ebp - 4], edx
inc eax
cmp dword [ebp - 4], 0x156c
ja 0x431795
movsx edx, byte [eax]
test edx, edx
jne 0x43177f
jmp 0x4317b4
sub esp, 0xc
mov edx, ecx
call fcn.0042a8e7
imul edi, edi, 0xd3a9de4d
push edi
mov dword [0x44a648], edi
call fcn.0042a9be
add esp, 0x10
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x10], 0xd
mov dword [ebp - 0xc], 0xb
mov dword [ebp - 8], 0xffffffe2
mov edx, edi
sub esp, 0xc
and edx, 0xbc34f02e
mov ecx, edi
mov dword [0x44a5e4], edx
call fcn.0042a8e7
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebp - 0x20], 0x1a
add esp, 0xc
movaps xmm1, xmm2
mov dword [ebp - 0x1c], 0x5c
psubd xmm1, xmm0
mov dword [ebp - 0x18], 0x314
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x3b
pop ecx
mov dword [ebp - 0x24], ecx
movups xmm0, xmmword [ebp - 0x24]
mov dword [ebp - 0x24], 0x1c
movd dword [ebp - 8], xmm1
movaps xmm1, xmm2
paddd xmm1, xmm0
mov dword [ebp - 0x20], 0x55
movaps xmm0, xmm1
mov dword [ebp - 0x1c], 0x4e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0x1741
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x24]
movd eax, xmm1
psubd xmm2, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
add eax, ecx
mov ecx, dword [ebp + 0xc]
paddd xmm2, xmm0
movups xmm0, xmm2
mov dword [ebp - 0x48], eax
psrldq xmm0, 4
paddd xmm2, xmm0
movd edi, xmm2
add edi, 0x1a00
call fcn.004342df
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
call fcn.0043430e
push 0x6c
mov dword [ebp - 4], eax
mov ecx, 0x26e1
pop eax
add ecx, eax
inc ebx
cmp ecx, 0x1352
ja 0x4318d8
movsx eax, byte [ebx]
test eax, eax
jne 0x4318be
mov edx, dword [0x44a5e4]
jmp 0x4318f0
mov edx, dword [0x44a5e4]
push dword [0x44a648]
sub edx, 0xc125d60
call fcn.0042a9be
pop ecx
imul eax, edx, 0x105a16b0
mov dword [0x44a5e4], eax
and eax, 0x48010168
push eax
mov dword [0x44a648], eax
call fcn.0042a9be
mov ebx, dword [ebp - 0x2c]
lea edx, [ebp - 0x54]
mov ecx, ebx
call fcn.00434949
mov ecx, ebx
call fcn.004348b9
mov edx, dword [ebp + 8]
push eax
call fcn.0041b5fd
mov ebx, dword [ebp - 0x30]
mov ecx, ebx
call fcn.004348b9
push eax
push ebx
push dword [ebp - 0x34]
call fcn.004341ae
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
call fcn.00434d6a
mov ecx, dword [ebp - 4]
call fcn.004348f7
push eax
push dword [ebp - 0x38]
push ecx
call fcn.0043423a
mov ecx, ebx
call fcn.004348b9
push eax
push dword [ebp - 0x3c]
push ebx
call fcn.0043423a
mov ecx, dword [ebp - 4]
call fcn.0041d467
mov ecx, ebx
call fcn.0041d467
imul esi, dword [ebp - 0x40]
add esi, esi
push esi
push dword [ebp - 0x44]
push dword [ebp + 8]
call fcn.0043423a
imul edi, dword [ebp - 0x48]
add edi, edi
push edi
push dword [ebp - 8]
push dword [ebp - 0x2c]
call fcn.0043423a
add esp, 0x44
pop edi
pop esi
pop ebx
leave
ret