Function at 0x100059550
Capabilities:
Get thread local storage value
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0xa0
xor ebx, ebx
call fcn.1000cab80
call fcn.10006bc60
call fcn.10006bc90
call fcn.10006bcc0
lea ecx, [rbx + 3]
call fcn.10006ae70
lea ecx, [rbx + 1]
call fcn.10006ae80
call fcn.10006aeb0
lea ecx, [rbx + 1]
mov qword [rax], reloc.WS2_32.dll_ntohs
mov qword [rax + 8], 4
call fcn.10006b660
xor ecx, ecx
call fcn.10006b100
xor edi, edi
test ebx, ebx
jne 0x1000595f4
call fcn.10006aeb0
mov r11, rax
mov r8, qword [rax + 8]
nop dword [rax + rax]
mov rax, qword [r11]
xor edx, edx
lea ecx, [rdx + 1]
test r8, r8
jle 0x1000595e4
nop dword [rax]
test rax, rcx
jne 0x100059697
rol rcx, 1
inc rdx
cmp rdx, r8
jl 0x1000595d0
mov ebx, 0x80000000
inc rdi
cmp rdi, 4
jl 0x1000595a8
test ebx, ebx
js 0x1000596b5
mov ecx, 1
call fcn.10006b1b0
mov ecx, 1
call fcn.10006af80
call fcn.10006af00
lea rcx, [rsp + 0x20]
mov edx, 2
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x30], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmm1, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmm1, xmmword [rax + 0x70]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm1
call fcn.1000c8db0
test eax, eax
js 0x1000596b7
mov ecx, 0x1f68
call fcn.1000c63d0
call fcn.10006bd00
mov rbx, qword [rsp + 0xb0]
add rsp, 0xa0
pop rdi
jmp 0x1000c82b0
cmp rdx, r8
jge 0x1000595e4
xor rcx, rax
lock cmpxchg qword [r11], rcx
jne 0x1000595c0
xor ebx, ebx
jmp 0x1000595e9
mov eax, ebx
mov rbx, qword [rsp + 0xb0]
add rsp, 0xa0
pop rdi
ret
push rsi
push rdi
push r14
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
xor r14d, r14d
mov ebx, r14d
call fcn.100068a00
mov rsi, rax
mov rax, qword gs:[0x30]
lea rdi, [rax + rsi]
mov rcx, rsi
call fcn.10006c530
test eax, eax
jne 0x1000c82fe
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
test rdi, rdi
je 0x1000c830f
mov rdi, qword [rdi + 0xd8]
test rdi, rdi
jne 0x1000c8347
call fcn.100063d30
call fcn.100068a00
mov rdi, rax
mov rax, qword gs:[0x30]
lea rsi, [rax + rdi]
mov rcx, rdi
call fcn.10006c530
test eax, eax
jne 0x1000c8340
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, rax
mov rdi, qword [rsi + 0xd8]
mov eax, dword [0x100278974]
cmp eax, 6
jne 0x1000c837a
cmp dword [0x100278978], 1
jb 0x1000c837a
cmp dword [0x10027897c], 0x1b99
jae 0x1000c837a
call fcn.10006b720
lea rcx, [0x100022200]
call rax
mov ebx, 0x80000000
call fcn.10006b960
test eax, eax
jne 0x1000c838e
test ebx, ebx
jne 0x1000c838e
call fcn.1000c8960
mov ebx, eax
call fcn.10006b940
test eax, eax
jne 0x1000c893a
test ebx, ebx
jne 0x1000c893a
mov eax, dword [0x1002470c0]
cmp dword [0x100005d30], eax
jbe 0x1000c83ee
call fcn.100068a00
mov rcx, rax
call fcn.10006c530
test eax, eax
je 0x1000c83ee
call fcn.10006b720
mov r9d, dword [0x1002470c0]
mov r8d, dword [0x100005d30]
mov edx, dword [0x1002470bc]
lea rcx, [0x1000222b0]
call rax
mov ebx, 0x80000000
jmp 0x1000c893a
lea rcx, [0x1000062f8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x100022348]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
call fcn.100068bb0
test byte [rax + 0xc1], 8
jne 0x1000c842f
test rbx, rbx
je 0x1000c842f
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call rbx
lea rcx, [0x1000062f8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
lea rdx, [0x100022360]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1002784c8], rax
lea rdx, [0x100022388]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1002784d0], rax
lea rdx, [0x1000223a8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1002784d8], rax
lea rcx, [0x1000223c8]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1000c84ad
lea rdx, [0x1000223e8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1002784e0], rax
call fcn.100113f80
call fcn.1000cba80
call fcn.10006b190
test eax, eax
jne 0x1000c84c7
xor ecx, ecx
call fcn.10006b100
call fcn.1000cc460
mov ebx, eax
test eax, eax
jne 0x1000c893a
mov rax, qword [0x100278968]
movzx ecx, word [rax + 0x80]
call fcn.10006bde0
lea rcx, [rax + 8]
xor edx, edx
call fcn.1000f2a60
mov esi, eax
call fcn.100068a00
mov rbp, rax
mov rcx, qword gs:[0x30]
lea rbx, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000c8522
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rcx, qword [rbx + 0xd8]
mov dword [rcx + 0x7c], esi
mov edx, esi
mov rcx, rbx
call fcn.100089910
call fcn.10007f7d0
mov ebx, eax
test eax, eax
jne 0x1000c893a
call fcn.100084920
lea ecx, [rbx + 1]
call fcn.100115430
call fcn.10006bfd0
test rax, rax
lea r8, [rax + 0x40]
jne 0x1000c8563
mov r8, r14
mov eax, 0x80
lea r9d, [rax - 0x78]
mov word [rsp + 0x20], ax
lea edx, [rax - 0x5a]
lea ecx, [rax - 0x7f]
call fcn.100095bf0
mov rbx, rax
mov qword [0x1002784e8], rax
test rax, rax
jne 0x1000c8595
mov ebx, 0xc0000000
jmp 0x1000c893a
call fcn.10006adf0
mov qword [rax + 0x18], rbx
test dword [rdi + 0x2d8], 0x400
jne 0x1000c863a
call fcn.100068a00
mov rdi, rax
mov rcx, qword gs:[0x30]
lea rbx, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000c85da
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
test rbx, rbx
je 0x1000c85eb
mov rcx, qword [rbx + 0xd8]
test rcx, rcx
jne 0x1000c8623
call fcn.100063d30
call fcn.100068a00
mov rbx, rax
mov rcx, qword gs:[0x30]
lea rdi, [rcx + rax]
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000c861c
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, rax
mov rcx, qword [rdi + 0xd8]
mov r8d, 1
mov rdx, qword [rcx + 0x210]
call fcn.100063a00
call fcn.100063d30
lea rdx, [0x100022400]
mov rcx, qword [0x100278960]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1000c83e4
lea rcx, [0x1000f0c00]
call rax
call fcn.10006af50
call fcn.10006adc0
mov rcx, rax
mov rdx, qword [0x1002784e8]
call fcn.1000c70d0
mov ebx, eax
test eax, eax
jne 0x1000c893a
call fcn.10006adc0
mov rbx, qword [rax + 0x20]
test rbx, rbx
je 0x1000c869c
test byte [rbx + 0x590], 0x10
cmovne rbx, r14
call fcn.10006bfd0
mov rdx, rax
lea rcx, [rbx + 0x398]
call fcn.1000df030
call fcn.10007f950
mov rdx, rax
lea rcx, [rbx + 0x398]
call fcn.1000df030
mov rcx, qword [0x1002784e8]
mov rax, qword [rcx]
mov byte [rsp + 0x20], 6
mov r9d, 0x793
lea r8, [0x100021fe8]
mov edx, 0x18
call qword [rax + 0x48]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1000c86fc
mov rcx, rax
call fcn.100103790
jmp 0x1000c86ff
mov rax, r14
mov qword [0x100278508], rax
test rax, rax
je 0x1000c858b
mov rbx, qword [0x1002784e8]
call fcn.100058d10
mov rdi, rax
mov qword [rsp + 0x28], rbx
lea rax, [0x1000f6a20]
mov qword [rsp + 0x20], rax
mov edx, 0xb0
mov ecx, 4
lea r9d, [rcx - 3]
lea r8d, [rdx - 0x4c]
call fcn.1000f5dd0
mov rbx, rax
test rax, rax
je 0x1000c8761
mov qword [rax], r14
mov qword [rax + 8], r14
lea rcx, [rdi + 0x58]
mov rdx, rax
call fcn.1000c6ba0
mov qword [0x100278ae0], rbx
test rbx, rbx
je 0x1000c858b
mov edi, dword [0x10023f524]
mov rbx, qword [0x1002784e8]
call fcn.100058d10
mov rsi, rax
mov qword [rsp + 0x28], rbx
lea rax, [0x1000f78d0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, edi
lea edx, [r9 + 0x70]
lea ecx, [rdx - 0x66]
call fcn.1000f5dd0
mov rbx, rax
test rax, rax
je 0x1000c87c4
mov qword [rax], r14
mov qword [rax + 8], r14
lea rcx, [rsi + 0x58]
mov rdx, rax
call fcn.1000c6ba0
mov qword [0x100278af0], rbx
test rbx, rbx
je 0x1000c858b
mov edi, dword [0x10023f524]
mov rbx, qword [0x1002784e8]
call fcn.100058d10
mov rsi, rax
mov qword [rsp + 0x28], rbx
lea rax, [0x1000f6db0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, edi
lea edx, [r9 + 0x58]
lea ecx, [rdx - 0x56]
call fcn.1000f5dd0
mov rbx, rax
test rax, rax
je 0x1000c8827
mov qword [rax], r14
mov qword [rax + 8], r14
lea rcx, [rsi + 0x58]
mov rdx, rax
call fcn.1000c6ba0
mov qword [0x100278ae8], rbx
test rbx, rbx
je 0x1000c858b
call fcn.10006b640
mov rcx, rax
call fcn.100108b10
mov ebx, eax
test eax, eax
jne 0x1000c893a
mov rdx, qword [0x1002784e8]
mov rcx, qword [0x100278508]
call fcn.1001037c0
mov ebx, eax
test eax, eax
jne 0x1000c893a
xor r8d, r8d
or edx, 0xffffffff
mov rcx, qword [0x1002784e8]
call fcn.1000938e0
mov ebx, eax
xor ecx, ecx
call fcn.100058c40
test ebx, ebx
jne 0x1000c893a
call fcn.10006ade0
mov rcx, rax
call fcn.100067250
mov ebx, eax
test eax, eax
jne 0x1000c893a
call fcn.100068a00
mov rdi, rax
mov rbx, qword gs:[0x30]
add rbx, rax
mov rcx, rax
call fcn.10006c530
test eax, eax
jne 0x1000c88d0
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbx, rax
mov rcx, qword [rbx + 0xd8]
mov edx, dword [rcx + 0x7c]
mov rcx, rbx
call fcn.100089910
call fcn.10006b0d0
mov ebx, eax
test eax, eax
jne 0x1000c893a
call fcn.10006b640
mov rcx, rax
call fcn.100108d50
mov ebx, eax
test eax, eax
jne 0x1000c893a
xor ecx, ecx
call fcn.1000c98f0
test eax, eax
je 0x1000c8927
cmp qword [0x100278950], 0
je 0x1000c8927
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea edx, [rbx + 1]
call qword [0x100278950]
call fcn.10006b950
call fcn.10006c150
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret