Function at 0x1400041d0
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x50
mov r14d, r9d
mov r12d, r8d
mov rbp, rdx
mov rsi, rcx
mov rax, qword [0x14016e028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rbx, qword [0x1401796d0]
cmp rbx, 1
jbe 0x140004426
mov rcx, rbx
call fcn.14005bc80
mov qword [rsi], rax
mov rbx, qword [0x140179710]
cmp rbx, 1
jbe 0x140004473
mov rcx, rbx
call fcn.14005bc80
mov qword [rsi + 8], rax
mov cl, 1
cmp r12d, 1
je 0x140004246
test rax, rax
je 0x140004244
mov cl, byte [rax + 0x10]
jmp 0x140004246
xor ecx, ecx
mov byte [rsi + 0x10], cl
lea rbx, [rsi + 0x18]
mov rdx, qword [rbp + 0x18]
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor r8d, r8d
mov r9d, 0x11be9915
call fcn.1400760b0
mov byte [rsi + 0x38], 0
mov rbp, qword [0x140179710]
cmp rbp, 1
jbe 0x1400044c0
mov ecx, dword [0x140171588]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14000450d
movsxd rcx, dword [rbp]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [rbp + 4]
movsxd rdx, dword [rbp]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
call fcn.140077f00
test al, al
jne 0x1400042c2
call fcn.14006c750
test al, al
jne 0x140004331
test r14d, r14d
jne 0x1400042cd
cmp byte [rsi + 0x10], 0
je 0x140004305
mov rax, qword [rsi + 8]
test rax, rax
je 0x140004331
cmp byte [rax + 0x38], 1
jne 0x140004331
mov rbp, qword [rax + 0x48]
mov qword [rax + 0x48], 0
test rbp, rbp
je 0x140004331
lock dec dword [rbp]
jne 0x140004331
mov rcx, rbp
call fcn.1400a98b0
mov rcx, rbp
call fcn.14007a98c
jmp 0x140004331
cmp qword [rsi + 8], 0
jne 0x140004331
cmp byte [rsi + 0x38], 0
jne 0x140004520
lea rcx, [rsi + 0x40]
call qword [fcn.14003c7a0]
lea rcx, [rsi + 0x48]
mov rdx, qword [rsi + 0x40]
call fcn.14000d9e0
mov byte [rsi + 0x38], 1
mov rcx, qword [rsi]
test rcx, rcx
je 0x14000435d
mov rax, qword [rsi + 8]
test rax, rax
je 0x140004355
cmp r12d, 1
jne 0x14000435d
cmp byte [rax + 0x10], 0
jne 0x14000435d
call fcn.14012f630
jmp 0x14000435d
mov edx, r12d
call fcn.1400318b0
mov rcx, rbx
call fcn.14007a250
test al, al
je 0x140004407
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rbp, [rsp + 0x28]
mov qword [rbp], rax
mov rcx, rbp
call qword [fcn.14003c7a0]
mov rcx, rbx
call fcn.1400fca10
mov rbx, rax
mov rax, qword [rbp]
lea rbp, [rsp + 0x40]
mov qword [rbp], rax
lea rax, str.timestamp_us
lea rdi, [rsp + 0x30]
mov qword [rdi], rax
mov qword [rdi + 8], 0xc
mov r14d, 8
mov qword [rsp + 0x20], r14
mov rcx, rbx
mov rdx, rdi
mov r8b, 8
mov r9, rbp
call fcn.1400fc3f0
movsxd rax, r12d
mov qword [rbp], rax
lea rax, str.blocking_type
mov qword [rdi], rax
mov qword [rdi + 8], 0xd
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0x30]
lea r9, [rsp + 0x40]
mov rcx, rbx
mov r8b, 8
call fcn.1400fc3f0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14007d5a0
mov rax, rsi
add rsp, 0x50
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [0x1401796d0]
call fcn.14004bff0
test al, al
je 0x14000455e
mov qword [0x1401796d8], 0
lea r15, [0x1401796d0]
lea rbx, [0x1401796d8]
mov rcx, rbx
xor edx, edx
call fcn.140050d20
mov rcx, r15
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.14004be50
jmp 0x14000420a
lea rcx, [0x140179710]
call fcn.14004bff0
test al, al
je 0x14000456a
mov qword [0x140179718], 0
lea r15, [0x140179710]
lea rbx, [0x140179718]
mov rcx, rbx
xor edx, edx
call fcn.140050d20
mov rcx, r15
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.14004be50
jmp 0x140004226
lea rcx, [0x140179710]
call fcn.14004bff0
test al, al
je 0x140004576
mov qword [0x140179718], 0
lea r15, [0x140179710]
lea rbp, [0x140179718]
mov rcx, rbp
xor edx, edx
call fcn.140050d20
mov rcx, r15
mov rdx, rbp
xor r8d, r8d
mov r9, r15
call fcn.14004be50
jmp 0x14000427f
test rsi, rsi
je 0x1400042b0
call fcn.140008040
jmp 0x140004295
mov rbp, qword [rsi + 0x48]
test rbp, rbp
je 0x140004555
lea r14, [rsp + 0x30]
mov rcx, r14
call qword [fcn.14003c7a0]
mov rdx, qword [rsi + 0x40]
mov r8, qword [r14]
mov rcx, rbp
call fcn.140003d30
mov rbp, qword [rsi + 0x48]
test rbp, rbp
je 0x140004555
lock dec dword [rbp]
je 0x140004582
mov byte [rsi + 0x38], 0
jmp 0x140004316
mov rbx, qword [0x1401796d0]
jmp 0x14000420a
mov rbx, qword [0x140179710]
jmp 0x140004226
mov rbp, qword [0x140179710]
jmp 0x14000427f
mov rcx, rbp
call fcn.1400a98b0
mov rcx, rbp
call fcn.14007a98c
jmp 0x140004555