Function at 0x1400d4200
Capabilities:
Get thread local storage value

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov ebx, r9d
mov r14d, r8d
mov rbp, rdx
mov rsi, rcx
mov rax, qword [0x140162028]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rdi, qword [0x14016a288]
cmp rdi, 1
jbe 0x1400d4462
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400d45dc
movsxd rcx, dword [rdi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rdi + 4]
jne 0x1400d45dc
mov rax, qword [rax + rcx]
mov qword [rsi], rax
mov rdi, qword [0x14016a2c8]
cmp rdi, 1
jbe 0x1400d452a
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400d45e3
movsxd rcx, dword [rdi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rdi + 4]
jne 0x1400d45e3
mov rax, qword [rax + rcx]
mov qword [rsi + 8], rax
mov cl, 1
cmp r14d, 1
jne 0x1400d463d
mov byte [rsi + 0x10], cl
lea rdi, [rsi + 0x18]
mov rbp, qword [rbp + 0x18]
mov qword [rsp + 0x38], 0x11be9915
mov rcx, qword [0x14016a208]
test rcx, rcx
jne 0x1400d44f6
mov qword [rdi], 0
mov qword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0x11be9915
mov byte [rsi + 0x38], 0
mov rbp, qword [0x14016a2c8]
cmp rbp, 1
jbe 0x1400d4577
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400d44ec
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
mov rbp, qword [0x14016ad28]
cmp rbp, 1
jbe 0x1400d44af
mov ecx, dword [0x140163d10]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x1400d4375
movsxd rcx, dword [rbp]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rbp + 4]
jne 0x1400d4375
mov rax, qword [rax + rcx]
test rax, rax
jne 0x1400d43bb
test ebx, ebx
je 0x1400d4404
mov rcx, qword [rsi + 8]
test rcx, rcx
jne 0x1400d45c4
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400d43f0
mov rax, qword [rdi]
test rax, rax
jne 0x1400d464d
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400f0560
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp byte [rax], 0
jne 0x1400d4375
mov eax, dword [0x14016ad14]
mov ecx, dword [0x1401653f4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400d45fc
cmp byte [0x14016ad10], 0
jne 0x1400d438a
jmp 0x1400d4375
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1400d4443
mov rax, qword [rcx]
mov edx, r14d
call qword [rax + 8]
jmp 0x1400d4392
cmp byte [rsi + 0x10], 0
jne 0x1400d437d
cmp qword [rsi + 8], 0
jne 0x1400d438a
cmp byte [rsi + 0x38], 0
jne 0x1400d45ea
lea rcx, [rsi + 0x40]
call qword [fcn.14007d600]
lea rcx, [rsi + 0x48]
mov rdx, qword [rsi + 0x40]
call fcn.1400d3b60
mov byte [rsi + 0x38], 1
jmp 0x1400d438a
cmp r14d, 1
jne 0x1400d4392
cmp byte [rax + 0x10], 0
jne 0x1400d4392
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x1400d4392
lea rcx, [0x14016a288]
call fcn.140063590
test al, al
je 0x1400d4631
mov qword [0x14016a290], 0
lea r15, [0x14016a288]
lea rdi, [0x14016a290]
mov rcx, rdi
xor edx, edx
call fcn.14006eb30
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call fcn.140063630
jmp 0x1400d4238
lea rcx, [0x14016ad28]
call fcn.140063590
test al, al
je 0x1400d46e9
lea rcx, [0x14016ad30]
call fcn.1400e9cd0
mov rbp, rax
lea rcx, [0x14016ad28]
mov rdx, rax
xor r8d, r8d
mov r9, rcx
call fcn.140063630
jmp 0x1400d4349
call fcn.14006e9c0
jmp 0x1400d431d
call fcn.1400cc070
mov qword [rdi], rax
test rax, rax
je 0x1400d42e3
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov rdx, rbp
xor r8d, r8d
mov r9b, 0xf0
call fcn.1400cb0c0
mov dword [rsi + 0x20], eax
jmp 0x1400d42e3
lea rcx, [0x14016a2c8]
call fcn.140063590
test al, al
je 0x1400d46f5
mov qword [0x14016a2d0], 0
lea r15, [0x14016a2c8]
lea rdi, [0x14016a2d0]
mov rcx, rdi
xor edx, edx
call fcn.14006eb30
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
mov r9, r15
call fcn.140063630
jmp 0x1400d427a
lea rcx, [0x14016a2c8]
call fcn.140063590
test al, al
je 0x1400d4701
mov qword [0x14016a2d0], 0
lea r15, [0x14016a2c8]
lea rbp, [0x14016a2d0]
mov rcx, rbp
xor edx, edx
call fcn.14006eb30
mov rcx, r15
mov rdx, rbp
xor r8d, r8d
mov r9, r15
call fcn.140063630
jmp 0x1400d4307
cmp byte [rcx + 0x38], 0
je 0x1400d438a
add rcx, 0x48
call fcn.1400d4900
jmp 0x1400d438a
xor eax, eax
jmp 0x1400d4266
xor eax, eax
jmp 0x1400d42a8
lea rcx, [rsi + 0x40]
call fcn.1400d3ef0
mov byte [rsi + 0x38], 0
jmp 0x1400d4423
lea rcx, [0x14016ad14]
call fcn.1400ef8f0
cmp dword [0x14016ad14], 0xffffffff
jne 0x1400d43e5
call fcn.1400e9b00
mov byte [0x14016ad10], al
lea rcx, [0x14016ad14]
call fcn.1400ef988
jmp 0x1400d43e5
mov rdi, qword [0x14016a288]
jmp 0x1400d4238
test rax, rax
jne 0x1400d470d
xor ecx, ecx
jmp 0x1400d42b8
mov eax, dword [rax + 0x18]
cmp eax, dword [rsi + 0x20]
jbe 0x1400d439e
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [fcn.14007d600]
mov rcx, rdi
call fcn.1400cb530
mov rdi, rax
mov rax, qword [rbx]
lea rbx, [rsp + 0x48]
mov qword [rbx], rax
lea rax, str.timestamp_us
lea rbp, [rsp + 0x38]
mov qword [rbp], rax
mov qword [rbp + 8], 0xc
mov r15d, 8
mov qword [rsp + 0x20], r15
mov rcx, rdi
mov rdx, rbp
mov r8b, 8
mov r9, rbx
call fcn.1400caec0
movsxd rax, r14d
mov qword [rbx], rax
lea rax, str.blocking_type
mov qword [rbp], rax
mov qword [rbp + 8], 0xd
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x38]
lea r9, [rsp + 0x48]
mov rcx, rdi
mov r8b, 8
call fcn.1400caec0
jmp 0x1400d439e
mov rbp, qword [0x14016ad28]
jmp 0x1400d4349
mov rdi, qword [0x14016a2c8]
jmp 0x1400d427a
mov rbp, qword [0x14016a2c8]
jmp 0x1400d4307
mov cl, byte [rax + 0x10]
jmp 0x1400d42b8