Function at 0x42f030
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov edi, dword [0x6213f0]
mov esi, dword [eax]
mov ecx, edi
shl ecx, 6
mov eax, edi
shl eax, 4
mov edx, esi
add eax, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 8], esi
lea ecx, [eax + 0x621128]
mov dword [ebp - 0xc], ecx
mov edx, dword [ecx - 0x14]
mov ecx, edx
xor ecx, 1
or ecx, dword [ebp - 4]
je 0x42f0a0
mov ecx, esi
xor ecx, 1
or edx, ecx
je 0x42f0a0
mov dword [ebp - 0x10], 0xffffd8f1
mov esi, 0xffffd8f1
mov dword [ebp - 0x14], 0xffffd8f1
mov dword [ebp - 0x18], 0xffffd8f1
jmp 0x42f1a4
mov ecx, dword [ebp - 0xc]
cmp dword [ecx - 0x1c], 0
jne 0x42f120
fld dword [edi*4 + 0x61e3bc]
fmul dword [str.U1E]
fstp st(1)
fld dword [eax + 0x620e3c]
fstp dword [ebp - 4]
fld st(0)
fadd dword [ebp - 4]
ffree st(1)
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x10], esi
fld dword [edi*4 + 0x61e3cc]
fmul dword [str.U1E]
fadd dword [ebp - 4]
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
fld dword [edi*4 + 0x61e3ec]
fmul dword [str.U1E]
fadd dword [ebp - 4]
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
fld dword [edi*4 + 0x61e3dc]
jmp 0x42f18d
fld dword [edi*4 + 0x61e3ec]
fmul dword [str.U1E]
fstp st(1)
fld dword [eax + 0x620e3c]
fstp dword [ebp - 4]
fld st(0)
fadd dword [ebp - 4]
ffree st(1)
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x10], esi
fld dword [edi*4 + 0x61e3dc]
fmul dword [str.U1E]
fadd dword [ebp - 4]
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x14], esi
fld dword [edi*4 + 0x61e3bc]
fmul dword [str.U1E]
fadd dword [ebp - 4]
call fcn.00476d93
fistp dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
fld dword [edi*4 + 0x61e3cc]
fmul dword [str.U1E]
fadd dword [ebp - 4]
call fcn.00476d93
fistp dword [ebp - 4]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x18], edi
cmp dword [ebp - 8], 0
jne 0x42f6b5
lea eax, [0x5a18f8]
lea edx, [0x5a18f4]
lea ecx, [0x4d5d24]
lea edi, [0x5a18f8]
push eax
push 1
push edx
push ecx
call fcn.0042e770
lea eax, str.__Trailer
lea edx, [0x4d5d14]
push edi
push 9
push eax
push edx
lea edi, [0x5a18f8]
call fcn.0042e770
lea eax, [0x5a18f4]
lea edx, [0x4d5d24]
push edi
push 1
push eax
push edx
call fcn.0042e770
mov edi, dword [0x6213f0]
mov eax, edi
shl eax, 6
shl edi, 4
add edi, eax
cmp dword [edi + 0x621114], 1
jne 0x42f304
mov dword [ebp - 0x48], 0xff
xor edx, edx
lea eax, [0x5a191c]
lea edi, [0x4ea77c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], eax
sub esp, 4
lea edx, [ebp - 0x48]
lea ecx, [0x4d5d0c]
lea eax, [ebp - 0x38]
push edi
push edx
push ecx
push 0x784ff00
push eax
lea edi, [ebp - 0x40]
call fcn.00479400
add esp, 0x18
mov dword [ebp - 0x40], esi
sub esp, 4
lea eax, [0x4d5d08]
lea edx, [ebp - 0x38]
push edi
push eax
push edx
lea edi, [ebp - 0x40]
call int.00479880
add esp, 0x10
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x40], esi
sub esp, 4
lea eax, [0x4d5d08]
lea edx, [ebp - 0x38]
push edi
lea edi, [ebp - 0x40]
push eax
push edx
call int.00479880
add esp, 0x10
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x40], esi
sub esp, 4
lea eax, [0x4d5d04]
lea edx, [ebp - 0x38]
push edi
lea esi, [0x5a18f8]
push eax
push edx
call int.00479880
add esp, 0x10
lea edi, [0x5a191c]
lea eax, [0x4d5d14]
push esi
push 0x23
push edi
lea esi, [0x5a18f8]
push eax
lea edi, [0x5a18f4]
call fcn.0042e770
lea eax, [0x4d5d24]
push esi
push 1
push edi
push eax
call fcn.0042e770
lea esi, [0x5a18f8]
lea edi, str.__DocumentFonts:_t
lea eax, [0x4d5d14]
push esi
push 0x10
push edi
push eax
call fcn.0042e770
mov dword [ebp - 0x3c], 1
mov esi, dword [0x6213f0]
mov edi, esi
shl edi, 6
shl esi, 4
add esi, edi
mov esi, dword [esi + 0x6210f4]
mov dword [ebp - 4], esi
mov dword [ebp - 0xc], esi
test esi, esi
jle 0x42f4fa
mov eax, eax
mov eax, dword [0x6213f0]
mov edx, eax
shl edx, 6
shl eax, 4
add eax, edx
mov ecx, dword [eax + 0x621104]
mov ecx, dword [ecx*4 + 0x5b9ddc]
add ecx, dword [ebp - 0x3c]
cmp dword [ecx*4 + 0x5bad84], 1
jne 0x42f4e4
ffree st(0)
mov edx, dword [eax + 0x6210fc]
lea eax, [0x5a18f8]
mov edx, dword [edx*4 + 0x5b9ddc]
add edx, dword [ebp - 0x3c]
mov esi, dword [edx*4 + 0x5bad84]
mov ecx, dword [edx*4 + 0x5bad88]
sub ecx, esi
lea edx, [0x5a18f4]
inc ecx
mov dword [ebp - 4], ecx
lea ecx, [0x4d5cf0]
push eax
push 1
push edx
push ecx
call fcn.0042e770
mov eax, dword [0x5a18f8]
sub eax, 2
cmp eax, dword [ebp - 4]
jge 0x42f411
lea edx, [0x5a18f8]
lea ecx, [0x5a18f4]
lea eax, [0x4d5d24]
push edx
push 1
push ecx
push eax
call fcn.0042e770
lea eax, [0x5a18f8]
lea edx, str.__DocumentFonts:_t
lea ecx, [0x4d5d14]
push eax
push 0x10
push edx
push ecx
call fcn.0042e770
mov eax, dword [ebp - 4]
mov ecx, dword [0x6213f0]
dec eax
mov edx, eax
test eax, eax
jle 0x42f4b7
mov edi, ecx
shl edi, 6
shl ecx, 4
add edi, ecx
mov ecx, 1
mov edi, dword [edi + 0x6210f8]
add esi, dword [edi*4 + 0x5ba0fc]
cmp eax, 3
lea esi, [esi + 0x5bad8a]
jle 0x42f4a0
mov eax, eax
movzx eax, byte [esi]
lea esi, [esi + 4]
and eax, 0xff
mov byte [ecx + 0x5a191c], al
movzx eax, byte [esi - 3]
and eax, 0xff
mov byte [ecx + 0x5a191d], al
movzx eax, byte [esi - 2]
and eax, 0xff
mov byte [ecx + 0x5a191e], al
movzx eax, byte [esi - 1]
and eax, 0xff
mov byte [ecx + 0x5a191f], al
add ecx, 4
sub edx, 4
cmp edx, 3
jg 0x42f450
test edx, edx
jle 0x42f4b7
mov eax, eax
nop
movzx eax, byte [esi]
lea esi, [esi + 1]
and eax, 0xff
mov byte [ecx + 0x5a191c], al
inc ecx
dec edx
test edx, edx
jg 0x42f4a0
mov byte [0x5a191c], 0x20
mov edi, dword [ebp - 4]
test edi, edi
jge 0x42f4c7
xor edi, edi
lea eax, [0x5a18f8]
ffree st(0)
lea esi, [0x5a191c]
lea edx, [0x4d5d14]
push eax
push edi
push esi
push edx
call fcn.0042e770
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc]
inc edi
dec eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0xc], eax
test eax, eax
jg 0x42f350
mov ecx, dword [0x6213f0]
mov edi, ecx
shl edi, 6
shl ecx, 4
add edi, ecx
mov edi, dword [edi + 0x6210f0]
cmp edi, 9
jg 0x42f520
mov dword [ebp - 4], 1
jmp 0x42f532
mov eax, 3
cmp edi, 0x63
jg 0x42f52f
mov eax, 2
mov dword [ebp - 4], eax
lea ecx, [0x5a18f8]
ffree st(0)
lea edi, [0x5a18f4]
lea esi, [0x4d5d24]
push ecx
push 1
push edi
push esi
call fcn.0042e770
mov dword [ebp - 0x48], 0x15
xor esi, esi
mov dword [ebp - 0x40], 0xe
lea edi, str.___Pages:__I
lea edx, [0x5a1904]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x44], edx
sub esp, 4
lea esi, [0x4ea7a4]
lea eax, [ebp - 0x48]
lea edx, [0x4d5cd8]
push esi
lea ecx, [ebp - 0x38]
push eax
push edx
push 0x784ff00
push ecx
call fcn.00479400
add esp, 0x18
mov edi, dword [ebp - 4]
mov dword [ebp - 0x40], edi
sub esp, 4
lea esi, [ebp - 0x40]
lea eax, [0x4d5d08]
lea edx, [ebp - 0x38]
lea edi, [0x4d5cd4]
push esi
push eax
push edx
call int.00479880
add esp, 0x10
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], 1
sub esp, 4
lea eax, [ebp - 0x40]
lea edx, [0x4d5cd0]
lea ecx, [ebp - 0x38]
push eax
push edx
push ecx
call int.00479880
mov esi, dword [0x6213f0]
add esp, 0x10
mov edi, esi
mov ecx, 0x15
shl edi, 6
shl esi, 4
add esi, edi
xor eax, eax
lea edi, [ebp - 0x50]
mov edx, dword [esi + 0x6210f0]
lea esi, [0x5a1904]
mov dword [ebp - 0x38], eax
call fcn.004792dd
mov dword [ebp - 0x60], 0xff
lea edi, [0x5a191c]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edx
lea edi, [ebp - 0x88]
lea esi, [ebp - 0x50]
mov ecx, 0x15
lea edx, [ebp - 0x88]
call fcn.004792dd
mov dword [ebp - 0x70], 0x15
mov dword [ebp - 0x68], edx
sub esp, 4
lea edi, [ebp - 0x70]
lea eax, [ebp - 0x60]
lea ecx, [0x4d5cc8]
push edi
lea edx, [ebp - 0x38]
push eax
push ecx
push 0x784ff08
push edx
call fcn.00479400
add esp, 0x18
mov esi, dword [ebp - 4]
add esi, 9
test esi, esi
jge 0x42f67b
xor esi, esi
lea edi, [0x5a18f8]
lea eax, [0x5a191c]
lea edx, [0x4d5d14]
push edi
lea edi, [0x5a18f8]
push esi
push eax
push edx
lea esi, [0x5a18f4]
call fcn.0042e770
lea eax, [0x4d5d24]
push edi
push 1
push esi
push eax
jmp 0x42f810
cmp dword [ebp - 8], 1
jne 0x42f817
lea edi, [0x5a18f8]
lea eax, [0x5a18f4]
lea edx, [0x4d5d24]
push edi
push 1
push eax
push edx
lea edi, [0x5a18f8]
call fcn.0042e770
lea eax, str.__PageTrailer
lea edx, [0x4d5d14]
push edi
push 0xd
push eax
push edx
lea edi, [0x5a18f8]
call fcn.0042e770
lea eax, [0x5a18f4]
lea edx, [0x4d5d24]
push edi
push 1
push eax
push edx
call fcn.0042e770
mov edi, dword [0x6213f0]
mov eax, edi
shl eax, 6
shl edi, 4
add edi, eax
cmp dword [edi + 0x621114], 1
je 0x42f817
mov dword [ebp - 0x48], 0xff
xor edx, edx
lea eax, [0x5a191c]
lea edi, [0x4ea750]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], eax
sub esp, 4
lea edx, [ebp - 0x48]
lea ecx, [0x4d5d0c]
lea eax, [ebp - 0x38]
push edi
push edx
push ecx
push 0x784ff00
push eax
lea edi, [ebp - 8]
call fcn.00479400
add esp, 0x18
mov dword [ebp - 8], esi
sub esp, 4
lea eax, [0x4d5d08]
lea edx, [ebp - 0x38]
lea ebx, [0x4d5d24]
push edi
push eax
push edx
lea edi, [ebp - 8]
call int.00479880
add esp, 0x10
mov esi, dword [ebp - 0x14]
mov dword [ebp - 8], esi
sub esp, 4
lea eax, [0x4d5d08]
lea edx, [ebp - 0x38]
push edi
lea edi, [ebp - 8]
push eax
push edx
call int.00479880
add esp, 0x10
mov esi, dword [ebp - 0x18]
mov dword [ebp - 8], esi
sub esp, 4
lea eax, [0x4d5d04]
lea edx, [ebp - 0x38]
push edi
lea esi, [0x5a18f8]
push eax
push edx
call int.00479880
add esp, 0x10
lea edi, [0x5a191c]
lea eax, [0x4d5d14]
push esi
push 0x27
lea esi, [0x5a18f8]
push edi
push eax
lea edi, [0x5a18f4]
call fcn.0042e770
push esi
push 1
push edi
push ebx
ffree st(0)
call fcn.0042e770
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4