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

Disassembly:
push rdi
sub rsp, 0x20
cmp dword [reloc.WS2_32.dll_closesocket], 0
mov rdi, rcx
jne 0x14001a5da
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x1405f78c0]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebx
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x30]
test rsi, rsi
jne 0x14001a54d
xor edx, edx
jmp 0x14001a551
lea rdx, [rsi + 8]
mov rsi, qword [rsp + 0x38]
cmp rdi, 0x1000
ja 0x14001a5d7
test rdx, rdx
je 0x14001a5d7
mov r8, qword [rdx + 0x338]
lea rcx, [0x140000000]
lea rax, [rdi + 7]
shr rax, 3
movzx r9d, byte [rax + rcx + 0x3f0900]
mov rcx, qword [rcx + r9*8 + 0x3f01c0]
add r8, rcx
cmp r8, qword [rdx + 0x340]
jae 0x14001a5d7
add r9, 0x24
lea rax, [r9 + r9*2]
mov r10, qword [rdx + rax*8]
lea rcx, [rdx + rax*8]
lea rax, [r10 + 8]
mov r9, qword [r10]
cmp r10w, word [rcx + 0x10]
jne 0x14001a5c0
cmp r10w, word [rcx + 0x14]
je 0x14001a5d7
mov word [rcx + 0x10], ax
mov qword [rcx], rax
mov rax, r9
mov qword [rdx + 0x338], r8
inc qword [rcx + 8]
add rsp, 0x20
pop rdi
ret
mov rcx, rdi
add rsp, 0x20
pop rdi
jmp 0x14001d1d0
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa20]
sub rsp, 0xb20
mov rax, qword [0x1403e4f00]
xor rax, rsp
mov qword [rbp + 0xa18], rax
cmp dword [reloc.WS2_32.dll_closesocket], 0
mov r14, rcx
je 0x14001d22f
call fcn.14001dc20
test al, al
je 0x14001d22f
mov ecx, reloc.WS2_32.dll_inet_ntoa
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
jmp 0x14001dbc2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x1405f78c0]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ecx, ebx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor ebx, ebx
lea r15d, [rbx + 1]
test rdi, rdi
jne 0x14001d504
mov ecx, 0xa50
call fcn.140026730
mov rdi, rax
test rax, rax
je 0x14001dbf5
xorps xmm0, xmm0
mov byte [rax], bl
xor eax, eax
mov word [rbp - 0x50], bx
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], rbx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rbx
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rbx
mov qword [rbp], rbx
mov qword [rbp + 8], rbx
mov qword [rbp + 0x10], rbx
mov qword [rbp + 0x18], rbx
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rbx
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], rbx
mov qword [rbp + 0x40], rbx
mov dword [rbp + 0x48], 0x3e8
mov dword [rbp + 0x4c], 0x3e8
mov word [rbp + 0x50], 0xffff
movups xmmword [rbp + 0x52], xmm0
mov qword [rbp + 0x78], rbx
movups xmmword [rbp + 0x62], xmm0
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0xa8], rbx
call fcn.14027e650
mov qword [rbp + 0x160], r15
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x170], r15
mov qword [rbp + 0x178], rbx
mov qword [rbp + 0x180], r15
mov qword [rbp + 0x188], rbx
mov qword [rbp + 0x190], r15
mov qword [rbp + 0x198], rbx
mov qword [rbp + 0x1a0], r15
mov qword [rbp + 0x1a8], rbx
mov qword [rbp + 0x1b0], r15
mov qword [rbp + 0x1b8], rbx
mov qword [rbp + 0x1c0], r15
mov qword [rbp + 0x1c8], rbx
mov qword [rbp + 0x1d0], r15
mov qword [rbp + 0x1d8], rbx
mov qword [rbp + 0x1e0], r15
mov qword [rbp + 0x1e8], rbx
mov qword [rbp + 0x1f0], r15
mov qword [rbp + 0x1f8], rbx
mov qword [rbp + 0x200], r15
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x210], r15
mov qword [rbp + 0x218], rbx
mov qword [rbp + 0x220], r15
mov qword [rbp + 0x228], rbx
mov qword [rbp + 0x230], r15
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x240], r15
mov qword [rbp + 0x248], rbx
mov qword [rbp + 0x250], r15
mov qword [rbp + 0x258], rbx
mov qword [rbp + 0x260], r15
mov qword [rbp + 0x268], rbx
mov qword [rbp + 0x270], r15
mov qword [rbp + 0x278], rbx
mov qword [rbp + 0x280], r15
mov qword [rbp + 0x288], rbx
mov qword [rbp + 0x290], r15
mov qword [rbp + 0x298], rbx
mov qword [rbp + 0x2a0], r15
xor eax, eax
mov qword [rbp + 0x2a8], rbx
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], rbx
mov qword [rbp + 0x2c0], r15
mov qword [rbp + 0x2c8], rbx
mov qword [rbp + 0x2d0], r15
mov qword [rbp + 0x2d8], rbx
mov byte [rbp + 0x2e0], 6
mov qword [rbp + 0x2e8], rbx
mov qword [rbp + 0x2f0], rbx
mov qword [rbp + 0x2f8], rbx
mov qword [rbp + 0x300], rbx
mov qword [rbp + 0x308], rbx
call fcn.14027e650
lea rcx, [rdi + 8]
mov qword [rbp + 0x9e8], rbx
lea rdx, [rbp - 0x50]
mov byte [rbp + 0x9f0], bl
mov r8d, 0xa48
call fcn.14027dfb0
mov ecx, dword [0x1405f78c0]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x14001dc07
add rdi, 8
cmp byte [rdi + 0x330], bl
je 0x14001d529
xor edx, edx
mov rcx, rdi
call fcn.140026d50
mov rdi, rax
cmp byte [rax + 0x330], bl
jne 0x14001d83f
lea rsi, [0x140000000]
movabs rax, 0x7000000000000000
cmp r14, 0x1000
ja 0x14001d556
lea rax, [r14 + 7]
shr rax, 3
movzx r13d, byte [rax + rsi + 0x3f0900]
jmp 0x14001d5b6
cmp r14, rax
jbe 0x14001d563
mov r13d, 0xe8
jmp 0x14001d5b6
lea rax, [r14*2 - 1]
test rax, rax
je 0x14001dc19
bsr rdx, rax
mov ecx, ebx
cmp edx, 6
lea eax, [rdx - 6]
cmovae ecx, eax
lea r8d, [rcx*4]
mov ecx, 4
cmp edx, 7
jb 0x14001d598
lea ecx, [rdx - 3]
mov rdx, 0xffffffffffffffff
lea rax, [r14 - 1]
shl rdx, cl
lea r13d, [r8 + 1]
and rdx, rax
shr rdx, cl
and edx, 3
add r13d, edx
cmp r13d, 0xe8
jae 0x14001d82f
mov r12d, r13d
lea rcx, [rdi + 0x358]
mov rax, qword [rsi + r12*8 + 0x3f01c0]
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x14001d7b0
cmp r14, 0x3800
ja 0x14001d6bd
lea rax, [r12 + r12*2]
lea r15, [rcx + rax*8]
mov rcx, qword [rcx + rax*8 + 8]
lea rax, [rcx + 8]
mov rsi, qword [rcx]
cmp cx, word [r15 + 0x18]
je 0x14001d618
mov qword [r15 + 8], rax
inc qword [r15 + 0x10]
jmp 0x14001d7c7
cmp cx, word [r15 + 0x1c]
je 0x14001d631
mov qword [r15 + 8], rax
mov word [r15 + 0x18], ax
inc qword [r15 + 0x10]
jmp 0x14001d7c7
xor edx, edx
mov rcx, rdi
call fcn.140016150
mov qword [rsp + 0x38], rax
mov rcx, rax
test rax, rax
jne 0x14001d650
mov rsi, rbx
jmp 0x14001d7c7
mov rax, qword [0x1403f69b0]
mov r9d, r13d
cmp word [rax + r12*2], bx
jne 0x14001d669
mov rdx, rcx
jmp 0x14001d7b5
lea r8, [r15 + 8]
mov byte [rsp + 0x20], 1
lea rdx, [rdi + 0x358]
mov rcx, rdi
call fcn.140053ce0
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x31]
mov qword [rsp + 0x28], rax
lea r9, [r15 + 8]
lea r8, [rdi + 0x358]
mov dword [rsp + 0x20], r13d
mov rcx, rdi
call fcn.140052ca0
mov rsi, rax
cmp byte [rsp + 0x31], bl
jne 0x14001d60f
mov rsi, rbx
jmp 0x14001d7c7
cmp r14, qword [0x1403f6998]
ja 0x14001d7b0
lea rax, [r12 + r12*2]
lea r12, [rcx + rax*8]
mov rcx, qword [rcx + rax*8 + 8]
lea rax, [rcx + 8]
mov rsi, qword [rcx]
cmp cx, word [r12 + 0x18]
je 0x14001d6f5
mov qword [r12 + 8], rax
inc qword [r12 + 0x10]
jmp 0x14001d7c7
cmp cx, word [r12 + 0x1c]
je 0x14001d712
mov qword [r12 + 8], rax
mov word [r12 + 0x18], ax
inc qword [r12 + 0x10]
jmp 0x14001d7c7
xor edx, edx
mov rcx, rdi
call fcn.140016150
mov qword [rsp + 0x38], rax
test rax, rax
jne 0x14001d72e
mov rsi, rbx
jmp 0x14001d7c7
mov r9d, r13d
mov byte [rsp + 0x20], bl
lea r8, [r12 + 8]
mov rcx, rdi
lea rdx, [rdi + 0x358]
call fcn.140053ce0
movabs rax, 0x7000000000000000
cmp r14, rax
jbe 0x14001d75d
mov r8, rbx
jmp 0x14001d793
lea rax, [r14*2 - 1]
test rax, rax
je 0x14001dc19
bsr rcx, rax
cmp rcx, 7
jae 0x14001d77f
mov ecx, 4
jmp 0x14001d783
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, rdi
call fcn.1400521a0
mov rsi, rax
test rax, rax
jne 0x14001d7c7
mov rsi, rbx
jmp 0x14001d7c7
mov r9d, r13d
xor edx, edx
mov r8, r14
mov byte [rsp + 0x20], bl
mov rcx, rdi
call fcn.14004f580
mov rsi, rax
test rsi, rsi
je 0x14001d82f
mov r9, qword [rsp + 0x40]
lea r8, [rdi + 0x338]
mov byte [rsp + 0x50], 1
lea rcx, [rdi + 8]
mov qword [rsp + 0x60], rcx
lea rcx, [rdi + 0x10]
mov qword [rsp + 0x68], rcx
lea rcx, [rdi + 0x340]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], r8
mov rdx, qword [r8]
lea rax, [r9 + rdx]
mov qword [r8], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
sub rcx, rdx
cmp r9, rcx
jb 0x14001d827
lea rdx, [rsp + 0x50]
mov rcx, rdi
call fcn.140059e70
mov rbx, rsi
jmp 0x14001dbc2
mov ecx, reloc.WS2_32.dll_inet_ntoa
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14001dbc2
cmp byte [0x1403e7a49], bl
lea rsi, [0x140000000]
setne byte [rsp + 0x30]
cmp r14, 0x1000
ja 0x14001d86d
lea rax, [r14 + 7]
shr rax, 3
movzx r12d, byte [rax + rsi + 0x3f0900]
jmp 0x14001d878
mov rcx, r14
call fcn.140020880
mov r12d, eax
mov dword [rsp + 0x40], r12d
cmp r12d, 0xe8
jae 0x14001db92
lea r8, [rsi + 0x3f01c0]
mov eax, r12d
lea r8, [r8 + rax*8]
mov rcx, qword [r8]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], r8
cmp byte [rdi + 1], bl
jle 0x14001d93c
movzx r8d, r15b
mov edx, ebx
mov rcx, rdi
call fcn.140016810
mov rdx, rax
mov r13, rbx
test rax, rax
jne 0x14001d8d3
cmp ebx, dword [0x1405f7934]
jae 0x14001db92
mov r8, qword [rsp + 0x38]
mov eax, r12d
test r13, r13
je 0x14001dafc
cmp r14, 0x3800
ja 0x14001d9ea
lea rax, [rax + rax*2]
lea r15, [rax*8]
add r15, r13
mov rcx, qword [r15 + 8]
lea rax, [rcx + 8]
mov rsi, qword [rcx]
cmp cx, word [r15 + 0x18]
je 0x14001d94f
mov qword [r15 + 8], rax
movzx r13d, byte [rsp + 0x30]
test r13b, r13b
je 0x14001d933
mov r8, qword [rsp + 0x38]
xor edx, edx
mov rcx, rsi
mov r8, qword [r8]
call fcn.14027e650
inc qword [r15 + 0x10]
jmp 0x14001db18
mov r13, rbx
cmp byte [rdi], bl
je 0x14001d94a
lea r13, [rdi + 0x358]
mov rdx, rbx
jmp 0x14001d8db
cmp cx, word [r15 + 0x1c]
je 0x14001d961
mov qword [r15 + 8], rax
mov word [r15 + 0x18], ax
jmp 0x14001d916
mov rcx, rdi
call fcn.140016150
mov rsi, rax
test rax, rax
jne 0x14001d97f
movzx r13d, byte [rsp + 0x30]
mov rsi, rbx
jmp 0x14001db18
mov rax, qword [0x1403f69b0]
mov r9d, r12d
mov ecx, r12d
cmp word [rax + rcx*2], bx
mov rcx, rdi
jne 0x14001d99d
mov rdx, rsi
jmp 0x14001db02
lea r8, [r15 + 8]
mov byte [rsp + 0x20], 1
mov rdx, r13
call fcn.140053ce0
lea rax, [rsp + 0x32]
mov r8, r13
mov qword [rsp + 0x28], rax
lea r9, [r15 + 8]
mov rdx, rsi
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.140052ca0
mov rsi, rax
cmp byte [rsp + 0x32], bl
jne 0x14001d916
movzx r13d, byte [rsp + 0x30]
mov rsi, rbx
jmp 0x14001db18
cmp r14, qword [0x1403f6998]
ja 0x14001dafc
lea rax, [rax + rax*2]
lea r12, [rax*8]
add r12, r13
mov rcx, qword [r12 + 8]
lea rax, [rcx + 8]
mov rsi, qword [rcx]
cmp cx, word [r12 + 0x18]
je 0x14001da21
mov qword [r12 + 8], rax
jmp 0x14001da34
cmp cx, word [r12 + 0x1c]
je 0x14001da56
mov qword [r12 + 8], rax
mov word [r12 + 0x18], ax
movzx r13d, byte [rsp + 0x30]
test r13b, r13b
je 0x14001da4c
mov r8, qword [r8]
xor edx, edx
mov rcx, rsi
call fcn.14027e650
inc qword [r12 + 0x10]
jmp 0x14001db18
mov rcx, rdi
call fcn.140016150
mov rsi, rax
test rax, rax
jne 0x14001da74
movzx r13d, byte [rsp + 0x30]
mov rsi, rbx
jmp 0x14001db18
mov r9d, dword [rsp + 0x40]
lea r8, [r12 + 8]
mov rdx, r13
mov byte [rsp + 0x20], bl
mov rcx, rdi
call fcn.140053ce0
movabs rax, 0x7000000000000000
cmp r14, rax
jbe 0x14001daa1
mov r8, rbx
jmp 0x14001dada
lea rax, [r14*2 - 1]
test rax, rax
je 0x14001dc19
bsr rax, rax
cmp rax, 7
jae 0x14001dac3
mov eax, 4
jmp 0x14001dac7
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, rsi
movzx r9d, r13b
mov rcx, rdi
call fcn.1400521a0
mov rsi, rax
test rax, rax
jne 0x14001db18
mov rsi, rbx
jmp 0x14001db18
mov r9d, r12d
mov rcx, rdi
movzx r13d, byte [rsp + 0x30]
mov r8, r14
mov byte [rsp + 0x20], r13b
call fcn.14004f580
mov rsi, rax
test rsi, rsi
je 0x14001db92
mov rbx, qword [rsp + 0x48]
lea rcx, [rdi + 0x338]
mov qword [rbp - 0x80], rcx
lea rax, [rdi + 8]
mov qword [rbp - 0x78], rax
lea rax, [rdi + 0x10]
mov qword [rbp - 0x70], rax
lea rax, [rdi + 0x340]
mov qword [rbp - 0x68], rax
mov byte [rsp + 0x78], 1
mov rdx, qword [rcx]
lea rax, [rbx + rdx]
mov qword [rcx], rax
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
sub rcx, rdx
cmp rbx, rcx
jb 0x14001db73
lea rdx, [rsp + 0x78]
mov rcx, rdi
call fcn.140059e70
test r13b, r13b
jne 0x14001db8d
cmp byte [0x1403e7a44], r13b
je 0x14001db8d
mov rdx, rbx
mov rcx, rsi
call qword [0x1403dd068]
mov rbx, rsi
jmp 0x14001db9d
mov ecx, reloc.WS2_32.dll_inet_ntoa
call qword [sym.imp.KERNEL32.dll_SetLastError]
xorps xmm0, xmm0
mov qword [rbp + 0xa00], r14
lea r9, [rbp + 0xa00]
mov r8, rbx
mov rdx, rbx
xor ecx, ecx
movups xmmword [rbp + 0xa08], xmm0
call fcn.14002ee40
mov rax, rbx
mov rcx, qword [rbp + 0xa18]
xor rcx, rsp
call fcn.140249860
lea r11, [rsp + 0xb20]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, str._jemalloc_:_Error_allocating_TSD_n
call fcn.140024be0
call fcn.14025c5b0
int3
lea rcx, str._jemalloc_:_Error_setting_TSD_n
call fcn.140024be0
call fcn.14025c5b0
int3
call fcn.14025c5b0
int3