Function at 0x180107c70
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rbx, rdx
mov rdi, rcx
mov rdx, qword [0x18018fa50]
lea rcx, [rsp + 0x40]
call qword [0x18018f090]
mov r8, qword [rsp + 0x40]
movabs rax, 0x20c49ba5e353f7cf
imul rbx
mov qword [rsp + 0x48], r8
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3e8
lea esi, [rdx + r8]
sub ebx, eax
imul ebp, ebx, 0x3e8
add ebp, dword [rsp + 0x4c]
cmp ebp, 0xf4240
jl 0x180107ce5
inc esi
add ebp, 0xfff0bdc0
xor r14d, r14d
nop dword [rax + rax]
mov rax, qword [0x1801902f8]
mov ecx, dword [rax]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdx, rax
mov rbx, r14
movsxd rax, dword [0x18018fa68]
test rdx, rdx
je 0x180107d24
test eax, eax
jle 0x180107d24
cmp eax, dword [rdx + 8]
jge 0x180107d24
mov rcx, rax
mov rax, qword [rdx]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
jne 0x180107d5d
lea ecx, [rbx + 0x20]
call sym.tcl86t.dll_hclpAlloc
mov rbx, rax
test rax, rax
je 0x180107f34
xor eax, eax
lea rcx, [0x18018fa68]
mov qword [rbx], rax
mov rdx, rbx
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
call fcn.180106bc0
cmp dword [rbx + 0x10], r14d
je 0x180107d75
xor edx, edx
mov rcx, rdi
call sym.tcl86t.dll_hcl_AsyncInvoke
test eax, eax
jne 0x180107e82
mov edx, 0x200
mov rcx, rdi
call sym.tcl86t.dll_hcl_Canceled
cmp eax, 1
je 0x180107e82
mov rcx, qword [rsp + 0x40]
cmp qword [rdi + 0x330], r14
je 0x180107dcd
cmp dword [rdi + 0x314], ecx
jl 0x180107db1
mov r8d, dword [rsp + 0x44]
jne 0x180107dd2
cmp dword [rdi + 0x318], r8d
jge 0x180107dd2
mov rcx, rdi
mov dword [rdi + 0x2fc], r14d
call sym.tcl86t.dll_hcl_LimitCheck
test eax, eax
jne 0x180107e82
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
cmp qword [rdi + 0x330], r14
je 0x180107e9a
movsxd rax, dword [rdi + 0x314]
cmp esi, eax
jl 0x180107e9a
jne 0x180107dfc
cmp ebp, dword [rdi + 0x318]
jl 0x180107e9a
mov rdx, rax
movsxd rax, ecx
mov ecx, dword [rdi + 0x318]
sub rdx, rax
imul r9, rdx, 0x3e8
sub ecx, r8d
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdqe
add r9, rax
cmp r9, 0x1f5
jl 0x180107e3c
mov r9d, 0x1f4
jmp 0x180107e41
test r9, r9
jle 0x180107e49
mov ecx, r9d
call sym.tcl86t.dll_hcl_Sleep
call sym.tcl86t.dll_hcl_AsyncReady
test eax, eax
je 0x180107e60
xor edx, edx
mov rcx, rdi
call sym.tcl86t.dll_hcl_AsyncInvoke
test eax, eax
jne 0x180107e82
mov edx, 0x200
mov rcx, rdi
call sym.tcl86t.dll_hcl_Canceled
cmp eax, 1
je 0x180107e82
mov rcx, rdi
call sym.tcl86t.dll_hcl_LimitCheck
test eax, eax
je 0x180107f02
mov eax, 1
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov edx, ebp
mov eax, 0x10624dd3
sub edx, r8d
add edx, 0x3e7
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
movsxd rax, ecx
movsxd rbx, edx
movsxd rdx, esi
sub rdx, rax
imul rax, rdx, 0x3e8
add rbx, rax
cmp rbx, 0x1f5
jl 0x180107edc
mov ebx, 0x1f4
jmp 0x180107ef5
test rbx, rbx
jne 0x180107ef3
cmp ecx, esi
jl 0x180107eec
jne 0x180107f2d
cmp r8d, ebp
jge 0x180107f2d
mov ebx, 1
jmp 0x180107ef5
jle 0x180107f2d
mov ecx, ebx
call sym.tcl86t.dll_hcl_Sleep
cmp rbx, 0x14
jl 0x180107f2d
mov rdx, qword [0x18018fa50]
lea rcx, [rsp + 0x40]
call qword [0x18018f090]
mov rax, qword [rsp + 0x40]
cmp eax, esi
jl 0x180107cf0
jne 0x180107f2d
cmp dword [rsp + 0x44], ebp
jl 0x180107cf0
xor eax, eax
jmp 0x180107e87
mov edx, 0x20
lea rcx, str.unable_to_alloc__u_bytes
call sym.tcl86t.dll_hcl_Panic
int3