Function at 0x180044c98
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.1800307a0
cmp word [rdi + 0xe], 3
jne 0x180044ff1
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 0x180044f9b
movzx eax, word [rbx + 0x1e]
shr ax, 0xa
test al, 1
je 0x180044f9b
lea r8, str.origin
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800307a0
cmp word [rdi + 0xe], 3
jne 0x180044fd0
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 0x180044f92
movzx eax, word [rsi + 0x1e]
shr ax, 0xa
test al, 1
je 0x180044f92
lea r8, str.target
mov rcx, rdi
lea rdx, [rbp + 0x48]
call fcn.1800307a0
cmp word [rdi + 0xe], 3
jne 0x180045096
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 0x180044f81
movzx eax, word [rdi + 0x1e]
shr ax, 0xa
test al, 1
je 0x180044f81
movzx eax, word [rbx + 0x1e]
add rbx, 0x10
shr ax, 0xa
test al, 1
je 0x180045075
mov eax, 0x1000
test word [rbx + 0xe], ax
je 0x180044dd1
mov r15, rbx
jmp 0x180044dd8
mov r15, qword [rbx + 8]
and r15, r14
xor r14d, r14d
xor r12d, r12d
mov rdx, qword [0x1801781c0]
mov rcx, r15
mov rdx, qword [rdx + r12]
call fcn.1800b53cc
test eax, eax
je 0x180044e08
inc r14
add r12, 0x28
cmp r12, 0x1a40
jb 0x180044dde
mov r14b, 0xa8
cmp r14b, 0xa8
jne 0x180044e6d
movzx eax, word [rbx + 0xe]
shr ax, 0xa
test al, 1
je 0x180045012
mov r15d, 0x1000
test word [rbx + 0xe], r15w
jne 0x180044e3c
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.1800480f0
jmp 0x180044fbf
lea rcx, [rsi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x180045054
mov r15d, 0x1000
movabs rsi, 0xffffffffffff
test word [rcx + 0xe], r15w
jne 0x180044e9f
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005d124
mov qword [rbp + 0x58], rax
lea rcx, [rdi + 0x10]
movzx eax, word [rcx + 0xe]
shr ax, 0xa
test al, 1
je 0x180045033
test word [rcx + 0xe], r15w
jne 0x180044eca
mov rcx, qword [rcx + 8]
and rcx, rsi
call fcn.18005d124
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.18004825c
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
cmp r14b, 0xa8
jb 0x180044f0d
lea rax, str.invalid
jmp 0x180044f1c
mov rax, qword [0x1801781c0]
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.180048188
mov rdx, rax
xor ecx, ecx
call fcn.18003d0a8
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 0x180044faa
lea rax, str.mod__is_containing_a_redirect_member_without_a_valid_origin
jmp 0x180044f88
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.180031038
mov rdx, rax
mov ecx, 2
call fcn.18003d0a8
xor al, al
jmp 0x180044f66
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3
lea rdx, str.rapidjson_assert_fail
lea rcx, [rbp - 0x40]
call fcn.1800140f0
lea rdx, [0x180161030]
lea rcx, [rbp - 0x40]
call fcn.1800a6760
int3