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

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1ac
cmp byte [eax + 0x42dc80], 0
je 0x1447603
inc eax
cmp eax, 0x52e
jne 0x14475e2
or dword [0x428114], 0xc6672414
call dword [0x42e098]
mov eax, dword [0x42800c]
lea edi, [ebp - 0x17a]
mov esi, 0x42ab82
lea edx, [eax - 0x7b4bdd91]
and eax, 0xdd30afe4
mov dword [0x428114], edx
mov dword [0x42800c], eax
mov dword [esp], 0x42c1d0
call fcn.0144f47c
mov ecx, 5
mov edx, 0x42dc80
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x6cf
movsx eax, byte [edx]
inc edx
test al, al
je 0x144766e
add ecx, eax
cmp ecx, 0x1d5c
jbe 0x1447646
call fcn.0144d9a4
mov eax, dword [0x42800c]
or eax, 0x85cfdf04
mov dword [0x428114], eax
jmp 0x1447678
or dword [0x42800c], 0xf7eeb391
sub dword [0x42800c], 0x2743120
lea edi, [ebp - 0x152]
mov esi, 0x42ab96
call fcn.0144e9ec
mov ecx, 0x3a
mov edx, dword [0x428114]
xor eax, eax
rep movsb byte es:[edi], byte [esi]
mov byte [ebp + eax - 0x118], al
inc eax
cmp eax, 0x100
jne 0x14476a1
lea eax, [edx + 0x14252a00]
xor esi, esi
xor ecx, ecx
mov edi, 0x39
mov dword [0x428114], eax
mov eax, ecx
xor edx, edx
mov bl, byte [ebp + ecx - 0x118]
div edi
movzx eax, byte [ebp + edx - 0x152]
movzx edx, bl
add eax, edx
add eax, esi
movzx esi, al
mov al, byte [ebp + esi - 0x118]
mov byte [ebp + ecx - 0x118], al
inc ecx
mov byte [ebp + esi - 0x118], bl
cmp ecx, 0x100
jne 0x14476c4
mov byte [ebp - 0x19], al
xor edx, edx
xor edi, edi
mov byte [ebp + esi - 0x118], bl
xor esi, esi
lea eax, [esi + 1]
mov dword [ebp - 0x1a0], edx
movzx esi, al
mov eax, dword [0x428114]
mov bl, byte [ebp + esi - 0x118]
mov ecx, eax
xor eax, 0xfa3865d0
xor ecx, 0xa47a0954
sub eax, 0xa68deed
mov dword [0x428114], ecx
lea ecx, [ebx + edi]
movzx edi, cl
mov dword [0x42800c], eax
call dword [0x42e0c8]
mov eax, dword [0x428114]
xor eax, 0xe042fab7
mov dword [0x42800c], eax
mov al, byte [ebp + edi - 0x118]
mov byte [ebp + esi - 0x118], al
mov byte [ebp + edi - 0x118], bl
add bl, byte [ebp + esi - 0x118]
movzx ebx, bl
mov al, byte [ebp + ebx - 0x118]
lea ebx, [ebp - 0x166]
mov byte [ebp - 0x199], al
call dword [0x42e0c0]
mov edx, dword [ebp - 0x1a0]
imul eax, eax, 0x997292b3
mov dword [0x42800c], eax
mov al, byte [ebp - 0x199]
xor al, byte [ebp + edx - 0x17a]
mov byte [ebp + edx - 0x166], al
inc edx
cmp edx, 0x14
jne 0x1447711
lea edi, [ebp - 0x18c]
mov esi, 0x4140d0
mov ecx, 4
mov byte [ebp - 0x152], 0
rep movsd dword es:[edi], dword [esi]
xor esi, esi
or dword [0x428114], 0x634e2d07
mov edi, 0x3e
mov dword [esp], 0x42ab5e
call dword [0x42e0b4]
push eax
imul eax, dword [0x42800c], 0x89733924
mov dword [0x42800c], eax
call fcn.0144fb88
mov edx, 0x42c1d0
mov ecx, 0xd42
movsx eax, byte [edx]
inc edx
test al, al
je 0x144785c
add ecx, eax
cmp ecx, 0x1b7c
jbe 0x144781e
mov dword [esp + 8], 0x42dc80
mov eax, dword [0x428114]
mov dword [esp], 0x42ab68
mov dword [esp + 4], eax
call fcn.0144d43c
mov eax, dword [0x42800c]
or eax, 0x3c290a6a
mov dword [0x428114], eax
imul eax, dword [0x428114], 0x984700b3
mov dword [0x42800c], eax
xor eax, 0x1d352fcd
mov dword [0x428114], eax
mov dword [esp + 8], 0x42dc80
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.014518e4
add edi, dword [ebp + esi*4 - 0x18c]
inc esi
cmp esi, 4
jne 0x1447814
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x2048
mov dword [esp], 0x422ce0
call fcn.0144a580
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret