Function at 0x18004ae44
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.180030f00
cmp word [rdi + 0xe], 3
jne 0x18004b19d
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 0x18004b147
movzx eax, word [rbx + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004b147
lea r8, str.origin
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.180030f00
cmp word [rdi + 0xe], 3
jne 0x18004b17c
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 0x18004b13e
movzx eax, word [rsi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004b13e
lea r8, str.target
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.180030f00
cmp word [rdi + 0xe], 3
jne 0x18004b242
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 0x18004b12d
movzx eax, word [rdi + 0x1e]
shr ax, 0xa
test al, 1
je 0x18004b12d
movzx eax, word [rbx + 0x1e]
add rbx, 0x10
shr ax, 0xa
test al, 1
je 0x18004b221
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x18004af7d
mov r15, rbx
jmp 0x18004af84
mov r15, qword [rbx + 8]
and r15, r14
xor r14d, r14d
xor r12d, r12d
mov rdx, qword [0x180178280]
mov rcx, r15
mov rdx, qword [rdx + r12]
call fcn.1800b5a10
test eax, eax
je 0x18004afb4
inc r14
add r12, 0x28
cmp r12, 0x1a40
jb 0x18004af8a
mov r14b, 0xa8
cmp r14b, 0xa8
jne 0x18004b019
movzx eax, word [rbx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004b1be
mov r15d, 0x1000
test word [rbx + 0xe], r15w
jne 0x18004afe8
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.18004e148
jmp 0x18004b16b
lea rcx, [rsi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004b200
mov r15d, 0x1000
movabs rsi, 0xffffffffffff
test word [rcx + 0xe], r15w
jne 0x18004b04b
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005d6b4
mov qword [rbp + 0x58], rax
lea rcx, [rdi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x18004b1df
test word [rcx + 0xe], r15w
jne 0x18004b076
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005d6b4
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.18004e2b4
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp r14b, 0xa8
jb 0x18004b0b9
lea rax, str.invalid
jmp 0x18004b0c8
mov rax, qword [0x180178280]
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.18004e1e0
mov rdx, rax
xor ecx, ecx
call fcn.1800438c4
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 0x18004b156
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_origin
jmp 0x18004b134
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.180031798
mov rdx, rax
mov ecx, 2
call fcn.1800438c4
xor al, al
jmp 0x18004b112
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.180014200
lea rdx, [0x180161188]
lea rcx, [rbp - 0x40]
call fcn.1800a6da0
int3