Function at 0x1000c70d0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2d0]
sub rsp, 0x3d0
mov qword [rbp - 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x420], rbx
mov rax, qword [0x10022f440]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
mov r14, rdx
mov r15, rcx
mov qword [rbp - 0x80], rcx
xor r12d, r12d
mov r13d, r12d
mov qword [rsp + 0x70], r12
mov edi, r12d
call fcn.100068a00
mov rsi, rax
mov rax, qword gs:[0x30]
lea rbx, [rax + rsi]
mov rcx, rsi
call fcn.10006c530
test eax, eax
jne 0x1000c7150
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x1000c715e
cmp qword [rbx + 0xd8], rdi
jne 0x1000c717f
call fcn.100063d30
call fcn.100068a00
mov rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000c717f
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
call fcn.10006add0
mov rcx, rax
call fcn.100082120
mov rbx, rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x68], r12d
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x58], rax
mov rcx, rax
call fcn.100076ac0
mov qword [rsp + 0x48], rax
mov rcx, rbx
call fcn.100076b60
mov qword [rsp + 0x50], rax
mov rax, qword [r14]
mov rcx, r14
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [r15 + 0x228], r14
call fcn.10006bea0
mov r12d, eax
mov dword [rsp + 0x38], eax
call fcn.10006bec0
mov r15d, eax
mov dword [rsp + 0x40], eax
xor edx, edx
mov r8d, 0x200
lea rcx, [rbp - 0x40]
call sub.MSVCR100.dll_memset
xor r8d, r8d
mov rbx, r8
test rdi, rdi
jne 0x1000c7215
mov rbx, qword [rsp + 0x48]
jmp 0x1000c7302
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x1000c7302
cmp rax, qword [rsp + 0x50]
je 0x1000c72d6
mov rsi, qword [rsp + 0x58]
call fcn.100064800
mov edx, eax
xor eax, eax
lock cmpxchg dword [rsi + 0x10], edx
mov r8d, 0
mov eax, r8d
sete al
test eax, eax
jne 0x1000c725d
lea rcx, [rsi + 0x10]
call fcn.100057bf0
xor r8d, r8d
mov rbx, qword [rdi + 8]
cmp rbx, rsi
cmove rbx, r8
test rbx, rbx
je 0x1000c72b0
nop dword [rax]
mov ecx, dword [rbx + 0x10]
test ecx, ecx
je 0x1000c729d
nop word [rax + rax]
lea edx, [rcx + 1]
mov eax, ecx
lock cmpxchg dword [rbx + 0x10], edx
cmp ecx, eax
je 0x1000c7299
pause
mov ecx, dword [rbx + 0x10]
test ecx, ecx
jne 0x1000c7280
jmp 0x1000c729d
test edx, edx
jne 0x1000c72b0
mov rax, qword [rbx + 8]
mov rbx, rax
cmp rax, rsi
cmove rbx, r8
test rbx, rbx
jne 0x1000c7270
mov dword [rsi + 0x10], r8d
mov qword [rsp + 0x48], rbx
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
dec eax
jne 0x1000c7302
mov rcx, rdi
cmp qword [rdi + 8], 0
je 0x1000c72fa
call fcn.100084020
jmp 0x1000c72ff
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], r8
or eax, 0xffffffff
lock xadd dword [rcx + 0x10], eax
dec eax
jne 0x1000c7302
cmp qword [rcx + 8], 0
je 0x1000c72fa
call fcn.100084020
jmp 0x1000c72ff
call fcn.1000876c0
xor r8d, r8d
mov rdi, rbx
test rbx, rbx
je 0x1000c731b
movzx eax, word [rbx + 0x80]
mov qword [rbp + rax*8 - 0x40], rbx
jmp 0x1000c7203
test r15d, r15d
je 0x1000c7334
mov edi, r8d
mov ecx, edi
call fcn.10006be10
inc bl
movzx edi, bl
cmp edi, r15d
jb 0x1000c7323
xor sil, sil
test r15d, r15d
je 0x1000c7447
xor edi, edi
movzx eax, sil
mov dword [rsp + 0x30], eax
mov ecx, eax
call fcn.10006be10
mov r12, rax
movzx ecx, word [rax + 0x20]
call fcn.10006bde0
movzx r14d, word [rax]
xor r13d, r13d
lea r15, [rbp - 0x40]
lea r15, [r15 + r14*8]
mov rbx, qword [r15]
test rbx, rbx
jne 0x1000c73a7
call fcn.10006add0
mov rcx, rax
call fcn.100081ff0
mov rbx, rax
test rax, rax
je 0x1000c73a1
movzx eax, r14b
mov word [rbx + 0x80], ax
mov rcx, rbx
call fcn.1000842c0
mov qword [r15], rbx
jmp 0x1000c73a7
mov r13d, 0xc0000000
test r13d, r13d
jne 0x1000c7442
cmp qword [r12 + 8], rdi
je 0x1000c741e
or dword [rbx + 0x4120], 1
mov qword [rsp + 0x78], rdi
mov ecx, dword [rsp + 0x30]
call fcn.10006be10
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x80]
mov r9, qword [rax + 0x228]
mov r8, rbx
movzx edx, sil
mov rcx, rax
call fcn.1000c7b00
mov r13d, eax
test eax, eax
jne 0x1000c7419
lea rcx, [rbx + 0x20]
mov rax, qword [rcx]
mov rdi, qword [rsp + 0x78]
mov qword [rdi], rax
mov rax, qword [rcx]
mov qword [rax + 8], rdi
mov qword [rcx], rdi
mov qword [rdi + 8], rcx
test r13d, r13d
jne 0x1000c7442
mov eax, dword [rdi + 0x590]
mov ecx, eax
xor ecx, 0x10
and ecx, eax
mov dword [rdi + 0x590], ecx
inc sil
movzx eax, sil
cmp eax, dword [rsp + 0x40]
jb 0x1000c7340
mov r12d, dword [rsp + 0x38]
xor bl, bl
test r12d, r12d
je 0x1000c74ac
nop
movzx eax, bl
cmp qword [rbp + rax*8 - 0x40], 0
jne 0x1000c74a2
movzx esi, bl
xor r13d, r13d
cmp qword [rbp + rsi*8 - 0x40], r13
jne 0x1000c7499
call fcn.10006add0
mov rcx, rax
call fcn.100081ff0
mov rdi, rax
test rax, rax
je 0x1000c7493
mov word [rax + 0x80], si
mov rcx, rax
call fcn.1000842c0
mov qword [rbp + rsi*8 - 0x40], rdi
jmp 0x1000c7499
mov r13d, 0xc0000000
test r13d, r13d
jne 0x1000c7583
inc bl
movzx eax, bl
cmp eax, r12d
jb 0x1000c7450
test r13d, r13d
jne 0x1000c7583
lea rcx, [rbp + 0x1c0]
call fcn.1000f2e20
lea rcx, [rbp + 0x240]
call fcn.10006ae10
mov rdx, rax
lea r8, [rbp + 0x1c0]
mov rdi, qword [rbp - 0x80]
mov rcx, rdi
call fcn.1000c7630
mov r13d, eax
call fcn.10006b9f0
test eax, eax
je 0x1000c7583
call fcn.10006add0
mov rcx, rax
call fcn.100082070
mov rbx, rax
mov dword [rsp + 0x38], 0x40
mov r8d, dword [rsp + 0x38]
mov dword [rax + 0x30], r8d
mov rcx, rax
call fcn.10006b6d0
xor ecx, ecx
call fcn.10006be10
mov edx, 0x40
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9, qword [rdi + 0x228]
mov r8, rbx
mov rcx, rdi
call fcn.1000c7b00
or r13d, eax
jne 0x1000c7583
lea rdx, [rbx + 0x20]
mov rax, qword [rdx]
mov rcx, qword [rsp + 0x70]
mov qword [rcx], rax
mov rax, qword [rdx]
mov qword [rax + 8], rcx
mov qword [rdx], rcx
mov qword [rcx + 8], rdx
mov eax, dword [rcx + 0x590]
mov edx, eax
xor edx, 0x10
and edx, eax
mov dword [rcx + 0x590], edx
call fcn.10006b6b0
call fcn.10006adc0
mov rbx, rax
mov qword [rbp - 0x78], 0
mov qword [rbp - 0x70], 0
mov qword [rbp - 0x60], 0
mov dword [rbp - 0x58], 0
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x68], rax
mov rcx, rax
call fcn.1000c6770
mov qword [rbp - 0x78], rax
mov rcx, rbx
call fcn.1000c6820
mov qword [rbp - 0x70], rax
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1000cda80
mov qword [0x1002784c0], rax
lea rcx, [rbp - 0x78]
call fcn.1000cd9d0
nop
lea rcx, [rsp + 0x48]
call fcn.10008a170
mov eax, r13d
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.10005f420
mov rbx, qword [rsp + 0x420]
add rsp, 0x3d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret