Function at 0x2090331e2
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov rax, qword [sym.imp.wxmsw32u_gcc_cb.dll_wxEmptyString]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x10]
lea rcx, [rdx + 0x20]
mov rdx, rax
call fcn.2090790b0
mov byte [rbp - 1], 0
jmp 0x2090335c8
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
mov byte [rbp - 3], al
cmp byte [rbp - 3], 0x1c
jne 0x2090332d1
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
movzx eax, al
mov dword [rbp - 0x14], eax
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
movzx eax, al
mov dword [rbp - 0x18], eax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, rcx
mov dword [rax], 0
mov eax, dword [rbp - 0x14]
shl eax, 8
mov ecx, eax
mov rax, qword [rbp + 0x10]
mov r8, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
lea rdx, [r8 + rax]
mov eax, ecx
or eax, dword [rbp - 0x18]
mov dword [rdx + 4], eax
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x58], edx
jmp 0x2090335c8
cmp byte [rbp - 3], 0x1f
jbe 0x20903334c
cmp byte [rbp - 3], 0xf6
ja 0x20903334c
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, rcx
mov dword [rax], 0
movzx ecx, byte [rbp - 3]
mov rax, qword [rbp + 0x10]
mov r8, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, r8
lea edx, [rcx - 0x8b]
mov dword [rax + 4], edx
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x58], edx
jmp 0x2090335c8
cmp byte [rbp - 3], 0xf6
jbe 0x2090333f8
cmp byte [rbp - 3], 0xfa
ja 0x2090333f8
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
mov byte [rbp - 4], al
movzx eax, byte [rbp - 3]
sub eax, 0xf7
shl eax, 8
mov edx, eax
movzx eax, byte [rbp - 4]
add eax, edx
add eax, 0x6c
mov word [rbp - 6], ax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, rcx
mov dword [rax], 0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
lea rdx, [rcx + rax]
movsx eax, word [rbp - 6]
mov dword [rdx + 4], eax
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x58], edx
jmp 0x2090335c8
cmp byte [rbp - 3], 0xfa
jbe 0x2090334a6
cmp byte [rbp - 3], 0xff
je 0x2090334a6
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
mov byte [rbp - 7], al
movzx eax, byte [rbp - 3]
mov edx, 0xfb
sub edx, eax
mov eax, edx
shl eax, 8
movzx edx, byte [rbp - 7]
sub eax, edx
sub eax, 0x6c
mov word [rbp - 0xa], ax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, rcx
mov dword [rax], 0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
lea rdx, [rcx + rax]
movsx eax, word [rbp - 0xa]
mov dword [rdx + 4], eax
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x58], edx
jmp 0x2090335c8
cmp byte [rbp - 3], 0xff
jne 0x209033528
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadInt_wxInputStream_
mov dword [rbp - 0x10], eax
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
add rax, rcx
mov dword [rax], 0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 0x50]
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
movsxd rdx, eax
mov rax, rdx
shl rax, 3
sub rax, rdx
shl rax, 3
lea rdx, [rcx + rax]
mov eax, dword [rbp - 0x10]
mov dword [rdx + 4], eax
mov rax, qword [rbp + 0x10]
mov eax, dword [rax + 0x58]
lea edx, [rax + 1]
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x58], edx
jmp 0x2090335c8
cmp byte [rbp - 3], 0x1f
ja 0x2090335c8
cmp byte [rbp - 3], 0x1c
je 0x2090335c8
mov byte [rbp - 1], 1
cmp byte [rbp - 3], 0xc
jne 0x20903359e
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov rcx, rax
call method.wxPdfCffDecoder.ReadByte_wxInputStream_
mov byte [rbp - 2], al
movzx edx, byte [rbp - 2]
mov eax, dword [0x209093978]
cmp edx, eax
jl 0x209033573
mov eax, dword [0x209093978]
sub eax, 1
mov byte [rbp - 2], al
movzx eax, byte [rbp - 2]
cdqe
lea rdx, [rax*8]
lea rax, [0x209093840]
mov rax, qword [rdx + rax]
mov rdx, qword [rbp + 0x10]
lea rcx, [rdx + 0x20]
mov rdx, rax
call fcn.2090790b0
jmp 0x2090335c7
movzx eax, byte [rbp - 3]
cdqe
lea rdx, [rax*8]
lea rax, [0x209093740]
mov rax, qword [rdx + rax]
mov rdx, qword [rbp + 0x10]
lea rcx, [rdx + 0x20]
mov rdx, rax
call fcn.2090790b0
nop
movzx eax, byte [rbp - 1]
xor eax, 1
test al, al
jne 0x209033215
nop
nop
add rsp, 0x40
pop rbp
ret