Function at 0x1400a9e30
Capabilities:
Encode data using base64
Get thread local storage value
Set thread local storage value

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbx, rcx
lea rsi, [rcx + 8]
lea rdi, [rcx + 0x10]
mov edx, dword [rsi]
cmp edx, 1
jle 0x1400a9e80
lea ecx, [rdx - 1]
mov eax, edx
mov r8, qword [rdi]
lock cmpxchg dword [rsi], ecx
jne 0x1400a9e47
and r8d, 1
je 0x1400a9e6b
cmp edx, 2
je 0x1400a9f24
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, dword [0x1404cadd4]
mov rcx, rdi
call fcn.1400c4780
test rax, rax
je 0x1400a9edb
mov rbp, qword [0x14048fa10]
mov rcx, rbp
call fcn.140341618
mov eax, dword [rsi]
cmp eax, 1
je 0x1400a9eb8
mov rcx, rbp
call fcn.140341260
jmp 0x1400a9e47
mov edx, dword [0x1404cadd4]
mov rcx, rdi
call fcn.1400c4670
test rax, rax
je 0x1400a9ed3
mov rcx, rax
call fcn.1400a94c0
mov rcx, rbp
call fcn.140341260
mov rcx, rbx
xor edx, edx
call fcn.1400a9580
mov rcx, rbx
mov r12, rax
mov rax, qword [rbx]
call qword [rax + 0x28]
mov ebp, dword [rsi]
cmp ebp, 1
jle 0x1400a9f3d
lea edx, [rbp - 1]
mov eax, ebp
mov r13, qword [rdi]
lock cmpxchg dword [rsi], edx
jne 0x1400a9ef1
mov rdx, r12
mov rcx, rbx
call fcn.1400a89f0
and r13d, 1
je 0x1400a9e6b
cmp ebp, 2
jne 0x1400a9e6b
mov edx, 1
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.1400a9be0
mov edx, dword [0x1404cadd8]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400c4380
mov rcx, rbx
call fcn.1400b6a30
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov rax, qword [0x14048ef70]
mov edx, dword [rax]
call fcn.1400c4380
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov edx, dword [0x1404cadd4]
call fcn.1400c4380
mov eax, 0xffffffff
lock xadd dword [rsi], eax
test eax, eax
jle 0x1400a9fca
cmp eax, 1
jne 0x1400a9fb3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp 0x1400b6d40
mov rdx, r12
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.1400a89f0
mov rdx, qword [str.g_object_unref]
lea r8, str.old_ref___0
lea rcx, [0x14038771a]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.1400d2b10
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rbx, rcx
test rcx, rcx
je 0x1400b6d88
mov rdi, qword [rcx]
test rdi, rdi
je 0x1400b6d88
mov rcx, qword [rdi]
cmp rcx, 0x3fc
jbe 0x1400b6dc0
mov rsi, rcx
and rsi, 0xfffffffffffffffc
test byte [rsi + 0x16], 4
jne 0x1400b6e00
call fcn.1400b8ae0
mov r9, rax
jmp 0x1400b6ded
lea rax, str.instance___NULL__instance__g_class___NULL
lea r9, str.g_type_free_instance
mov edx, 8
mov qword [rsp + 0x20], rax
lea r8, [0x140389320]
lea rcx, [0x14038933a]
call fcn.1400d2190
nop
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, qword [0x14048f570]
mov rdx, rcx
shr rdx, 2
mov rsi, qword [rax + rdx*8]
test rsi, rsi
je 0x1400b6de1
test byte [rsi + 0x16], 4
jne 0x1400b6e78
test rcx, rcx
jne 0x1400b6d78
lea r9, [0x1403893d1]
lea r8, str.cannot_free_instance_of_invalid__non_instantiatable__type__s
jmp 0x1400b6e57
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x1400b6d78
cmp rdi, qword [rax + 0x38]
jne 0x1400b6d78
test byte [rsi + 0x16], 8
jne 0x1400b6e98
mov rcx, qword [rsi + 0x48]
mov edx, 0x10
call fcn.1400b1510
test eax, eax
je 0x1400b6e98
mov eax, dword [rsi + 0x28]
xor r9d, r9d
mov rdx, qword [0x14048ef60]
mov edx, dword [rdx]
mov rcx, qword [0x14048ef80]
mov rcx, qword [rcx]
cmp eax, edx
jae 0x1400b6e50
mov r9, qword [rcx + rax*8]
lea r8, str.cannot_free_instance_of_abstract__non_instantiatable__type__s
mov edx, 0x10
lea rcx, [0x14038933a]
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.1400d2190
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x1400b6de1
cmp rdi, qword [rax + 0x38]
jne 0x1400b6de1
jmp 0x1400b6e17
mov qword [rbx], 0
mov rdx, qword [rsi + 0x20]
mov rbp, rbx
movzx ecx, word [rdx + 0x42]
movzx r9d, word [rdx + 0x40]
sub rbp, rcx
test ecx, ecx
je 0x1400b7000
xor esi, esi
mov dword [rsp + 0x40], 0x1001
lea rax, [rsp + 0x40]
mov dword [rsp + 0x44], 0
mov edx, esi
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
mov dword [rsp + 0x34], edx
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x1400b7000
lea rdx, [rbp - 0x10]
lea eax, [rcx + 0x10]
mov rcx, rax
add rax, rdx
mov qword [rax + r9], 0
lea ecx, [rcx + r9 + 8]
movsxd rcx, ecx
call fcn.1400e6130
mov dword [rsp + 0x60], 0x1302
lea rax, [rsp + 0x60]
mov edx, esi
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
mov dword [rsp + 0x38], edx
mov edx, esi
mov eax, dword [rsp + 0x38]
lea rax, [rsp + 0x80]
mov dword [rsp + 0x80], 0x1302
mov dword [rsp + 0x84], ebx
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x94], 0
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
mov dword [rsp + 0x3c], edx
mov eax, dword [rsp + 0x3c]
mov rcx, rdi
call fcn.1400afa30
nop
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
ret
add ecx, r9d
mov rdx, rbp
movsxd rcx, ecx
call fcn.1400e6130
jmp 0x1400b6fe9