Function at 0x1800fd430
Capabilities:
Set thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 8], ecx
push rbx
push rdi
push r14
push r15
sub rsp, 0xd8
lea ebx, [rcx - 0xa]
mov r14, r8
mov dword [rsp + 0x50], ebx
mov r15, r9
mov r8, rdx
mov edi, ecx
cmp ecx, ebx
jbe 0x1800fd877
mov qword [rax + 0x20], rbp
lea ebx, [rcx - 0x5f]
mov rbp, qword [rsp + 0x70]
lea rdx, [0x180000000]
mov qword [rax - 0x28], rsi
mov rsi, qword [rsp + 0x120]
mov qword [rax - 0x30], r12
mov r12d, dword [rsp + 0x100]
mov qword [rax - 0x38], r13
mov r13, qword [rsp + 0x70]
movaps xmmword [rax - 0x48], xmm6
movss xmm6, dword [rsp + 0x100]
movaps xmmword [rax - 0x58], xmm7
movss xmm7, dword [0x1801745f4]
movaps xmmword [rax - 0x68], xmm8
movss xmm8, dword [rsp + 0x100]
movaps xmmword [rax - 0x78], xmm9
movss xmm9, dword [0x1801744fc]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x58], ebx
cmp ebx, 0x14
ja case.default.0x1800fd4ea
mov ecx, dword [rdx + rbx*4 + 0xfd88c]
add rcx, rdx
jmp rcx
test rbp, rbp
jne case.0x1800fd4ea.1
mov ebx, 0x102
nop word [rax + rax]
cmp ebx, 0x102
je 0x1800fd516
cmp ebx, 0x1b4
je case.0x1800fd4ea.17
jmp 0x1800fd559
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov dword [rsp + 0x40], 0x12a
mov qword [rsp + 0x38], rax
lea r9, str.outofmem
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180113e50
mov qword [rsp + 0x60], 0
add ebx, 0xb2
cmp ebx, 0x266
jb 0x1800fd500
mov r8, qword [rsp + 0x108]
lea rdx, [0x180000000]
mov ebx, dword [rsp + 0x58]
jmp case.0x1800fd4ea.1
mov r12d, dword [r14]
test r12b, 1
lea eax, [r12 - 1]
cmove r12d, eax
jmp case.0x1800fd4ea.1
mov ecx, dword [0x1801d5d8c]
mov r13, qword [0x1801d5d90]
shl rcx, 4
add rcx, r13
mov qword [rsp + 0x70], rcx
jmp case.0x1800fd4ea.1
mov eax, dword [r8]
mov r9d, 0x4a
imul eax, dword [r14]
lea r8, [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x20], 0
xor ecx, ecx
imul eax, dword [rsi]
cdqe
mov qword [rsp + 0x68], rax
call fcn.180054100
mov r8, qword [rsp + 0x108]
lea rdx, [0x180000000]
mov rbp, rax
jmp case.0x1800fd4ea.1
test r15, r15
je 0x1800fd60c
mov rdx, qword [r15 + 0x278]
mov rcx, qword [r15 + 0x270]
jmp 0x1800fd610
xor edx, edx
xor ecx, ecx
call qword [sym.imp.OPENGL32.dll_wglMakeCurrent]
mov ecx, dword [0x18018433c]
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov r8, qword [rsp + 0x108]
lea rdx, [0x180000000]
jmp case.0x1800fd4ea.1
mov dword [rsp + 0x54], 0xffffffff
jmp case.0x1800fd4ea.1
mov eax, 0x106
nop dword [rax + rax]
cmp eax, 0x106
je 0x1800fd664
cmp eax, 0x75b2
je case.0x1800fd4ea.17
jmp 0x1800fd669
mov qword [rsp + 0x60], rbp
add eax, 0x74ac
cmp eax, 0xe958
jbe 0x1800fd650
mov r9, qword [rsp + 0x120]
xor esi, esi
mov eax, dword [r8]
imul eax, dword [r9]
test eax, eax
jle 0x1800fd7b5
nop
xor edi, edi
test r12d, r12d
jle 0x1800fd735
nop dword [rax + rax]
mov ebx, 0x84
mov eax, ebx
sub eax, 0x82
je 0x1800fd6ff
sub eax, 1
je 0x1800fd6eb
cmp eax, 1
jne 0x1800fd710
mov eax, dword [r14]
movss xmm0, dword [0x1801809b4]
movss xmm1, dword [0x1801809b0]
imul eax, esi
add eax, edi
cdqe
mulss xmm0, dword [r15 + rax*4]
call sub.api_ms_win_crt_math_l1_1_0.dll_powf
movaps xmm6, xmm0
mulss xmm6, xmm7
addss xmm6, xmm9
jmp 0x1800fd710
xorps xmm0, xmm0
maxss xmm0, xmm6
comiss xmm0, xmm7
movaps xmm6, xmm0
jbe 0x1800fd710
movaps xmm6, xmm7
jmp 0x1800fd710
mov eax, dword [r14]
imul eax, esi
cvttss2si ecx, xmm6
add eax, edi
cdqe
mov byte [rax + rbp], cl
dec ebx
cmp ebx, 0x81
ja 0x1800fd6a5
inc edi
cmp edi, r12d
jl 0x1800fd6a0
mov r8, qword [rsp + 0x108]
mov r9, qword [rsp + 0x120]
cmp edi, dword [r14]
jge 0x1800fd799
mov edx, 0x4f
nop
mov eax, edx
sub eax, 0x4f
je 0x1800fd778
sub eax, 1
je 0x1800fd765
cmp eax, 1
jne 0x1800fd792
mov eax, dword [r14]
imul eax, esi
cvttss2si ecx, xmm8
add eax, edi
cdqe
mov byte [rax + rbp], cl
jmp 0x1800fd792
xorps xmm0, xmm0
maxss xmm0, xmm8
movaps xmm8, xmm7
minss xmm8, xmm0
jmp 0x1800fd792
mov eax, dword [r14]
imul eax, esi
add eax, edi
cdqe
movss xmm8, dword [r15 + rax*4]
mulss xmm8, xmm7
addss xmm8, xmm9
inc edx
cmp edx, 0x52
jb 0x1800fd740
mov eax, dword [r8]
inc esi
imul eax, dword [r9]
cmp esi, eax
jl 0x1800fd690
mov edi, dword [rsp + 0x100]
mov ebx, dword [rsp + 0x58]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r8, qword [rsp + 0x108]
lea rdx, [0x180000000]
mov rsi, qword [rsp + 0x120]
jmp case.0x1800fd4ea.1
mov rcx, qword [rsp + 0x70]
cmp r13, rcx
je 0x1800fd812
mov r14d, dword [rsp + 0x54]
cmp qword [r13], r15
jne 0x1800fd7fc
mov eax, dword [r13 + 8]
cmp eax, dword [r8]
jb 0x1800fd7fc
cmp eax, r14d
cmovb r14d, eax
add r13, 0x10
cmp r13, rcx
jne 0x1800fd7e6
mov dword [rsp + 0x54], r14d
mov r14, qword [rsp + 0x110]
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x50]
dec edi
dec ebx
mov dword [rsp + 0x100], edi
mov dword [rsp + 0x58], ebx
cmp edi, eax
ja 0x1800fd4d7
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xb0]
mov r13, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0x118]
movaps xmm9, xmmword [rsp + 0x80]
mov rax, qword [rsp + 0x60]
add rsp, 0xd8
pop r15
pop r14
pop rdi
pop rbx
ret