Function at 0x434d60
Capabilities:
Encode data using base64
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov eax, dword [r8 + 8]
mov rbx, qword [r8 + 0x10]
mov dword [rsp + 0x4c], r9d
shr r9d, 0xc
mov rsi, rcx
and r9d, 1
mov r13, rdx
mov qword [rcx + 8], 0
mov edi, eax
mov qword [rcx], 0
mov byte [rcx + 0x10], r9b
add rdi, rbx
cmp eax, 1
mov byte [rcx + 0x11], 0
je 0x435120
mov ecx, dword [rsp + 0x4c]
mov rax, qword [rdx + 0x448]
and ecx, 0xf00
mov qword [rsp + 0x28], rax
cmp ecx, 0x400
je 0x435100
cmp ecx, 0x200
je 0x435141
cmp ecx, 0x800
mov rdx, 0xfffffffffffffff7
mov qword [rsp + 0x20], 0xa
mov r12d, 0xa
je 0x43516f
cmp qword [rsp + 0x28], 0x3f
mov rax, 0xffffffffffffffff
ja 0x434e1e
mov ecx, 0x40
sub ecx, dword [rsp + 0x28]
shr rax, cl
add rax, rdx
xor edx, edx
div qword [rsp + 0x20]
add rax, 1
cmp rbx, rdi
jae 0x434ee0
lea rcx, [rsp + 0x70]
mov byte [rsp + 0x4b], 0
lea rbp, [0x004cacc0]
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x40], rcx
jmp 0x434e82
cmp r12d, 0x10
je 0x435090
cmp cl, 0x27
jne 0x434ec6
cmp byte [r13 + 0x41b], 0
je 0x434ec6
add rbx, 1
cmp rbx, rdi
je 0x434ec6
movzx ecx, byte [rbx]
movzx edx, cl
mov r8d, edx
movzx r8d, word [rbp + r8*2]
test r8b, 4
je 0x434e60
lea rcx, str.cccccccccccccccccccccccccccccccccccccccccccccccc
movzx r8d, byte [rcx + rdx]
mov rdx, qword [rsi + 8]
cmp rdx, rax
jae 0x434f60
imul rdx, qword [rsp + 0x20]
add rbx, 1
add rdx, r8
cmp rbx, rdi
mov qword [rsi + 8], rdx
jne 0x434e82
cmp byte [rsp + 0x4b], 0
je 0x434edb
test dword [rsp + 0x4c], 0x1000000
je 0x435186
movzx r9d, byte [rsi + 0x10]
test r9b, r9b
jne 0x434f46
cmp byte [r13 + 0x415], 0
jne 0x435131
cmp qword [rsp + 0x28], 0x40
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
ja 0x435160
mov ecx, dword [rsp + 0x28]
sub ecx, 1
shr rax, cl
and eax, 1
xor rax, 1
and eax, 1
test al, al
jne 0x434f46
cmp r12d, 0xa
jne 0x434f42
cmp byte [r13 + 0x40d], 1
lea r8, str.integer_constant_is_so_large_that_it_is_unsigned
mov rcx, r13
sbb edx, edx
not edx
and edx, 2
call fcn.004241b0
mov byte [rsi + 0x10], 1
mov rax, rsi
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r12d, 2
mov r9, qword [rsi]
movzx r11d, byte [rsi + 0x10]
je 0x4350e0
cmp r12d, 0x10
je 0x4350a1
mov rax, r9
lea rcx, [r9*8]
lea r10, [rdx*8]
shr rax, 0x3d
test rax, rax
mov rax, rdx
setne r15b
shr rax, 0x3d
or rax, rcx
cmp r12d, 0xa
jne 0x4350d3
lea rcx, [rdx + rdx]
shr rdx, 0x3f
lea r14, [rdx + r9*2]
add r8, rcx
adc r14, 0
add r10, r8
mov byte [rsp + 0xa0], r11b
mov rdx, qword [rsp + 0x40]
adc r14, 0
mov rcx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x28]
add r14, rax
mov eax, 1
mov qword [rsp + 0x58], r10
cmovb r15d, eax
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x50], r14
mov byte [rsp + 0xa1], r15b
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
call fcn.00433330
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov r10, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rax
shr ax, 8
mov qword [rsp + 0x98], rdx
cmp r10, rdx
mov qword [rsp + 0x90], rcx
je 0x4350f0
mov eax, 1
mov byte [rsp + 0xa1], al
mov rax, qword [rsp + 0x90]
mov qword [rsi], rax
mov rax, qword [rsp + 0x98]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0xa0]
mov ecx, eax
mov qword [rsi + 0x10], rax
xor eax, eax
shr cx, 8
or byte [rsp + 0x4b], cl
jmp 0x434e79
test r8w, 0x100
je 0x434e6a
jmp 0x434e97
mov eax, 4
mov r14d, 0x3c
mov r15, r9
mov ecx, r14d
mov r10, rdx
shr r15, cl
mov ecx, eax
test r15, r15
setne r15b
shl r9, cl
shl r10, cl
mov ecx, r14d
mov rax, r9
shr rdx, cl
or rax, rdx
xor r14d, r14d
jmp 0x434fc1
mov eax, 1
mov r14d, 0x3f
jmp 0x4350ac
cmp r14, rcx
mov ecx, 1
cmovne eax, ecx
jmp 0x435055
add rbx, 1
mov rdx, 0xfffffffffffffff9
mov qword [rsp + 0x20], 8
mov r12d, 8
jmp 0x434e03
movzx eax, byte [rbx]
sub eax, 0x30
cdqe
mov qword [rcx + 8], rax
jmp 0x434f46
cmp byte [r13 + 0x10], 0
jne 0x434f46
jmp 0x434ef3
add rbx, 2
mov rdx, 0xfffffffffffffff1
mov qword [rsp + 0x20], 0x10
mov r12d, 0x10
jmp 0x434e03
mov rdx, qword [rsp + 0x28]
call fcn.00433a80
jmp 0x434f1a
add rbx, 2
mov dl, 0xff
mov qword [rsp + 0x20], 2
mov r12b, 2
jmp 0x434e03
lea r8, str.integer_constant_is_too_large_for_its_type
mov edx, 2
mov rcx, r13
call fcn.004241b0
jmp 0x434f46