Function at 0x140050360
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
mov rbp, rcx
xor ecx, ecx
mov rdi, rdx
call fcn.1400e4a90
mov r12, rax
mov rax, qword [0x14035c180]
mov ebx, eax
test eax, eax
jne 0x1400503a6
lea rcx, [0x14035c180]
call fcn.1401001a0
mov ebx, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, r12
mov ecx, ebx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test rsi, rsi
je 0x1400503d2
mov rax, qword [fcn.1400d07c0]
test rax, rax
je 0x1400503d2
mov rcx, rsi
call rax
call qword [sym.imp.msvcrt.dll__errno]
xor edx, edx
mov rcx, rbp
mov dword [rax], 0
call fcn.1400c6e20
mov rsi, rax
test rax, rax
je 0x1400505a0
xor r8d, r8d
lea rdx, str.giomodule.cache
mov rcx, rbp
call fcn.1400cb160
mov r13, rax
lea rax, [rsp + 0x70]
mov rdx, rax
mov rcx, r13
mov qword [rsp + 0x38], rax
call fcn.1400e4910
test eax, eax
je 0x1400505e8
mov qword [rsp + 0x40], 0
xor r14d, r14d
lea r12, str..dll
nop dword [rax]
mov rcx, rsi
call fcn.1400c70f0
mov rbx, rax
test rax, rax
je 0x140050550
mov rdx, r12
mov rcx, rbx
call fcn.1400e5970
test eax, eax
je 0x140050440
test rdi, rdi
je 0x140050481
mov rcx, qword [rdi + 8]
mov rdx, rbx
call fcn.1400c8e20
test eax, eax
jne 0x140050440
test byte [rdi], 1
jne 0x1400505c8
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
call fcn.1400cb160
mov r15, rax
test rax, rax
je 0x140050770
mov rax, qword [0x1404ca4a0]
test rax, rax
je 0x140050710
mov rcx, qword [0x1404ca4a0]
xor edx, edx
call fcn.1400ad9f0
mov rcx, r15
mov qword [rsp + 0x30], rax
call fcn.1400e4a90
mov rdx, qword [rsp + 0x30]
mov qword [rdx + 0x38], rax
test r14, r14
je 0x140050510
mov rdx, rbx
mov rcx, r14
call fcn.1400c84f0
mov rbx, rax
test rax, rax
je 0x140050510
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400e4910
test eax, eax
jne 0x140050510
mov rax, qword [rsp + 0x40]
cmp qword [rsp + 0xa0], rax
jle 0x1400507a9
nop dword [rax + rax]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call fcn.1400b9020
test eax, eax
je 0x140050740
mov rcx, rbx
call fcn.1400b8f60
mov rcx, r15
call fcn.14034efb0
mov rcx, rsi
call fcn.1400c70f0
mov rbx, rax
test rax, rax
jne 0x140050454
nop dword [rax]
mov rcx, qword [rsi]
call fcn.140342bc1
mov rcx, rsi
call fcn.14034efb0
test r14, r14
je 0x140050576
mov rcx, r14
call fcn.1400c99b0
mov rcx, r14
call fcn.1400c9e50
nop
movaps xmm6, xmmword [rsp + 0xb0]
mov rcx, r13
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14034efb0
movaps xmm6, xmmword [rsp + 0xb0]
xor edx, edx
mov rcx, rbp
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400cd620
mov rcx, rbx
call fcn.1400e4a90
mov rcx, qword [rdi + 8]
mov rdx, rax
call fcn.1400c8cc0
jmp 0x140050481
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x68]
mov rcx, r13
call fcn.1400ce210
test eax, eax
je 0x140050426
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x68]
mov r8d, 0xffffffff
lea rdx, [0x1403731b7]
mov r15, qword [rsp + 0x98]
mov qword [rsp + 0x40], rax
call fcn.1400e7bb0
mov rcx, qword [rsp + 0x68]
mov rbx, rax
mov qword [rsp + 0x30], rax
call fcn.14034efb0
mov r12, qword [rbx]
test r12, r12
je 0x1400508b4
lea rdx, [rbx + 8]
mov qword [rsp + 0x48], rsi
xor r14d, r14d
mov qword [rsp + 0x50], rdx
mov rbx, rdx
jmp 0x140050678
mov r12, qword [rbx]
add rbx, 8
test r12, r12
je 0x140050832
cmp byte [r12], 0x23
je 0x140050668
mov edx, 0x3a
mov rcx, r12
call sub.msvcrt.dll_strchr
mov rsi, rax
test rax, rax
je 0x140050668
cmp rax, r12
je 0x140050668
mov byte [rax], 0
mov rcx, r12
call fcn.1400e4a90
lea r10, [rsi + 1]
mov r12, rax
movzx eax, byte [rsi + 1]
mov rsi, qword [0x14048c750]
test byte [rsi + rax*2 + 1], 1
je 0x1400506d7
nop dword [rax]
mov rsi, qword [0x14048c750]
movzx eax, byte [r10 + 1]
add r10, 1
test byte [rsi + rax*2 + 1], 1
jne 0x1400506c0
test r14, r14
je 0x140050881
mov rcx, r10
mov r8d, 0xffffffff
lea rdx, [0x1403731b9]
call fcn.1400e7bb0
mov rdx, r12
mov rcx, r14
mov r8, rax
call fcn.1400c89e0
jmp 0x140050668
lea rcx, [0x1404ca4a0]
call fcn.1400e7370
test eax, eax
je 0x1400504ab
call fcn.14004a9a0
lea rcx, [0x1404ca4a0]
mov rdx, rax
call fcn.1400e6720
jmp 0x1400504ab
mov rdx, r15
lea rcx, [0x1403731cc]
call fcn.1400d63b0
mov rcx, qword [rsp + 0x30]
call fcn.1400a9ff0
mov rcx, r15
call fcn.14034efb0
jmp 0x140050440
lea rax, [0x1403731bb]
lea r9, str.g_io_module_new
mov edx, 8
mov qword [rsp + 0x20], rax
lea r8, [0x14037222c]
lea rcx, [0x1403721fe]
call fcn.1400d2190
mov qword [rsp + 0x30], 0
jmp 0x1400504cf
mov rcx, qword [rbx]
test rcx, rcx
je 0x14005052d
add rbx, 8
jmp 0x1400507ea
mov rcx, qword [r8 + 0x10]
mov qword [rax + 0x10], rcx
test rcx, rcx
je 0x1400507d1
mov qword [rcx + 8], rax
mov qword [r8 + 0x10], rax
add rbx, 8
mov qword [rdx + 0x18], rax
mov rcx, qword [rbx - 8]
test rcx, rcx
je 0x14005052d
call fcn.14004fb70
movq xmm6, qword [rsp + 0x30]
mov ecx, 0x18
mov r8, qword [rax + 0x18]
mov qword [rsp + 0x50], rax
movq xmm0, r8
mov qword [rsp + 0x48], r8
punpcklqdq xmm6, xmm0
call fcn.1400e69e0
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
movups xmmword [rax], xmm6
test r8, r8
jne 0x1400507c0
mov qword [rax + 0x10], 0
jmp 0x1400507d5
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rax]
test rcx, rcx
je 0x140050861
mov rbx, rdx
nop dword [rax]
call fcn.14034efb0
mov rcx, qword [rbx]
add rbx, 8
test rcx, rcx
jne 0x140050850
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
cmp rax, r15
cmovge r15, rax
mov qword [rsp + 0x40], r15
call fcn.14034efb0
jmp 0x140050432
mov rdx, qword [0x14048daf0]
mov rcx, qword [str._m_f_]
lea r9, [fcn.1400e2ac0]
lea r8, [fcn.1400d07c0]
mov qword [rsp + 0x58], r10
call fcn.1400cdb90
mov r10, qword [rsp + 0x58]
mov r14, rax
jmp 0x1400506e0
xor r14d, r14d
jmp 0x140050861