Function at 0x18004e228
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rdi, rdx
lea r8, str.type
mov r13, rcx
lea rdx, [rbp + 0x48]
mov rcx, rdi
call fcn.180033d80
cmp word [rdi + 0xe], 3
jne 0x18004e581
mov ecx, dword [rdi]
movabs r14, 0xffffffffffff
mov rax, qword [rdi + 8]
mov rbx, qword [rbp + 0x48]
and rax, r14
shl rcx, 5
add rcx, rax
cmp rbx, rcx
je 0x18004e52b
movzx eax, word [rbx + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004e52b
lea r8, str.origin
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.180033d80
cmp word [rdi + 0xe], 3
jne 0x18004e560
mov ecx, dword [rdi]
mov rax, qword [rdi + 8]
mov rsi, qword [rbp + 0x48]
and rax, r14
shl rcx, 5
add rcx, rax
cmp rsi, rcx
je 0x18004e522
movzx eax, word [rsi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004e522
lea r8, str.target
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.180033d80
cmp word [rdi + 0xe], 3
jne 0x18004e626
mov ecx, dword [rdi]
mov rax, qword [rdi + 8]
mov rdi, qword [rbp + 0x48]
and rax, r14
shl rcx, 5
add rcx, rax
cmp rdi, rcx
je 0x18004e511
movzx eax, word [rdi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004e511
movzx eax, word [rbx + 0x1e]
add rbx, 0x10
shr ax, 0xa
test al, 1
je 0x18004e605
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x18004e361
mov r15, rbx
jmp 0x18004e368
mov r15, qword [rbx + 8]
and r15, r14
xor r14d, r14d
xor r12d, r12d
mov rdx, qword [0x180177198]
mov rcx, r15
mov rdx, qword [rdx + r12]
call fcn.1800b32a4
test eax, eax
je 0x18004e398
inc r14
add r12, 0x28
cmp r12, 0x1a40
jb 0x18004e36e
mov r14b, 0xa8
cmp r14b, 0xa8
jne 0x18004e3fd
movzx eax, word [rbx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004e5a2
mov r15d, 0x1000
test word [rbx + 0xe], r15w
jne 0x18004e3cc
mov rbx, qword [rbx + 8]
movabs rsi, 0xffffffffffff
and rbx, rsi
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_type:_
mov qword [rbp + 0x48], rbx
lea r9, [rbp + 0x48]
mov qword [rbp - 0x50], rax
lea r8, [rbp + 0x50]
mov qword [rbp - 0x48], 0x3f
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x20]
call fcn.1800516b8
jmp 0x18004e54f
lea rcx, [rsi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004e5e4
mov r15d, 0x1000
movabs rsi, 0xffffffffffff
test word [rcx + 0xe], r15w
jne 0x18004e42f
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005f094
mov qword [rbp + 0x58], rax
lea rcx, [rdi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004e5c3
test word [rcx + 0xe], r15w
jne 0x18004e45a
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005f094
movzx edi, r14b
lea r8, [rbp + 0x58]
mov ecx, edi
mov qword [rbp - 0x50], rax
shl rcx, 6
lea rdx, [rbp - 0x40]
add rcx, 0x130
mov rbx, rax
add rcx, r13
call fcn.180051838
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp r14b, 0xa8
jb 0x18004e49d
lea rax, str.invalid
jmp 0x18004e4ac
mov rax, qword [0x180177198]
lea rcx, [rdi + rdi*4]
mov rax, qword [rax + rcx*8]
lea rcx, [rbp + 0x48]
mov qword [rbp + 0x48], rax
mov qword [rsp + 0x28], rcx
lea rax, str.mod_:_loaded_redirect_:x____:x___
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x40], rax
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x58]
lea rcx, [rbp - 0x20]
mov qword [rbp - 0x38], 0x29
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x40]
call fcn.180051758
mov rdx, rax
xor ecx, ecx
call fcn.180046b0c
mov al, 1
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_target
mov qword [rbp - 0x38], 0x3d
jmp 0x18004e53a
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_origin
jmp 0x18004e518
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_type
mov qword [rbp - 0x38], 0x3b
lea r8, [rbp + 0x50]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.18003461c
mov rdx, rax
mov ecx, 2
call fcn.180046b0c
xor al, al
jmp 0x18004e4f6
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x40]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x40]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x40]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180015764
lea rdx, [0x18015f6c8]
lea rcx, [rbp - 0x20]
call fcn.1800a32f0
int3