Function at 0x180216b80
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r13, rdx
mov r15, r8
mov r14, rcx
xor edx, edx
mov r8d, 0xc0
mov rcx, r13
mov ebx, r9d
xor ebp, ebp
call fcn.18024adb8
mov rcx, r14
call fcn.1801b3770
mov r10d, dword [r14 + 0xc]
mov r12d, 0xffffffff
mov dword [r13 + 0x94], ebx
mov qword [rsp + 0x40], rsi
mov edx, r12d
mov qword [r13], r15
mov ebx, ebp
mov r8d, ebp
mov qword [rsp + 0x38], rdi
nop word [rax + rax]
inc edx
cmp edx, r10d
jae 0x180216cd1
mov rax, qword [r14 + 0xce58]
mov rcx, qword [rax + rdx*8]
cmp qword [rcx + 0x30], rbx
je 0x180216bf0
mov rcx, qword [rcx + 0x30]
mov r11, rax
mov r9, qword [rcx]
cmp qword [rcx + 0xf0], 0xffffffffffffffff
jne 0x180216c9e
mov rsi, qword [rcx + 0xa8]
mov rdi, qword [rsi + 0x10]
mov rax, rdi
shr rax, 0xc
test al, 1
je 0x180216c6d
test rdi, 0x4200000
jne 0x180216c6d
mov eax, dword [rcx + 0xc8]
cmp eax, dword [r13 + 0x9c]
jb 0x180216c57
inc eax
mov dword [r13 + 0x9c], eax
mov ecx, dword [rcx + 0x3c]
inc ebx
add ecx, r8d
cmp ecx, r8d
jb 0x180216d24
mov r8d, ecx
jmp 0x180216c9e
cmp r15, rsi
jne 0x180216c9e
mov eax, dword [rcx + 0xc8]
inc ebx
cmp eax, dword [r13 + 0x98]
jb 0x180216c8c
inc eax
mov dword [r13 + 0x98], eax
mov ecx, dword [rcx + 0x3c]
add ecx, r8d
cmp ecx, r8d
jb 0x180216d30
mov r8d, ecx
test r9, r9
je 0x180216cb0
mov rcx, r9
mov r9, qword [r9]
jmp 0x180216cc8
inc edx
cmp edx, r10d
jae 0x180216cd1
mov rcx, qword [r11 + rdx*8]
cmp qword [rcx + 0x30], rbp
je 0x180216cb0
mov rcx, qword [rcx + 0x30]
mov r9, qword [rcx]
test rcx, rcx
jne 0x180216c16
mov r9d, dword [r13 + 0x9c]
mov edx, dword [r14 + 0x10]
mov eax, r8d
add r9d, dword [r13 + 0x98]
mov edi, ebx
mov dword [r13 + 0xa4], r8d
lea rcx, [rdi + rax]
mov eax, r9d
mov dword [r13 + 0xa0], r9d
lea r8, [rcx + rdx*2]
imul rax, rax, 0x9c
lea rbx, [rax + r8*8]
cmp rbx, r12
ja 0x18021766a
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x180216d3c
mov rax, rbp
jmp 0x180216d42
mov edi, 0x80004005
mov eax, edi
jmp 0x18021766f
mov edi, 0x80004005
mov eax, edi
jmp 0x18021766f
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r10, rax
mov qword [r13 + 0x10], rax
test rax, rax
je 0x18021766a
mov ebp, dword [r13 + 0xa0]
mov qword [r13 + 0x20], rax
mov qword [r13], r15
lea eax, [rbp*4]
mov byte [r13 + 0xb8], 0
mov r11d, eax
lea r12, [r10 + rax*8]
mov r10d, dword [r14 + 0x10]
lea rax, [r12 + rdi*8]
mov qword [r13 + 0x28], r12
mov dword [r13 + 8], r10d
mov qword [r13 + 0x30], rax
lea rax, [rax + r10*8]
lea rsi, [rax + r10*8]
mov qword [r13 + 0x38], rax
mov eax, dword [r13 + 0xa4]
lea rdi, [rax*8]
mov qword [r13 + 0x88], rsi
lea rax, [rdi + rsi]
mov qword [r13 + 0x78], rax
lea r9, [rax + rbp*8]
shl rbp, 4
lea rbx, [r9 + r11*4]
mov r8, rbp
mov qword [r13 + 0x18], r9
lea rax, [rbx + r11*4]
mov qword [r13 + 0x50], rbx
mov qword [r13 + 0x58], rax
lea rax, [rax + r11*4]
lea rcx, [rax + r11*4]
mov qword [r13 + 0x40], rax
lea rax, [rcx + r11*4]
mov qword [r13 + 0x48], rcx
mov rcx, r9
lea rdx, [rax + r11*4]
mov qword [r13 + 0x60], rax
lea rax, [rdx + r11*4]
mov qword [r13 + 0x68], rdx
xor edx, edx
mov qword [r13 + 0x70], rax
call fcn.18024adb8
mov r8, rbp
mov edx, 0xff
mov rcx, rbx
call fcn.18024adb8
mov r8, rdi
mov edx, 0xff
mov rcx, rsi
call fcn.18024adb8
mov r11d, dword [r14 + 0xc]
mov ebp, 0xffffffff
xor edi, edi
xor r10d, r10d
mov edx, ebp
xor r9d, r9d
inc edx
cmp edx, r11d
jae 0x180216e68
mov rax, qword [r14 + 0xce58]
mov r8, qword [rax + rdx*8]
cmp qword [r8 + 0x30], rdi
je 0x180216e47
mov r8, qword [r8 + 0x30]
mov r9, qword [r8]
jmp 0x180216e6b
xor r8d, r8d
lea rbx, [0x18002c3c0]
test r8, r8
je 0x180216f39
nop dword [rax + rax]
cmp qword [r8 + 0xf0], 0xffffffffffffffff
jne 0x180216ef9
mov r11, qword [r8 + 0xa8]
mov rcx, qword [r11 + 0x10]
mov rax, rcx
shr rax, 0xc
test al, 1
je 0x180216ec1
test rcx, 0x4200000
jne 0x180216ec1
lea rcx, [rsi + r10*8]
add r10d, dword [r8 + 0x3c]
inc edi
mov qword [r8 + 0x40], rcx
mov qword [r12], r8
add r12, 8
jmp 0x180216ef9
cmp r15, r11
jne 0x180216ef9
lea rcx, [rsi + r10*8]
inc edi
add r12, 8
mov qword [r8 + 0x40], rcx
mov qword [r12 - 8], r8
movsxd rax, dword [r8 + 0xa4]
mov ecx, dword [rbx + rax*4]
add r10d, dword [r8 + 0x3c]
and cl, 0xf
cmp cl, 4
jne 0x180216ef9
mov qword [r12], r8
inc edi
add r12, 8
test r9, r9
je 0x180216f06
mov r8, r9
mov r9, qword [r9]
jmp 0x180216f30
mov r9d, dword [r14 + 0xc]
nop word [rax + rax]
inc edx
cmp edx, r9d
jae 0x180216f39
mov rax, qword [r14 + 0xce58]
mov r8, qword [rax + rdx*8]
cmp qword [r8 + 0x30], 0
je 0x180216f10
mov r8, qword [r8 + 0x30]
mov r9, qword [r8]
test r8, r8
jne 0x180216e80
mov rcx, r14
call fcn.1801b3770
mov rdx, qword [r13 + 0x28]
lea rcx, [0x180212320]
mov r9, r14
mov r8d, edi
call fcn.1801a7da0
mov ecx, dword [r13 + 0xa0]
xor r11d, r11d
lea eax, [rcx*4]
xor r14d, r14d
xor esi, esi
mov qword [rsp + 0x20], rcx
test eax, eax
je 0x180217110
mov r13, qword [r13 + 0x20]
mov r15d, ecx
shl r15d, 2
xor ebx, ebx
cmp r11d, edi
jb 0x180216f99
mov qword [r13], 0
jmp 0x1802170e2
mov r8, qword [rsp + 0x88]
mov r12, qword [r8 + 0x28]
mov rdx, qword [r12 + rsi*8]
lea r9, [r12 + rsi*8]
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
mov rax, rcx
shr rax, 0xc
test al, 1
je 0x180216fdb
test rcx, 0x4200000
jne 0x180216fdb
mov eax, dword [rdx + 0xc8]
add eax, dword [r8 + 0x98]
jmp 0x180216fe1
mov eax, dword [rdx + 0xc8]
mov ebp, r14d
shr ebp, 2
cmp eax, ebp
jne 0x1802170da
mov r8d, dword [rdx + 0xcc]
mov r10d, r14d
and r10d, 3
cmp r8d, r10d
je 0x18021702c
movsxd rax, dword [rdx + 0xa4]
lea rcx, [0x18002c3c0]
mov ecx, dword [rcx + rax*4]
and cl, 0xf
cmp cl, 4
jne 0x1802170da
lea eax, [r8 + 1]
cmp eax, r10d
jne 0x1802170da
lea rcx, [r12 + r11*8]
mov qword [r13], rcx
mov r12, qword [rdx + 0xa8]
nop dword [rax + rax]
mov r8, qword [rsp + 0x88]
inc r11d
inc rsi
mov rax, qword [r8 + 0x18]
add r9, 8
inc dword [rbx + rax]
cmp r11d, edi
jae 0x1802170e2
mov rdx, qword [r9]
mov rax, qword [rdx + 0xa8]
mov rcx, qword [rax + 0x10]
mov rax, rcx
shr rax, 0xc
test al, 1
je 0x180217093
test rcx, 0x4200000
jne 0x180217093
mov eax, dword [rdx + 0xc8]
add eax, dword [r8 + 0x98]
jmp 0x180217099
mov eax, dword [rdx + 0xc8]
cmp eax, ebp
jne 0x1802170e2
mov r8d, dword [rdx + 0xcc]
cmp r8d, r10d
je 0x1802170cb
movsxd rax, dword [rdx + 0xa4]
lea rcx, [0x18002c3c0]
mov ecx, dword [rcx + rax*4]
and cl, 0xf
cmp cl, 4
jne 0x1802170e2
lea eax, [r8 + 1]
cmp eax, r10d
jne 0x1802170e2
cmp qword [rdx + 0xa8], r12
je 0x180217040
jmp 0x1802170e2
mov qword [r13], 0
inc r14d
add rbx, 4
add r13, 8
cmp r14d, r15d
jb 0x180216f87
mov r13, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x20]
mov ebp, 0xffffffff
xor edi, edi
mov eax, edi
test ecx, ecx
je 0x180217148
mov r8d, dword [r13 + 0xa0]
mov rcx, qword [r13 + 0x50]
mov rdx, qword [r13 + 0x58]
nop word [rax + rax]
mov dword [rdx], eax
inc eax
mov dword [rcx], ebp
add rdx, 4
add rcx, 4
cmp eax, r8d
jb 0x180217130
mov rcx, qword [rsp + 0x20]
mov r14d, edi
movabs rsi, 0x3fffffffffffffff
nop word [rax + rax]
mov rbx, qword [r13 + 0x70]
mov r8d, ecx
xor edx, edx
mov rcx, rbx
shl r8, 2
call fcn.18024adb8
mov r9, qword [rsp + 0x80]
mov ebp, edi
mov r12, qword [r9 + 0x18]
mov qword [rsp + 0x90], r12
test r12, r12
je 0x1802175ba
nop word [rax + rax]
mov eax, dword [r12 + 0x78]
and eax, 0xfff00000
je 0x18021759b
cmp eax, 0x90600000
ja 0x1802171e3
cmp eax, 0x90600000
je 0x18021720d
cmp eax, 0x50300000
je 0x18021720d
cmp eax, 0x90000000
je 0x18021720d
cmp eax, 0x90100000
je 0x18021720d
cmp eax, 0x90400000
je 0x18021720d
cmp eax, 0x90500000
je 0x18021720d
jmp 0x1802171ff
cmp eax, 0x90a00000
je 0x18021720d
cmp eax, 0x90b00000
je 0x18021720d
cmp eax, 0x90c00000
je 0x18021720d
cmp eax, 0x90f00000
je 0x18021720d
test byte [r9 + 0xcef8], 8
je 0x180217380
mov rax, qword [r12 + 0x28]
mov rax, qword [rax]
cmp r15, qword [rax + 0xa8]
je 0x180217245
mov rax, qword [rax + 0xa8]
mov rcx, qword [rax + 0x10]
mov rax, rcx
shr rax, 0xc
test al, 1
je 0x18021759b
test rcx, 0x4200000
jne 0x18021759b
mov eax, dword [r12 + 0x10]
mov esi, dword [r12 + 0x78]
xor edx, edx
and esi, 0xfffff
div esi
mov ecx, eax
mov rax, qword [r12 + 0x28]
mov rax, qword [rax]
mov r11d, dword [rax + 0xc8]
mov rax, qword [rax + 0xa8]
mov rdx, qword [rax + 0x10]
mov rax, rdx
shr rax, 0xc
test al, 1
je 0x180217290
test rdx, 0x4200000
jne 0x180217290
add r11d, dword [r13 + 0x98]
movsxd r9, r11d
test ecx, ecx
je 0x180217378
mov r10d, edi
mov rdi, rcx
nop word [rax + rax]
mov rax, qword [r12 + 0x18]
mov ecx, r10d
mov rdx, qword [rax + rcx*8]
cmp rdx, 0xffffffffffffffff
je 0x1802172d8
mov rax, qword [rdx + 0xf0]
cmp rax, 0xffffffffffffffff
je 0x1802172d8
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1802172c2
mov rcx, qword [rdx + 0xa8]
cmp r15, rcx
je 0x1802172fc
mov r8, qword [rcx + 0x10]
mov rax, r8
shr rax, 0xc
test al, 1
je 0x180217361
test r8, 0x4200000
jne 0x180217361
mov r8, qword [rcx + 0x10]
mov rax, r8
shr rax, 0xc
test al, 1
je 0x180217324
test r8, 0x4200000
jne 0x180217324
mov r8d, dword [rdx + 0xc8]
add r8d, dword [r13 + 0x98]
jmp 0x18021732b
mov r8d, dword [rdx + 0xc8]
cmp r11d, r8d
je 0x180217361
cmp r14d, 1
jne 0x180217354
mov edx, dword [rbx + r9*4]
mov rax, qword [r13 + 0x78]
mov rcx, qword [rax + r9*8]
mov dword [rcx + rdx*4], r8d
mov ecx, r8d
mov edx, dword [rbx + rcx*4]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + rdx*4], r11d
inc dword [rbx + r9*4]
mov eax, r8d
inc dword [rbx + rax*4]
add ebp, 2
add r10d, esi
sub rdi, 1
jne 0x1802172b0
mov r9, qword [rsp + 0x80]
jmp 0x180217380
mov r9, qword [rsp + 0x80]
mov eax, dword [r12 + 0x78]
and eax, 0xfff00000
cmp eax, 0x50400000
jne 0x18021759b
test byte [r9 + 0xcefd], 0x20
je 0x18021759b
mov ecx, dword [r12 + 0x78]
mov eax, dword [r12 + 0x10]
xor edx, edx
and ecx, 0xfffff
div ecx
mov dword [rsp + 0x88], ecx
test eax, eax
je 0x18021759b
mov ecx, edi
mov edx, eax
mov dword [rsp + 0x98], ecx
mov qword [rsp + 0x28], rdx
nop word [rax + rax]
mov rax, qword [r12 + 0x18]
mov rdx, qword [rax + rcx*8]
cmp rdx, 0xffffffffffffffff
je 0x180217406
nop
mov rax, qword [rdx + 0xf0]
cmp rax, 0xffffffffffffffff
je 0x180217406
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1802173f0
mov rcx, qword [rdx + 0xa8]
cmp r15, rcx
je 0x180217432
mov r8, qword [rcx + 0x10]
mov rax, r8
shr rax, 0xc
test al, 1
je 0x18021757a
test r8, 0x4200000
jne 0x18021757a
mov r8, qword [rcx + 0x10]
mov rax, r8
shr rax, 0xc
test al, 1
je 0x18021745a
test r8, 0x4200000
jne 0x18021745a
mov r12d, dword [rdx + 0xc8]
add r12d, dword [r13 + 0x98]
jmp 0x180217461
mov r12d, dword [rdx + 0xc8]
mov r11, qword [r9 + 0x18]
movsxd r10, r12d
cmp r11, qword [rsp + 0x90]
je 0x180217572
nop word [rax + rax]
mov eax, dword [r11 + 0x78]
and eax, 0xfff00000
cmp eax, 0x50400000
jne 0x18021754f
mov esi, dword [r11 + 0x78]
mov eax, dword [r11 + 0x10]
xor edx, edx
and esi, 0xfffff
div esi
test eax, eax
je 0x18021754f
mov r9d, edi
mov edi, eax
mov rax, qword [r11 + 0x18]
mov ecx, r9d
mov r8, qword [rax + rcx*8]
mov rcx, qword [r8 + 0xa8]
cmp r15, rcx
je 0x1802174e2
mov rdx, qword [rcx + 0x10]
mov rax, rdx
shr rax, 0xc
test al, 1
je 0x180217542
test rdx, 0x4200000
jne 0x180217542
mov rdx, qword [rcx + 0x10]
mov rax, rdx
shr rax, 0xc
test al, 1
je 0x18021750a
test rdx, 0x4200000
jne 0x18021750a
mov r8d, dword [r8 + 0xc8]
add r8d, dword [r13 + 0x98]
jmp 0x180217511
mov r8d, dword [r8 + 0xc8]
cmp r14d, 1
jne 0x180217535
mov rax, qword [r13 + 0x78]
mov ecx, r8d
mov edx, dword [rbx + rcx*4]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + rdx*4], r12d
mov edx, dword [rbx + r10*4]
mov rcx, qword [rax + r10*8]
mov dword [rcx + rdx*4], r8d
mov eax, r8d
inc dword [rbx + rax*4]
inc dword [rbx + r10*4]
add ebp, 2
add r9d, esi
sub rdi, 1
jne 0x1802174b3
mov r11, qword [r11]
cmp r11, qword [rsp + 0x90]
jne 0x180217480
mov r12, qword [rsp + 0x90]
mov r9, qword [rsp + 0x80]
jmp 0x18021757a
mov r12, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x98]
add ecx, dword [rsp + 0x88]
sub qword [rsp + 0x28], 1
mov dword [rsp + 0x98], ecx
jne 0x1802173e0
mov r12, qword [r12]
mov qword [rsp + 0x90], r12
test r12, r12
jne 0x1802171a0
movabs rsi, 0x3fffffffffffffff
test r14d, r14d
jne 0x180217654
mov ebx, ebp
cmp rbx, rsi
jbe 0x1802175cf
mov r11, rdi
jmp 0x1802175fa
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1802175de
mov rax, rdi
jmp 0x1802175e4
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
lea r8, [rbx*4]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r11, rax
mov qword [r13 + 0x80], r11
test r11, r11
je 0x18021766a
mov ecx, dword [r13 + 0xa0]
mov r9d, edi
mov qword [rsp + 0x20], rcx
test ecx, ecx
je 0x180217659
mov rdx, qword [r13 + 0x70]
mov r8, qword [r13 + 0x78]
mov r10d, ecx
nop word [rax + rax]
mov eax, r9d
add rdx, 4
add r8, 8
lea rcx, [r11 + rax*4]
mov qword [r8 - 8], rcx
add r9d, dword [rdx - 4]
sub r10, 1
jne 0x180217630
mov rcx, qword [rsp + 0x20]
jmp 0x180217659
mov rcx, qword [rsp + 0x20]
inc r14d
cmp r14d, 2
jb 0x180217160
mov eax, edi
jmp 0x18021766f
mov eax, 0x8007000e
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
ret