Function at 0x18004ce44
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.1800329bc
cmp word [rdi + 0xe], 3
jne 0x18004d19d
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 0x18004d147
movzx eax, word [rbx + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004d147
lea r8, str.origin
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800329bc
cmp word [rdi + 0xe], 3
jne 0x18004d17c
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 0x18004d13e
movzx eax, word [rsi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004d13e
lea r8, str.target
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800329bc
cmp word [rdi + 0xe], 3
jne 0x18004d242
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 0x18004d12d
movzx eax, word [rdi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004d12d
movzx eax, word [rbx + 0x1e]
add rbx, 0x10
shr ax, 0xa
test al, 1
je 0x18004d221
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x18004cf7d
mov r15, rbx
jmp 0x18004cf84
mov r15, qword [rbx + 8]
and r15, r14
xor r14d, r14d
xor r12d, r12d
mov rdx, qword [0x180173ed8]
mov rcx, r15
mov rdx, qword [rdx + r12]
call fcn.1800b16b4
test eax, eax
je 0x18004cfb4
inc r14
add r12, 0x28
cmp r12, 0x1a40
jb 0x18004cf8a
mov r14b, 0xa8
cmp r14b, 0xa8
jne 0x18004d019
movzx eax, word [rbx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004d1be
mov r15d, 0x1000
test word [rbx + 0xe], r15w
jne 0x18004cfe8
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.1800502d4
jmp 0x18004d16b
lea rcx, [rsi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004d200
mov r15d, 0x1000
movabs rsi, 0xffffffffffff
test word [rcx + 0xe], r15w
jne 0x18004d04b
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005e1e0
mov qword [rbp + 0x58], rax
lea rcx, [rdi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004d1df
test word [rcx + 0xe], r15w
jne 0x18004d076
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005e1e0
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.180050454
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp r14b, 0xa8
jb 0x18004d0b9
lea rax, str.invalid
jmp 0x18004d0c8
mov rax, qword [0x180173ed8]
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.180050374
mov rdx, rax
xor ecx, ecx
call fcn.1800457cc
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 0x18004d156
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_origin
jmp 0x18004d134
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.180033258
mov rdx, rax
mov ecx, 2
call fcn.1800457cc
xor al, al
jmp 0x18004d112
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x40]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x40]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x40]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180013ec4
lea rdx, [0x18015cd58]
lea rcx, [rbp - 0x20]
call fcn.1800a1860
int3