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

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0xa48]
sub rsp, 0xb48
mov rax, qword [0x1403622b0]
xor rax, rsp
mov qword [rbp + 0xa18], rax
mov r14, rdx
test rcx, rcx
je 0x14002a6eb
test rdx, rdx
je 0x14002a6e1
mov r9b, 1
xor r8d, r8d
call fcn.140022c40
jmp 0x14002b11e
call fcn.1400237b0
jmp 0x14002b11e
cmp dword [reloc.WS2_32.dll_closesocket], 0
mov qword [rsp + 0xb70], rbx
mov qword [rsp + 0xb40], rsi
mov qword [rsp + 0xb38], rdi
mov qword [rsp + 0xb30], r12
mov qword [rsp + 0xb28], r13
mov qword [rsp + 0xb20], r15
je 0x14002a741
call fcn.140028aa0
test al, al
je 0x14002a741
mov ecx, ntohs
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, edi
mov ebx, edi
jmp 0x14002b0eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x14057b280]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor edi, edi
lea r15d, [rdi + 1]
test rsi, rsi
jne 0x14002aa18
mov ecx, 0xa50
call fcn.140030980
mov rsi, rax
test rax, rax
je 0x14002b138
xorps xmm0, xmm0
mov byte [rax], dil
xor eax, eax
mov word [rbp - 0x50], di
xor edx, edx
mov dword [rbp + 0x72], eax
mov r8d, 0xb0
mov word [rbp + 0x76], ax
lea rcx, [rbp + 0xb0]
mov qword [rbp + 0x80], rax
mov byte [rbp + 0x88], al
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
mov qword [rbp], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], rdi
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], rdi
mov dword [rbp + 0x48], 0x3e8
mov dword [rbp + 0x4c], 0x3e8
mov word [rbp + 0x50], 0xffff
movups xmmword [rbp + 0x52], xmm0
mov qword [rbp + 0x78], rdi
movups xmmword [rbp + 0x62], xmm0
mov qword [rbp + 0x90], rdi
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], rdi
call fcn.1401e1df0
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x168], rdi
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x178], rdi
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x188], rdi
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x198], rdi
mov qword [rbp + 0x1a0], r15
mov qword [rbp + 0x1a8], rdi
mov qword [rbp + 0x1b0], r15
mov qword [rbp + 0x1b8], rdi
mov qword [rbp + 0x1c0], r15
mov qword [rbp + 0x1c8], rdi
mov qword [rbp + 0x1d0], r15
mov qword [rbp + 0x1d8], rdi
mov qword [rbp + 0x1e0], r15
mov qword [rbp + 0x1e8], rdi
mov qword [rbp + 0x1f0], r15
mov qword [rbp + 0x1f8], rdi
mov qword [rbp + 0x200], r15
mov qword [rbp + 0x208], rdi
mov qword [rbp + 0x210], r15
mov qword [rbp + 0x218], rdi
mov qword [rbp + 0x220], r15
mov qword [rbp + 0x228], rdi
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], rdi
mov qword [rbp + 0x240], r15
mov qword [rbp + 0x248], rdi
mov qword [rbp + 0x250], r15
mov qword [rbp + 0x258], rdi
mov qword [rbp + 0x260], r15
mov qword [rbp + 0x268], rdi
mov qword [rbp + 0x270], r15
mov qword [rbp + 0x278], rdi
mov qword [rbp + 0x280], r15
mov qword [rbp + 0x288], rdi
mov qword [rbp + 0x290], r15
mov qword [rbp + 0x298], rdi
mov qword [rbp + 0x2a0], r15
xor eax, eax
mov qword [rbp + 0x2a8], rdi
xor edx, edx
mov dword [rbp + 0x2e1], eax
mov r8d, 0x6d8
mov word [rbp + 0x2e5], ax
lea rcx, [rbp + 0x310]
mov byte [rbp + 0x2e7], al
mov qword [rbp + 0x2b0], r15
mov qword [rbp + 0x2b8], rdi
mov qword [rbp + 0x2c0], r15
mov qword [rbp + 0x2c8], rdi
mov qword [rbp + 0x2d0], r15
mov qword [rbp + 0x2d8], rdi
mov byte [rbp + 0x2e0], 6
mov qword [rbp + 0x2e8], rdi
mov qword [rbp + 0x2f0], rdi
mov qword [rbp + 0x2f8], rdi
mov qword [rbp + 0x300], rdi
mov qword [rbp + 0x308], rdi
call fcn.1401e1df0
lea rcx, [rsi + 8]
mov qword [rbp + 0x9e8], rdi
lea rdx, [rbp - 0x50]
mov byte [rbp + 0x9f0], dil
mov r8d, 0xa48
call fcn.1401e1740
mov ecx, dword [0x14057b280]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x14002b14a
add rsi, 8
cmp byte [rsi + 0x330], dil
je 0x14002aa3f
xor edx, edx
mov rcx, rsi
call fcn.140030fa0
mov rsi, rax
cmp byte [rax + 0x330], dil
jne 0x14002ad5c
lea rbx, [0x140000000]
movabs rax, 0x7000000000000000
cmp r14, 0x1000
ja 0x14002aa6c
lea rax, [r14 + 7]
shr rax, 3
movzx r13d, byte [rax + rbx + 0x374080]
jmp 0x14002aacc
cmp r14, rax
jbe 0x14002aa79
mov r13d, 0xe8
jmp 0x14002aacc
lea rax, [r14*2 - 1]
test rax, rax
je 0x14002b15c
bsr rdx, rax
mov ecx, edi
cmp edx, 6
lea eax, [rdx - 6]
cmovae ecx, eax
lea r8d, [rcx*4]
mov ecx, 4
cmp edx, 7
jb 0x14002aaae
lea ecx, [rdx - 3]
mov rax, 0xffffffffffffffff
lea rdx, [r14 - 1]
shl rax, cl
lea r13d, [r8 + 1]
and rdx, rax
shr rdx, cl
and edx, 3
add r13d, edx
cmp r13d, 0xe8
jae 0x14002ad49
mov r12d, r13d
lea rcx, [rsi + 0x358]
mov rax, qword [rbx + r12*8 + 0x373940]
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x14002acc8
cmp r14, 0x3800
ja 0x14002abd4
lea rax, [r12 + r12*2]
lea r15, [rcx + rax*8]
mov rcx, qword [rcx + rax*8 + 8]
lea rax, [rcx + 8]
mov rbx, qword [rcx]
cmp cx, word [r15 + 0x18]
je 0x14002ab2e
mov qword [r15 + 8], rax
inc qword [r15 + 0x10]
jmp 0x14002ace0
cmp cx, word [r15 + 0x1c]
je 0x14002ab47
mov qword [r15 + 8], rax
mov word [r15 + 0x18], ax
inc qword [r15 + 0x10]
jmp 0x14002ace0
xor edx, edx
mov rcx, rsi
call fcn.140020fc0
mov qword [rsp + 0x38], rax
mov rcx, rax
test rax, rax
jne 0x14002ab66
mov rbx, rdi
jmp 0x14002ace0
mov rax, qword [0x14037a360]
mov r9d, r13d
cmp word [rax + r12*2], di
jne 0x14002ab7f
mov rdx, rcx
jmp 0x14002accd
lea r8, [r15 + 8]
mov byte [rsp + 0x20], 1
lea rdx, [rsi + 0x358]
mov rcx, rsi
call fcn.14005df60
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x31]
mov qword [rsp + 0x28], rax
lea r9, [r15 + 8]
lea r8, [rsi + 0x358]
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.14005cf20
mov rbx, rax
cmp byte [rsp + 0x31], dil
jne 0x14002ab25
mov rbx, rdi
jmp 0x14002ace0
cmp r14, qword [0x14037a348]
ja 0x14002acc8
lea rax, [r12 + r12*2]
lea r12, [rcx + rax*8]
mov rcx, qword [rcx + rax*8 + 8]
lea rax, [rcx + 8]
mov rbx, qword [rcx]
cmp cx, word [r12 + 0x18]
je 0x14002ac0c
mov qword [r12 + 8], rax
inc qword [r12 + 0x10]
jmp 0x14002ace0
cmp cx, word [r12 + 0x1c]
je 0x14002ac29
mov qword [r12 + 8], rax
mov word [r12 + 0x18], ax
inc qword [r12 + 0x10]
jmp 0x14002ace0
xor edx, edx
mov rcx, rsi
call fcn.140020fc0
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14002ac45
mov rbx, rdi
jmp 0x14002ace0
mov r9d, r13d
mov byte [rsp + 0x20], dil
lea r8, [r12 + 8]
mov rcx, rsi
lea rdx, [rsi + 0x358]
call fcn.14005df60
movabs rax, 0x7000000000000000
cmp r14, rax
jbe 0x14002ac75
mov r8, rdi
jmp 0x14002acab
lea rax, [r14*2 - 1]
test rax, rax
je 0x14002b15c
bsr rcx, rax
cmp rcx, 7
jae 0x14002ac97
mov ecx, 4
jmp 0x14002ac9b
add rcx, 0xfffffffffffffffd
shl r15, cl
dec r15
lea r8, [r15 + r14]
not r15
and r8, r15
mov rdx, qword [rsp + 0x38]
xor r9d, r9d
mov rcx, rsi
call fcn.14005c420
mov rbx, rax
test rax, rax
jne 0x14002ace0
mov rbx, rdi
jmp 0x14002ace0
mov r9d, r13d
xor edx, edx
mov r8, r14
mov byte [rsp + 0x20], dil
mov rcx, rsi
call fcn.140059800
mov rbx, rax
test rbx, rbx
je 0x14002ad49
mov r8, qword [rsp + 0x40]
lea rcx, [rsi + 0x338]
mov qword [rsp + 0x58], rcx
lea rax, [rsi + 8]
mov qword [rsp + 0x60], rax
lea rax, [rsi + 0x10]
mov qword [rsp + 0x68], rax
lea rax, [rsi + 0x340]
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x50], 1
mov rdx, qword [rcx]
lea rax, [r8 + rdx]
mov qword [rcx], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
sub rcx, rdx
cmp r8, rcx
jb 0x14002b0eb
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.1400640e0
jmp 0x14002b0eb
mov ecx, ntohs
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rdi
jmp 0x14002b0eb
cmp byte [0x14036b1c9], dil
lea rbx, [0x140000000]
setne byte [rsp + 0x30]
cmp r14, 0x1000
ja 0x14002ad8b
lea rax, [r14 + 7]
shr rax, 3
movzx r12d, byte [rax + rbx + 0x374080]
jmp 0x14002ad96
mov rcx, r14
call fcn.14002b700
mov r12d, eax
mov dword [rsp + 0x40], r12d
cmp r12d, 0xe8
jae 0x14002b0b1
lea r8, [rbx + 0x373940]
mov eax, r12d
lea r8, [r8 + rax*8]
mov rcx, qword [r8]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], r8
cmp byte [rsi + 1], dil
jle 0x14002ae5b
movzx r8d, r15b
mov edx, edi
mov rcx, rsi
call fcn.140021680
mov rdx, rax
mov r13, rdi
test rax, rax
jne 0x14002adf2
cmp edi, dword [0x14057b2f4]
jae 0x14002b0b1
mov r8, qword [rsp + 0x38]
mov eax, r12d
test r13, r13
je 0x14002b01e
cmp r14, 0x3800
ja 0x14002af0b
lea rax, [rax + rax*2]
lea r15, [rax*8]
add r15, r13
mov rcx, qword [r15 + 8]
lea rax, [rcx + 8]
mov rbx, qword [rcx]
cmp cx, word [r15 + 0x18]
je 0x14002ae6f
mov qword [r15 + 8], rax
movzx r13d, byte [rsp + 0x30]
test r13b, r13b
je 0x14002ae52
mov r8, qword [rsp + 0x38]
xor edx, edx
mov rcx, rbx
mov r8, qword [r8]
call fcn.1401e1df0
inc qword [r15 + 0x10]
jmp 0x14002b03a
mov r13, rdi
cmp byte [rsi], dil
je 0x14002ae6a
lea r13, [rsi + 0x358]
mov rdx, rdi
jmp 0x14002adfa
cmp cx, word [r15 + 0x1c]
je 0x14002ae81
mov qword [r15 + 8], rax
mov word [r15 + 0x18], ax
jmp 0x14002ae35
mov rcx, rsi
call fcn.140020fc0
mov rbx, rax
test rax, rax
jne 0x14002ae9f
movzx r13d, byte [rsp + 0x30]
mov rbx, rdi
jmp 0x14002b03a
mov rax, qword [0x14037a360]
mov r9d, r12d
mov ecx, r12d
cmp word [rax + rcx*2], di
mov rcx, rsi
jne 0x14002aebd
mov rdx, rbx
jmp 0x14002b024
lea r8, [r15 + 8]
mov byte [rsp + 0x20], 1
mov rdx, r13
call fcn.14005df60
lea rax, [rsp + 0x32]
mov r8, r13
mov qword [rsp + 0x28], rax
lea r9, [r15 + 8]
mov rdx, rbx
mov dword [rsp + 0x20], r12d
mov rcx, rsi
call fcn.14005cf20
mov rbx, rax
cmp byte [rsp + 0x32], dil
jne 0x14002ae35
movzx r13d, byte [rsp + 0x30]
mov rbx, rdi
jmp 0x14002b03a
cmp r14, qword [0x14037a348]
ja 0x14002b01e
lea rax, [rax + rax*2]
lea r12, [rax*8]
add r12, r13
mov rcx, qword [r12 + 8]
lea rax, [rcx + 8]
mov rbx, qword [rcx]
cmp cx, word [r12 + 0x18]
je 0x14002af42
mov qword [r12 + 8], rax
jmp 0x14002af55
cmp cx, word [r12 + 0x1c]
je 0x14002af77
mov qword [r12 + 8], rax
mov word [r12 + 0x18], ax
movzx r13d, byte [rsp + 0x30]
test r13b, r13b
je 0x14002af6d
mov r8, qword [r8]
xor edx, edx
mov rcx, rbx
call fcn.1401e1df0
inc qword [r12 + 0x10]
jmp 0x14002b03a
mov rcx, rsi
call fcn.140020fc0
mov rbx, rax
test rax, rax
jne 0x14002af95
movzx r13d, byte [rsp + 0x30]
mov rbx, rdi
jmp 0x14002b03a
mov r9d, dword [rsp + 0x40]
lea r8, [r12 + 8]
mov rdx, r13
mov byte [rsp + 0x20], dil
mov rcx, rsi
call fcn.14005df60
movabs rax, 0x7000000000000000
cmp r14, rax
jbe 0x14002afc3
mov r8, rdi
jmp 0x14002affc
lea rax, [r14*2 - 1]
test rax, rax
je 0x14002b15c
bsr rax, rax
cmp rax, 7
jae 0x14002afe5
mov eax, 4
jmp 0x14002afe9
add rax, 0xfffffffffffffffd
mov rcx, rax
shl r15, cl
dec r15
lea r8, [r15 + r14]
not r15
and r8, r15
movzx r13d, byte [rsp + 0x30]
mov rdx, rbx
movzx r9d, r13b
mov rcx, rsi
call fcn.14005c420
mov rbx, rax
test rax, rax
jne 0x14002b03a
mov rbx, rdi
jmp 0x14002b03a
mov r9d, r12d
mov rcx, rsi
movzx r13d, byte [rsp + 0x30]
mov r8, r14
mov byte [rsp + 0x20], r13b
call fcn.140059800
mov rbx, rax
test rbx, rbx
je 0x14002b0b1
mov r15, qword [rsp + 0x48]
lea rcx, [rsi + 0x338]
mov qword [rbp - 0x80], rcx
lea rax, [rsi + 8]
mov qword [rbp - 0x78], rax
lea rax, [rsi + 0x10]
mov qword [rbp - 0x70], rax
lea rax, [rsi + 0x340]
mov qword [rbp - 0x68], rax
mov byte [rsp + 0x78], 1
mov rdx, qword [rcx]
lea rax, [r15 + rdx]
mov qword [rcx], rax
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
sub rcx, rdx
cmp r15, rcx
jb 0x14002b095
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.1400640e0
test r13b, r13b
jne 0x14002b0bf
cmp byte [0x14036b1c4], dil
je 0x14002b0bf
mov rdx, r15
mov rcx, rbx
call qword [0x14035b088]
jmp 0x14002b0bf
mov ecx, ntohs
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, rdi
xor eax, eax
mov qword [rbp + 0xa00], rdi
lea r9, [rbp + 0xa00]
mov qword [rbp + 0xa08], r14
mov r8, rbx
mov qword [rbp + 0xa10], rax
mov rdx, rbx
lea ecx, [rax + 7]
call fcn.1400390b0
mov r13, qword [rsp + 0xb28]
mov rax, rbx
mov rbx, qword [rsp + 0xb70]
mov r12, qword [rsp + 0xb30]
mov rdi, qword [rsp + 0xb38]
mov rsi, qword [rsp + 0xb40]
mov r15, qword [rsp + 0xb20]
mov rcx, qword [rbp + 0xa18]
xor rcx, rsp
call fcn.1401df0b0
add rsp, 0xb48
pop r14
pop rbp
ret
lea rcx, str._jemalloc_:_Error_allocating_TSD_n
call fcn.14002ee10
call fcn.1401f5dec
int3
lea rcx, str._jemalloc_:_Error_setting_TSD_n
call fcn.14002ee10
call fcn.1401f5dec
int3
call fcn.1401f5dec
int3