Function at 0x180051084
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.1800368bc
cmp word [rdi + 0xe], 3
jne 0x1800513dd
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 0x180051387
movzx eax, word [rbx + 0x1e]
shr ax, 0xa
test al, 1
je 0x180051387
lea r8, str.origin
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800368bc
cmp word [rdi + 0xe], 3
jne 0x1800513bc
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 0x18005137e
movzx eax, word [rsi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18005137e
lea r8, str.target
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800368bc
cmp word [rdi + 0xe], 3
jne 0x180051482
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 0x18005136d
movzx eax, word [rdi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18005136d
movzx eax, word [rbx + 0x1e]
add rbx, 0x10
shr ax, 0xa
test al, 1
je 0x180051461
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x1800511bd
mov r15, rbx
jmp 0x1800511c4
mov r15, qword [rbx + 8]
and r15, r14
xor r14d, r14d
xor r12d, r12d
mov rdx, qword [0x1801abfe8]
mov rcx, r15
mov rdx, qword [rdx + r12]
call fcn.1800dc174
test eax, eax
je 0x1800511f4
inc r14
add r12, 0x28
cmp r12, 0x1a40
jb 0x1800511ca
mov r14b, 0xa8
cmp r14b, 0xa8
jne 0x180051259
movzx eax, word [rbx + 0xe]
shr ax, 0xa
test al, 1
je 0x1800513fe
mov r15d, 0x1000
test word [rbx + 0xe], r15w
jne 0x180051228
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.180054514
jmp 0x1800513ab
lea rcx, [rsi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x180051440
mov r15d, 0x1000
movabs rsi, 0xffffffffffff
test word [rcx + 0xe], r15w
jne 0x18005128b
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.1800624dc
mov qword [rbp + 0x58], rax
lea rcx, [rdi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18005141f
test word [rcx + 0xe], r15w
jne 0x1800512b6
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.1800624dc
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.180054694
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp r14b, 0xa8
jb 0x1800512f9
lea rax, str.invalid
jmp 0x180051308
mov rax, qword [0x1801abfe8]
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.1800545b4
mov rdx, rax
xor ecx, ecx
call fcn.180049a04
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 0x180051396
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_origin
jmp 0x180051374
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.180037158
mov rdx, rax
mov ecx, 2
call fcn.180049a04
xor al, al
jmp 0x180051352
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x40]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x40]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x40]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x20]
call fcn.180014138
lea rdx, [0x180191838]
lea rcx, [rbp - 0x20]
call fcn.1800cbd00
int3