Function at 0x448e00
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x602540
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x69ee98]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x318], edi
mov ebx, dword [ebp + 8]
push str.Decoding_PCX._n
push 2
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x31c], 0
call fcn.004406a0
mov eax, dword [ebx]
add esp, 8
mov dword [ebp - 4], 0
mov esi, dword [eax + 8]
mov ecx, esi
push edi
call dword [0x613aec]
mov ecx, ebx
call esi
lea eax, [edi + 0x20]
mov dword [ebp - 0x328], eax
lea ecx, [edi + 8]
mov eax, dword [eax]
mov dword [ebp - 0x33c], ecx
movzx ebx, word [eax + 0x42]
movsx eax, byte [eax + 0x41]
imul ebx, eax
imul ebx, dword [ecx]
push ebx
call fcn.005e485b
add esp, 4
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 1
jmp 0x448ec7
mov edi, dword [ebp - 0x318]
test ebx, ebx
jle 0x448faf
mov edi, dword [edi + 0x1c]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x318]
mov cl, byte [eax]
mov al, cl
and al, 0xc0
cmp al, 0xc0
je 0x448f07
mov esi, dword [ebp - 0x320]
mov byte [esi], cl
inc esi
mov dword [ebp - 0x320], esi
dec ebx
jmp 0x448ec7
mov edi, dword [edi + 0x1c]
movzx eax, cl
and eax, 0x3f
mov dword [ebp - 0x334], eax
mov eax, dword [edi]
push 1
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
mov edi, dword [ebp - 0x334]
mov al, byte [eax]
mov byte [ebp - 0x330], al
cmp edi, ebx
jle 0x448f4a
push str.repeat_count_spans_end_of_image.
push 7
call fcn.004406f0
add esp, 8
sub ebx, edi
cmp edi, 1
jl 0x448ec1
mov esi, dword [ebp - 0x320]
push edi
push dword [ebp - 0x330]
push esi
call fcn.005d7470
add esp, 0xc
add esi, edi
mov dword [ebp - 0x320], esi
jmp 0x448ec1
mov ebx, dword [ebp - 0x318]
mov edi, dword [ebp - 0x328]
lea ecx, [ebp - 0x313]
mov dword [ebp - 4], 0
mov esi, 0x10
mov edi, dword [edi]
lea edx, [edi + 0x11]
movzx eax, byte [edx - 1]
lea edx, [edx + 3]
mov byte [ecx - 1], al
lea ecx, [ecx + 3]
movzx eax, byte [edx - 3]
mov byte [ecx - 3], al
movzx eax, byte [edx - 2]
mov byte [ecx - 2], al
sub esi, 1
jne 0x448fd2
cmp byte [edi + 3], 8
jne 0x4490a6
cmp byte [edi + 0x41], 1
jne 0x4490a6
mov edi, dword [ebx + 0x1c]
push 1
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
xor ebx, ebx
mov edi, edi
cmp ebx, 0x100
jge 0x4490a6
mov edi, dword [ebp - 0x318]
push 1
mov edi, dword [edi + 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
lea ecx, [ebx + ebx*2]
push 1
mov al, byte [eax]
mov byte [ebp + ecx - 0x314], al
mov eax, dword [ebp - 0x318]
mov edi, dword [eax + 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
lea ecx, [ebx + ebx*2]
push 1
mov al, byte [eax]
mov byte [ebp + ecx - 0x313], al
mov eax, dword [ebp - 0x318]
mov edi, dword [eax + 0x1c]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
lea ecx, [ebx + ebx*2]
inc ebx
mov al, byte [eax]
mov byte [ebp + ecx - 0x312], al
jmp 0x449020
mov ebx, dword [ebp - 0x328]
mov eax, dword [ebx]
cmp byte [eax + 3], 1
jne 0x4490da
cmp byte [eax + 0x41], 1
jne 0x4490da
mov word [ebp - 0x313], 0
mov byte [ebp - 0x314], 0
mov word [ebp - 0x310], 0xffff
mov byte [ebp - 0x311], 0xff
movzx ecx, word [eax + 0x42]
mov eax, dword [ebp - 0x318]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*8]
push eax
call fcn.005e485b
mov edi, dword [ebp - 0x338]
add esp, 4
mov dword [ebp - 0x31c], eax
mov ecx, dword [edi]
push 1
push 0
mov esi, dword [ecx + 0x18]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
mov eax, dword [edi + 0x20]
xor esi, esi
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x320], esi
cmp esi, dword [eax]
jge 0x449326
mov ecx, dword [ebx]
movzx eax, word [ecx + 0x42]
mov dl, byte [ecx + 0x41]
mov edi, eax
movsx ebx, dl
imul edi, ebx
mov dword [ebp - 0x324], ebx
imul edi, esi
mov esi, eax
add edi, dword [ebp - 0x32c]
cmp dl, 3
jne 0x4491cf
cmp byte [ecx + 3], 8
jne 0x4491c8
mov eax, dword [ebp - 0x318]
xor esi, esi
cmp dword [eax + 4], esi
jle 0x449314
mov eax, dword [ebp - 0x328]
mov edx, dword [ebp - 0x334]
mov eax, dword [eax]
movzx ecx, word [eax + 0x42]
lea eax, [esi + ecx*2]
mov bl, byte [eax + edi]
lea eax, [ecx + esi]
mov cl, byte [eax + edi]
mov eax, dword [ebp - 0x320]
mov eax, dword [edx + eax*4]
lea edx, [eax + esi*4]
mov al, byte [esi + edi]
mov byte [edx], bl
inc esi
mov ebx, dword [ebp - 0x318]
mov byte [edx + 2], al
mov byte [edx + 1], cl
mov byte [edx + 3], 0xff
cmp esi, dword [ebx + 4]
jl 0x449171
mov esi, dword [ebp - 0x320]
mov ebx, dword [ebp - 0x328]
inc esi
jmp 0x44911f
mov bl, byte [ecx + 3]
mov bh, bl
jmp 0x449219
cmp dl, 1
jne 0x449200
movsx ax, byte [ecx + 3]
mov ebx, dword [ebp - 0x318]
mov ecx, ebx
movzx eax, ax
push eax
movsx ax, dl
movzx eax, ax
push eax
push esi
push edi
mov edi, dword [ebp - 0x31c]
push edi
call fcn.004494d0
jmp 0x4492c3
mov bl, byte [ecx + 3]
mov bh, bl
cmp dl, 4
jle 0x449219
push str.Cant_handle_more_than_4_planes.
push 7
call fcn.004406f0
add esp, 8
cmp bh, 1
je 0x44922d
push str.Cant_handle_more_than_1_bit_per_pixel.
push 7
call fcn.004406f0
add esp, 8
movsx eax, si
mov dword [ebp - 0x330], eax
movsx ecx, bl
mov esi, dword [ebp - 0x31c]
lea eax, [eax*8 - 8]
cdq
idiv ecx
test eax, eax
jle 0x449259
push eax
push 0
push esi
call fcn.005d7470
add esp, 0xc
cmp dword [ebp - 0x324], 0
jle 0x4492b7
mov eax, dword [ebp - 0x330]
mov ebx, 1
lea ecx, [ecx]
mov ecx, esi
xor esi, esi
test eax, eax
jle 0x4492a6
jmp 0x449280
movzx edx, byte [edi]
mov eax, 0x80
inc edi
lea esp, [esp]
test edx, eax
je 0x449296
or byte [ecx], bl
inc ecx
sar eax, 1
jne 0x449290
mov eax, dword [ebp - 0x330]
inc esi
cmp esi, eax
jl 0x449280
mov esi, dword [ebp - 0x31c]
rol ebx, 1
sub dword [ebp - 0x324], 1
jne 0x449270
mov edi, dword [ebp - 0x31c]
mov ebx, dword [ebp - 0x318]
xor esi, esi
cmp dword [ebx + 4], esi
jle 0x449314
lea ebx, [ebx]
movzx ecx, byte [esi + edi]
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x320]
lea ecx, [ecx + ecx*2]
mov eax, dword [edx + eax*4]
mov byte [eax + esi*4 + 3], 0xff
lea edx, [eax + esi*4]
movzx eax, byte [ebp + ecx - 0x314]
mov byte [edx + 2], al
inc esi
movzx eax, byte [ebp + ecx - 0x313]
mov byte [edx + 1], al
movzx eax, byte [ebp + ecx - 0x312]
mov byte [edx], al
cmp esi, dword [ebx + 4]
jl 0x4492d0
mov esi, dword [ebp - 0x320]
mov ebx, dword [ebp - 0x328]
inc esi
jmp 0x44911f
mov edi, dword [ebp - 0x338]
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x613aec]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x449350
push eax
call fcn.005dafbf
add esp, 4
mov eax, dword [ebp - 0x31c]
test eax, eax
je 0x449363
push eax
call fcn.005dafbf
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005d4ba5
mov esp, ebp
pop ebp
ret 4