Function at 0x1801e7510
Capabilities:
Get thread local storage value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
sub rsp, 0x150
mov edi, dword [rcx + 0xc]
mov qword [rax - 0x10], rbx
mov qword [rax - 0x18], rbp
mov qword [rax - 0x20], rsi
mov qword [rax - 0x30], r13
xor r13b, r13b
mov qword [rax - 0x40], r15
xor r15d, r15d
mov rbp, rcx
mov byte [rsp + 0x168], r13b
mov qword [rsp + 0xb8], 0xffffffffffffffff
mov rsi, r15
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x60], r15d
mov r8, r15
mov qword [rsp + 0x50], r15
mov r9d, r15d
mov dword [rsp + 0x178], r15d
or edx, 0xffffffff
inc edx
cmp edx, edi
jae 0x1801e75e3
mov rax, qword [rcx + 0xce58]
mov rax, qword [rax + rdx*8]
cmp qword [rax + 0x30], rsi
je 0x1801e7576
mov rax, qword [rax + 0x30]
mov rcx, qword [rax]
nop word [rax + rax]
mov qword [rax + 0x48], 0xffffffffffffffff
mov qword [rax + 0x50], r15
test rcx, rcx
je 0x1801e75b9
mov rax, rcx
mov rcx, qword [rcx]
jmp 0x1801e75de
mov edi, dword [rbp + 0xc]
nop dword [rax]
inc edx
cmp edx, edi
jae 0x1801e75e3
mov rax, qword [rbp + 0xce58]
mov rcx, qword [rax + rdx*8]
cmp qword [rcx + 0x30], rsi
je 0x1801e75c0
mov rax, qword [rcx + 0x30]
mov rcx, qword [rax]
test rax, rax
jne 0x1801e75a0
mov rbx, qword [rbp + 0x18]
mov qword [rsp + 0x130], r12
mov r10d, 1
mov qword [rsp + 0x120], r14
mov qword [rsp + 0x58], rbx
test rbx, rbx
je 0x1801e8009
nop dword [rax + rax]
mov eax, dword [rbx + 0x78]
and eax, 0xfff00000
je 0x1801e7fed
cmp eax, 0x20100000
je 0x1801e7645
cmp eax, 0x20500000
je 0x1801e7645
cmp eax, 0x22d00000
je 0x1801e7645
cmp eax, 0x22e00000
je 0x1801e7645
cmp eax, 0x22f00000
jne 0x1801e7fed
mov ecx, dword [rbx + 0x20]
mov edi, r15d
mov dword [rsp + 0x80], r15d
mov rsi, r15
mov qword [rsp + 0x68], r15
test ecx, ecx
je 0x1801e7fed
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
mov eax, edi
mov dword [rsp + 0x74], r15d
lea r8, [rdx + rax*8]
lea eax, [rcx + rdi]
mov rcx, r15
lea rdx, [rdx + rax*8]
mov qword [rsp + 0x88], r8
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x90], rdx
mov rax, qword [r8]
mov r14, r10
mov qword [rsp + 0xc8], rax
mov rax, qword [rdx]
sub r14, rcx
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + rcx*8 + 0xc8]
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e7f9c
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x1801e7f9c
cmp qword [rdx + 0xb8], 0xffffffffffffffff
jne 0x1801e7f9c
mov eax, dword [rdx + 0x98]
shr rax, 0x18
test al, 1
jne 0x1801e7f9c
mov rdi, qword [rdx + 0x100]
mov eax, dword [rdi + 0x78]
xor eax, dword [rbx + 0x78]
test eax, 0xfff00000
jne 0x1801e7f9c
mov r13, qword [rsp + 0xb0]
mov rcx, rdi
mov rdx, qword [rsp + r13*8 + 0x88]
mov rdx, qword [rdx]
call fcn.180195150
mov rdx, qword [rdi + 0x18]
or r11, 0xffffffffffffffff
mov ecx, eax
xor r10b, r10b
mov qword [rsp + 0x78], r11
lea r8, [rdx + rcx*8]
mov ecx, dword [rdi + 0x20]
mov byte [rsp + 0x170], r10b
add ecx, eax
mov rax, qword [r8]
mov qword [rsp + 0x98], r8
lea rcx, [rdx + rcx*8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rcx]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xe0], rax
mov r12, qword [rsp + r13*8 + 0xc8]
cmp dword [r12 + 0x3c], 1
jne 0x1801e780b
cmp qword [r8], rax
je 0x1801e780b
mov rdx, qword [rsp + r14*8 + 0x88]
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0x78]
mov rdx, qword [rdx]
mov rcx, rbp
mov dword [rsp + 0x20], r15d
call fcn.1801e3c60
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + r13*8 + 0x88]
mov rdx, qword [rdx]
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0x170]
mov rcx, rbp
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x20], r15d
call fcn.1801e3c60
mov r11, qword [rsp + 0x78]
test eax, eax
setns r10b
mov byte [rsp + 0x170], r10b
mov r8d, 2
mov r9d, 3
lea r15d, [r8 + 0x16]
mov dword [rsp + 0x70], r8d
mov r13, r8
mov qword [rsp + 0xa8], r9
nop dword [rax + rax]
mov rdi, qword [rsp + r13*8 + 0xc8]
cmp rdi, 0xffffffffffffffff
je 0x1801e799d
mov rax, qword [rdi + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801e799d
mov eax, dword [rdi + 0x98]
shr rax, 0x18
test al, 1
je 0x1801e799d
mov rdx, qword [rsp + r14*8 + 0xc8]
cmp rdx, 0xffffffffffffffff
je 0x1801e799d
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801e799d
mov eax, dword [rdx + 0x98]
shr rax, 0x18
test al, 1
je 0x1801e799d
inc dword [rbp + 0x88c]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rbp + 0x894]
inc dword [rbp + 0x890]
and eax, 0xff000000
mov qword [rsp + 0x48], rcx
cmp eax, 0xb000000
jne 0x1801e7929
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e7d62
bt eax, 8
jb 0x1801e78ee
movzx eax, byte [rbp + 0x888]
jmp 0x1801e792f
xor edx, edx
lea rcx, [rsp + 0x48]
nop word [rax + rax]
mov rax, qword [rcx]
cmp rax, 0xffffffffffffffff
je 0x1801e7d62
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e7d62
inc edx
add rcx, 8
cmp edx, 1
jb 0x1801e7900
mov al, byte [rbp + 0x888]
test al, al
je 0x1801e7d62
mov rax, qword [rsp + r14*8 + 0xc8]
mov rdi, qword [rdi + 0x148]
xor r15d, r15d
mov rcx, qword [rax + 0x148]
mov eax, dword [rbx + 0x78]
mov rdx, r15
and eax, 0xfff00000
cmp eax, 0x20100000
je 0x1801e7de5
cmp eax, 0x20500000
je 0x1801e7ddc
cmp eax, 0x22d00000
je 0x1801e7dd4
cmp eax, 0x22e00000
je 0x1801e7dcc
cmp eax, 0x22f00000
jne 0x1801e7de9
mov rdx, rdi
xor rdx, rcx
jmp 0x1801e7de9
cmp dword [r12 + 0x3c], 1
jne 0x1801e7d62
mov rdx, qword [rsp + r14*8 + 0xc8]
mov rcx, qword [rdx + 0x100]
cmp rcx, 0xffffffffffffffff
je 0x1801e79dd
mov rax, qword [r12 + 0x100]
cmp rax, 0xffffffffffffffff
je 0x1801e79d1
mov eax, dword [rax + 0x30]
jmp 0x1801e79d4
or eax, 0xffffffff
cmp dword [rcx + 0x30], eax
jae 0x1801e7d62
cmp qword [rdx + 0xc0], 0xffffffffffffffff
jne 0x1801e7d62
cmp qword [rdx + 0xb8], 0xffffffffffffffff
jne 0x1801e7d62
cmp rdi, 0xffffffffffffffff
je 0x1801e7bf1
mov rax, qword [rdi + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801e7bf1
mov eax, dword [rdi + 0x98]
shr rax, 0x18
test al, 1
je 0x1801e7bf1
cmp rdx, 0xffffffffffffffff
je 0x1801e7a57
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801e7a57
mov eax, dword [rdx + 0x98]
shr rax, 0x18
test al, 1
jne 0x1801e7bf1
inc dword [rbp + 0x8a4]
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + rsi*8]
mov eax, dword [rbp + 0x8ac]
inc dword [rbp + 0x8a8]
and eax, 0xff000000
mov qword [rsp + 0x48], rcx
cmp eax, 0xb000000
jne 0x1801e7ad9
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e7d62
bt eax, 8
jb 0x1801e7a9f
movzx eax, byte [rbp + 0x8a0]
jmp 0x1801e7adf
xor edx, edx
lea rcx, [rsp + 0x48]
nop word [rax + rax]
mov rax, qword [rcx]
cmp rax, 0xffffffffffffffff
je 0x1801e7d62
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e7d62
inc edx
add rcx, 8
cmp edx, 1
jb 0x1801e7ab0
mov al, byte [rbp + 0x8a0]
test al, al
je 0x1801e7d62
mov rcx, qword [rsp + r13*8 + 0x88]
mov rdx, qword [rsp + r14*8 + 0x88]
mov r8, qword [rsp + 0x88]
mov rax, qword [rcx]
mov rdi, qword [rdx]
xor r15d, r15d
mov qword [rdx], rax
mov qword [rcx], rdi
mov qword [r12 + 0x108], r15
mov dword [r12 + 0x110], r15d
mov qword [r12 + 0x140], r15
mov qword [r12 + 0x178], r15
mov qword [r12 + 0x180], 0xffffffffffffffff
mov qword [r12 + 0x148], r15
mov qword [r12 + 0x150], r15
movabs rax, 0xfff0000000000000
mov r13b, 1
lea r10d, [r15 + 1]
mov qword [rsp + 0x168], rax
movabs rax, 0x7ff0000000000000
movsd xmm0, qword [rsp + 0x168]
mov qword [rsp + 0x168], rax
movabs rax, 0x8000000000000000
movsd qword [r12 + 0x158], xmm0
mov qword [r12 + 0x168], rax
movabs rax, 0x7fffffffffffffff
movsd xmm1, qword [rsp + 0x168]
movsd qword [r12 + 0x160], xmm1
mov qword [r12 + 0x170], rax
and qword [r12 + 0x98], 0xfffffffffe0fffef
mov qword [r12 + 0x48], 0xffffffffffffffff
mov rax, qword [rbx + 0x28]
mov byte [rsp + 0x168], r13b
mov rcx, qword [rax + rsi*8]
mov qword [rcx + 0x48], 0xffffffffffffffff
jmp 0x1801e7f9c
mov rbx, qword [rsp + r13*8 + 0x88]
mov rsi, qword [rsp + r15 + 0x88]
mov rax, qword [rbx]
cmp qword [rsi], rax
je 0x1801e7db4
inc dword [rbp + 0x8bc]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rax + 0x28]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rbp + 0x8c4]
inc dword [rbp + 0x8c0]
and eax, 0xff000000
mov qword [rsp + 0x48], rcx
cmp eax, 0xb000000
jne 0x1801e7c99
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e7da8
bt eax, 8
jb 0x1801e7c5f
movzx eax, byte [rbp + 0x8b8]
jmp 0x1801e7c9f
xor edx, edx
lea rcx, [rsp + 0x48]
nop word [rax + rax]
mov rax, qword [rcx]
cmp rax, 0xffffffffffffffff
je 0x1801e7d90
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e7d9c
inc edx
add rcx, 8
cmp edx, 1
jb 0x1801e7c70
mov al, byte [rbp + 0x8b8]
test al, al
je 0x1801e7dc0
test r10b, r10b
jne 0x1801e7d44
mov rdx, qword [rbx]
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0x48]
mov rcx, rbp
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x20], 0
call fcn.1801e3c60
mov rdx, qword [rsi]
lea r9, [rsp + 0xc0]
test eax, eax
mov rax, qword [rsp + 0x78]
lea r8, [rsp + 0x48]
mov rcx, rbp
setns dil
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x48], rax
call fcn.1801e3c60
test eax, eax
setns al
test al, al
jne 0x1801e7d2f
test dil, dil
jne 0x1801e7e6b
mov r8d, dword [rsp + 0x70]
mov r9, qword [rsp + 0xa8]
movzx r10d, byte [rsp + 0x170]
jmp 0x1801e7d44
mov r8d, dword [rsp + 0x70]
mov r9, qword [rsp + 0xa8]
mov r10b, byte [rsp + 0x170]
mov rcx, qword [rsp + r14*8 + 0x88]
mov rax, qword [rbx]
cmp qword [rcx], rax
je 0x1801e7e6b
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
inc r8d
dec r9
inc r13
sub r15, 8
mov dword [rsp + 0x70], r8d
mov qword [rsp + 0xa8], r9
cmp r8d, 4
jae 0x1801e7f84
mov r11, qword [rsp + 0x78]
jmp 0x1801e7830
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
jmp 0x1801e7d62
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
jmp 0x1801e7d62
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
jmp 0x1801e7d62
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
jmp 0x1801e7d62
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
jmp 0x1801e7d62
mov rdx, rdi
or rdx, rcx
jmp 0x1801e7de9
mov rdx, rdi
and rdx, rcx
jmp 0x1801e7de9
mov rdx, rdi
imul rdx, rcx
jmp 0x1801e7de9
lea rdx, [rdi + rcx]
mov rax, qword [rsp + r9*8 + 0x88]
mov rcx, qword [rsp + 0xb0]
mov dword [rsp + 0x30], r15d
mov rcx, qword [rsp + rcx*8 + 0x88]
mov rax, qword [rax]
mov dword [rsp + 0x28], r15d
mov qword [rcx], rax
mov r8, qword [rbp + 0xd040]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + r14*8 + 0x88]
mov r9d, 0xb
mov rcx, rbp
call fcn.18019f260
mov edi, eax
test eax, eax
js 0x1801e8e75
mov rax, qword [rbx + 0x28]
mov r8, qword [rsp + 0x88]
mov r13b, 1
mov rcx, qword [rax + rsi*8]
mov byte [rsp + 0x168], r13b
mov r10d, 1
mov qword [rcx + 0x48], 0xffffffffffffffff
jmp 0x1801e7f9c
mov rdx, qword [rsp + r14*8 + 0x88]
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rdx]
mov rcx, qword [rsp + rcx*8 + 0x88]
mov rsi, qword [rsp + 0x68]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x88]
xor r15d, r15d
mov qword [rdx], rax
mov qword [rcx], rdi
mov qword [r12 + 0x108], r15
mov dword [r12 + 0x110], r15d
mov qword [r12 + 0x140], r15
mov qword [r12 + 0x178], r15
mov qword [r12 + 0x180], 0xffffffffffffffff
mov qword [r12 + 0x148], r15
mov qword [r12 + 0x150], r15
movabs rax, 0xfff0000000000000
mov r13b, 1
lea r10d, [r15 + 1]
mov qword [rsp + 0x168], rax
movabs rax, 0x7ff0000000000000
movsd xmm0, qword [rsp + 0x168]
mov qword [rsp + 0x168], rax
movabs rax, 0x8000000000000000
movsd qword [r12 + 0x158], xmm0
mov qword [r12 + 0x168], rax
movabs rax, 0x7fffffffffffffff
movsd xmm1, qword [rsp + 0x168]
movsd qword [r12 + 0x160], xmm1
mov qword [r12 + 0x170], rax
and qword [r12 + 0x98], 0xfffffffffe0fffef
mov qword [r12 + 0x48], 0xffffffffffffffff
mov rax, qword [rbx + 0x28]
mov byte [rsp + 0x168], r13b
mov rcx, qword [rax + rsi*8]
mov qword [rcx + 0x48], 0xffffffffffffffff
jmp 0x1801e7f9c
movzx r13d, byte [rsp + 0x168]
mov r8, qword [rsp + 0x88]
xor r15d, r15d
lea r10d, [r15 + 1]
mov eax, dword [rsp + 0x74]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x90]
inc eax
inc rcx
mov dword [rsp + 0x74], eax
mov qword [rsp + 0xb0], rcx
cmp eax, 2
jb 0x1801e76a1
mov edi, dword [rsp + 0x80]
mov ecx, dword [rbx + 0x20]
inc rsi
inc edi
mov qword [rsp + 0x68], rsi
mov dword [rsp + 0x80], edi
cmp edi, ecx
jb 0x1801e7670
mov rbx, qword [rbx]
mov qword [rsp + 0x58], rbx
test rbx, rbx
jne 0x1801e7610
mov rsi, qword [rsp + 0x40]
mov r8, rsi
mov r9d, esi
mov r12, qword [rbp + 0x20]
mov dword [rsp + 0x170], r15d
test r12, r12
je 0x1801e8028
mov rbx, qword [r12 + 8]
xor edi, edi
mov qword [rsp + 0x48], rbx
jmp 0x1801e8032
xor edi, edi
mov rbx, rdi
mov qword [rsp + 0x48], rbx
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
test r12, r12
je 0x1801e8e4d
movsd xmm6, qword [0x1800685a0]
movsd xmm7, qword [0x1800685d8]
nop dword [rax + rax]
mov eax, dword [r12 + 0x78]
and eax, 0xfff00000
cmp eax, 0x20100000
je 0x1801e807c
cmp eax, 0x20500000
jne 0x1801e8e28
mov r14d, dword [r12 + 0x20]
cmp r14d, r15d
jbe 0x1801e82a1
mov r15d, 0x10
mov eax, r9d
cmp r14d, r15d
cmova r15d, r14d
mov dword [rsp + 0x170], r15d
test r8, r8
je 0x1801e80d7
mov rdx, qword [rbp + 0xd310]
test r9d, r9d
cmove rax, r10
cmp rax, qword [rdx + 8]
jae 0x1801e80c1
sub qword [rdx + 8], rax
jmp 0x1801e80d7
mov rax, qword [rdx]
lea rcx, [rbp + 0xd310]
mov qword [rbp + 0xd310], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0x60]
xor r13d, r13d
mov qword [rsp + 0x50], rdi
mov rdi, qword [rsp + 0x160]
mov dword [rsp + 0x178], r13d
test rsi, rsi
je 0x1801e8134
mov rdx, qword [rdi + 0xd280]
test rax, rax
mov ecx, 1
cmove rax, rcx
cmp rax, qword [rdx + 8]
jae 0x1801e8117
sub qword [rdx + 8], rax
jmp 0x1801e8139
mov rax, qword [rdx]
lea rcx, [rdi + 0xd280]
mov qword [rdi + 0xd280], rax
call fcn.1800c56f0
mov ecx, 1
jmp 0x1801e8139
mov ecx, 1
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x60], r13d
cmp r15d, 0x1ffffffe
jbe 0x1801e8156
mov edi, 0x80070216
jmp 0x1801e81ec
lea r13d, [r15*8]
mov eax, 8
test r13d, r13d
cmove r13d, eax
test r13d, r13d
mov esi, r13d
mov dword [rsp + 0x60], r13d
cmove rsi, rcx
mov rcx, qword [rdi + 0xd280]
test rcx, rcx
je 0x1801e8192
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx + 8]
cmp rsi, rax
jbe 0x1801e81b2
lea rcx, [rdi + 0xd280]
mov rdx, rsi
call fcn.1800c57b0
test eax, eax
je 0x1801e81b2
xor r13d, r13d
mov rax, r13
mov qword [rsp + 0x40], rax
jmp 0x1801e81e0
mov rcx, qword [rdi + 0xd280]
test rcx, rcx
je 0x1801e81d1
mov rax, qword [rcx + 8]
xor r13d, r13d
lea rax, [rax + rcx + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x1801e81dc
xor r13d, r13d
mov rax, r13
mov qword [rsp + 0x40], rax
add qword [rcx + 8], rsi
mov edi, 0x8007000e
test rax, rax
cmovne edi, r13d
test edi, edi
js 0x1801e8e65
cmp r15d, 0x1ffffffe
jbe 0x1801e8207
mov edi, 0x80070216
jmp 0x1801e8297
lea eax, [r15*8]
mov ecx, 8
test eax, eax
cmove eax, ecx
mov rcx, qword [rbp + 0xd310]
test eax, eax
mov edi, eax
mov dword [rsp + 0x178], eax
mov eax, 1
cmove rdi, rax
test rcx, rcx
je 0x1801e8246
mov rax, qword [rcx + 0x10]
sub rax, qword [rcx + 8]
cmp rdi, rax
jbe 0x1801e8260
lea rcx, [rbp + 0xd310]
mov rdx, rdi
call fcn.1800c57b0
test eax, eax
je 0x1801e8260
mov qword [rsp + 0x50], r13
jmp 0x1801e8285
mov rcx, qword [rbp + 0xd310]
test rcx, rcx
je 0x1801e827c
mov rax, qword [rcx + 8]
lea r13, [rax + rcx + 0x18]
mov qword [rsp + 0x50], r13
jmp 0x1801e8281
mov qword [rsp + 0x50], r13
add qword [rcx + 8], rdi
test r13, r13
mov edi, 0x8007000e
mov r13d, 0
cmovne edi, r13d
test edi, edi
js 0x1801e8e65
jmp 0x1801e82a4
xor r13d, r13d
mov esi, r13d
test r14d, r14d
je 0x1801e8338
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x160]
mov rbp, r13
mov r13, rcx
mov rdi, rbx
sub r13, rbx
nop
mov qword [rdi], 0xffffffffffffffff
mov eax, 1
mov qword [r13 + rdi], rax
mov rdx, qword [r12 + 0x28]
mov eax, esi
mov rdx, qword [rdx + rbp]
lea r9, [rcx + rax*8]
lea r8, [rbx + rax*8]
xor eax, eax
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.1801e3c60
test eax, eax
js 0x1801e8328
mov rax, qword [r12 + 0x28]
mov rcx, qword [rax + rbp]
cmp qword [rdi], rcx
je 0x1801e8328
mov rcx, qword [rsp + 0x50]
inc esi
add rbp, 8
add rdi, 8
cmp esi, r14d
jb 0x1801e82d0
mov rbx, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x170]
xor r13d, r13d
cmp esi, r14d
jne 0x1801e8c92
mov dil, 1
mov ecx, r13d
test r14d, r14d
je 0x1801e8378
mov rdx, qword [rsp + 0x50]
test ecx, ecx
je 0x1801e8364
mov rax, qword [rdx - 8]
movzx edi, dil
cmp qword [rdx], rax
cmovne edi, r13d
inc ecx
add rdx, 8
cmp ecx, r14d
jb 0x1801e8351
test dil, dil
je 0x1801e8c72
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
cmp rax, 1
jne 0x1801e8465
mov rbp, qword [rsp + 0x160]
inc dword [rbp + 0x8ec]
mov eax, dword [rbp + 0x8f4]
mov edi, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
inc dword [rbp + 0x8f0]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x1801e8408
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e8db7
bt eax, 8
jb 0x1801e83d7
movzx eax, byte [rbp + 0x8e8]
jmp 0x1801e840e
mov ecx, r13d
test edi, edi
je 0x1801e8408
nop
mov rax, qword [rdx]
cmp rax, 0xffffffffffffffff
je 0x1801e8d8a
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e8da2
inc ecx
add rdx, 8
cmp ecx, edi
jb 0x1801e83e0
mov al, byte [rbp + 0x8e8]
test al, al
je 0x1801e8e15
mov rsi, qword [rsp + 0x40]
mov eax, r14d
mov dword [r12 + 0x10], r14d
and eax, 0xfffff
mov dword [r12 + 0x20], r14d
bts eax, 0x1c
mov dword [r12 + 0x78], eax
test rsi, rsi
je 0x1801e844f
mov rcx, qword [r12 + 0x18]
mov r8, r14
mov rdx, rsi
shl r8, 3
call sub.msvcrt.dll_memcpy
mov r13b, 1
mov r10d, 1
mov byte [rsp + 0x168], r13b
jmp 0x1801e8e28
test rax, rax
jne 0x1801e86f1
mov rbp, qword [rsp + 0x160]
inc dword [rbp + 0x904]
mov eax, dword [rbp + 0x90c]
mov edi, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
inc dword [rbp + 0x908]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x1801e84ea
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e8d72
bt eax, 8
jb 0x1801e84bb
movzx eax, byte [rbp + 0x900]
jmp 0x1801e84f0
mov ecx, r13d
test edi, edi
je 0x1801e84ea
mov rax, qword [rdx]
cmp rax, 0xffffffffffffffff
je 0x1801e8d42
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e8d5a
inc ecx
add rdx, 8
cmp ecx, edi
jb 0x1801e84c2
mov al, byte [rbp + 0x900]
test al, al
je 0x1801e8e00
mov r8, qword [rsp + 0xb8]
mov eax, r14d
mov dword [r12 + 0x10], r14d
and eax, 0xfffff
mov dword [r12 + 0x20], r14d
bts eax, 0x1c
mov dword [r12 + 0x78], eax
cmp r8, 0xffffffffffffffff
jne 0x1801e86b7
mov ecx, dword [0x18025e63c]
mov rdi, qword [rbp + 0xd040]
test ecx, ecx
jns 0x1801e853b
mov rcx, r13
jmp 0x1801e8544
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801e8578
mov rsi, qword [rcx + 0x18]
test rsi, rsi
jne 0x1801e8559
mov rsi, r13
jmp 0x1801e858f
mov rax, qword [rsi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801e8569
mov qword [rcx + 0x20], r13
movabs rax, 0xfefefefefefefefe
mov qword [rsi], rax
jmp 0x1801e858f
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rsi, rax
test rsi, rsi
je 0x1801e86a2
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov qword [rsi], r13
mov qword [rsi + 8], r13
mov qword [rsi + 0x78], r13
mov qword [rsi + 0x80], r13
mov qword [rsi + 0x88], r13
mov qword [rsi + 0x90], r13
mov dword [rsi + 0xa0], 0xffffffff
mov qword [rsi + 0xa8], 0xffffffffffffffff
mov qword [rsi + 0x40], r13
call fcn.1801992b0
mov edi, eax
test eax, eax
js 0x1801e8630
mov r9d, 0xc
xor r8d, r8d
mov rdx, rbp
mov dword [rsi + 0xa4], 0xc
call fcn.18019a2c0
mov edi, eax
test eax, eax
js 0x1801e8630
mov r8b, 1
mov rdx, rsi
mov rcx, rbp
call fcn.18019ec70
mov edi, eax
test eax, eax
js 0x1801e8630
mov edi, r13d
mov r8, rsi
mov qword [rsp + 0xb8], rsi
jmp 0x1801e86af
mov rcx, rsi
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801e8647
mov rbp, r13
jmp 0x1801e8650
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rsi
call fcn.18024adb8
mov qword [rsi], r13
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1801e8688
mov r8, qword [rsp + 0xb8]
mov qword [rax], rsi
mov qword [rbp + 0x20], rsi
mov rbp, qword [rsp + 0x160]
jmp 0x1801e86af
mov r8, qword [rsp + 0xb8]
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rsi
mov rbp, qword [rsp + 0x160]
jmp 0x1801e86af
mov r8, qword [rsp + 0xb8]
mov edi, 0x8007000e
test edi, edi
js 0x1801e8e65
test r14d, r14d
je 0x1801e86d6
mov rcx, r13
mov rdx, r14
mov rax, qword [r12 + 0x18]
add rcx, 8
sub rdx, 1
mov qword [rcx + rax - 8], r8
jne 0x1801e86c2
mov rsi, qword [rsp + 0x40]
mov r13b, 1
mov r10d, 1
mov byte [rsp + 0x168], r13b
jmp 0x1801e8e28
cmp rax, 0xffffffffffffffff
jne 0x1801e882d
mov rbp, qword [rsp + 0x160]
mov edi, dword [r12 + 0x20]
mov rcx, qword [r12 + 0x28]
mov eax, dword [rbp + 0x924]
inc dword [rbp + 0x920]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x1801e8778
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e8d2a
bt eax, 8
jb 0x1801e8742
movzx eax, byte [rbp + 0x918]
jmp 0x1801e877e
mov edx, r13d
test edi, edi
je 0x1801e8778
nop dword [rax]
mov rax, qword [rcx]
cmp rax, 0xffffffffffffffff
je 0x1801e8cfa
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e8d12
inc edx
add rcx, 8
cmp edx, edi
jb 0x1801e8750
mov al, byte [rbp + 0x918]
test al, al
je 0x1801e8deb
mov eax, r14d
xor r8b, r8b
and eax, 0xfffff
or eax, 0x13200000
cmp dword [r12 + 0x78], eax
je 0x1801e87af
mov dword [r12 + 0x78], eax
mov dword [r12 + 0x10], r14d
mov dword [r12 + 0x20], r14d
mov r8b, 1
test r14d, r14d
je 0x1801e87e2
mov rsi, qword [rsp + 0x40]
mov rax, r13
mov rdi, r14
nop
mov rcx, qword [r12 + 0x18]
mov rdx, qword [rax + rsi]
cmp qword [rax + rcx], rdx
je 0x1801e87d6
mov qword [rax + rcx], rdx
mov r8b, 1
add rax, 8
sub rdi, 1
jne 0x1801e87c0
jmp 0x1801e87e7
mov rsi, qword [rsp + 0x40]
test r8b, r8b
je 0x1801e87f2
inc dword [rbp + 0x91c]
cmp byte [rsp + 0x168], 0
jne 0x1801e8817
test r8b, r8b
jne 0x1801e8817
xor r13b, r13b
mov r10d, 1
mov byte [rsp + 0x168], r13b
jmp 0x1801e8e28
mov r13b, 1
mov r10d, 1
mov byte [rsp + 0x168], r13b
jmp 0x1801e8e28
mov rbp, qword [rsp + 0x160]
mov edi, dword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
mov eax, dword [rbp + 0x93c]
inc dword [rbp + 0x938]
and eax, 0xff000000
cmp eax, 0xb000000
jne 0x1801e88a8
mov eax, dword [rbp + 0xd228]
test al, al
jns 0x1801e8ce2
bt eax, 8
jb 0x1801e8874
movzx eax, byte [rbp + 0x930]
jmp 0x1801e88ae
mov ecx, r13d
test edi, edi
je 0x1801e88a8
nop dword [rax + rax]
mov rax, qword [rdx]
cmp rax, 0xffffffffffffffff
je 0x1801e8cb2
mov eax, dword [rax + 0x98]
bt rax, 0xf
jb 0x1801e8cca
inc ecx
add rdx, 8
cmp ecx, edi
jb 0x1801e8880
mov al, byte [rbp + 0x930]
test al, al
je 0x1801e8dd6
xor cl, cl
cmp dword [r12 + 0x10], 0
mov edi, r13d
jbe 0x1801e891c
mov r9d, dword [r12 + 0x10]
mov r8, qword [r12 + 0x18]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
nop dword [rax + rax]
xor edx, edx
mov eax, edi
movzx ecx, cl
div r14d
mov rax, qword [rsi + rdx*8]
cmp qword [r8], rax
cmove ecx, r10d
inc edi
add r8, 8
cmp edi, r9d
jb 0x1801e88e0
test cl, cl
je 0x1801e891c
mov eax, r14d
and eax, 0xfffff
or eax, 0x20500000
cmp dword [r12 + 0x78], eax
je 0x1801e8dcc
inc dword [rbp + 0x934]
mov eax, r14d
lea ebp, [r14 + r14]
and eax, 0xfffff
or eax, 0x20500000
mov dword [r12 + 0x78], eax
movzx eax, word [r12 + 0x7c]
cmp ebp, eax
jbe 0x1801e89b5
cmp word [r12 + 0x7c], 0
je 0x1801e899e
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801e895a
mov rax, r13
jmp 0x1801e8960
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
movzx ecx, word [r12 + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801e8993
mov rdx, qword [r12 + 0x18]
dec ecx
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rax + 0x248]
test rdx, rdx
je 0x1801e8993
mov rax, qword [rcx + 8]
mov qword [rdx], rax
mov qword [rcx + 8], rdx
mov word [r12 + 0x7c], r13w
mov qword [r12 + 0x18], r13
lea r8, [r12 + 0x18]
lea rdx, [r12 + 0x7c]
mov ecx, ebp
call fcn.180193b70
mov edi, eax
test eax, eax
js 0x1801e89bd
mov dword [r12 + 0x10], ebp
mov edi, r13d
test edi, edi
js 0x1801e8e65
mov eax, dword [r12 + 0x10]
test eax, eax
je 0x1801e89dd
mov rdi, qword [r12 + 0x18]
mov rcx, rax
or rax, 0xffffffffffffffff
rep stosq qword [rdi], rax
mov rax, qword [rsp + 0x50]
mov ecx, dword [0x18025e63c]
or r13, 0xffffffffffffffff
mov rbp, qword [rax]
mov rax, qword [rsp + 0x160]
mov rdi, qword [rax + 0xd040]
test ecx, ecx
jns 0x1801e8a09
xor edx, edx
mov rcx, rdx
jmp 0x1801e8a14
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor edx, edx
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801e8a48
mov rsi, qword [rcx + 0x18]
test rsi, rsi
jne 0x1801e8a29
mov rsi, rdx
jmp 0x1801e8a5f
mov rax, qword [rsi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801e8a39
mov qword [rcx + 0x20], rdx
movabs rax, 0xfefefefefefefefe
mov qword [rsi], rax
jmp 0x1801e8a5f
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rsi, rax
test rsi, rsi
je 0x1801e8c01
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
mov dword [rsi + 0xa0], 0xffffffff
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x78], rax
mov qword [rsi + 0x80], rax
mov qword [rsi + 0x88], rax
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x40], rax
mov qword [rsi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov edi, eax
test eax, eax
js 0x1801e8b97
mov r8, rbp
mov rbp, qword [rsp + 0x160]
mov r9d, 0xc
mov rdx, rbp
mov dword [rsi + 0xa4], 0xc
call fcn.18019a2c0
mov edi, eax
test eax, eax
js 0x1801e8b97
mov rdx, qword [rsi + 0xa8]
mov eax, dword [rdx + 0x10]
bt rax, 8
jae 0x1801e8b50
cmp qword [rsi + 0xc0], 0xffffffffffffffff
jne 0x1801e8b50
cmp qword [rsi + 0xb8], 0xffffffffffffffff
jne 0x1801e8b50
movsd xmm1, qword [rsi + 0x140]
or qword [rsi + 0x98], 0x1000010
mov rcx, qword [rsi + 0x98]
cvttsd2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
andpd xmm1, xmm6
comisd xmm7, xmm1
jbe 0x1801e8b50
bts rcx, 0x15
mov qword [rsi + 0x98], rcx
mov rcx, rsi
call fcn.18019c4f0
test al, al
je 0x1801e8b67
or qword [rsi + 0x98], 0x20000
mov rax, qword [rdx + 0x10]
test al, 0x10
je 0x1801e8b7e
bt rax, 0x15
jae 0x1801e8b7e
or qword [rsi + 0x98], 0x10
mov eax, dword [rbp + 0x10]
mov r13, rsi
mov dword [rsi + 0xa0], eax
inc dword [rbp + 0x10]
or dword [rbp + 0x28], 4
xor eax, eax
mov edi, eax
jmp 0x1801e8c10
mov rcx, rsi
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801e8bb0
xor eax, eax
mov rbp, rax
jmp 0x1801e8bb9
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rsi
call fcn.18024adb8
xor eax, eax
mov qword [rsi], rax
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1801e8bed
mov qword [rax], rsi
mov qword [rbp + 0x20], rsi
mov rbp, qword [rsp + 0x160]
xor eax, eax
jmp 0x1801e8c10
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x20], rsi
mov rbp, qword [rsp + 0x160]
xor eax, eax
jmp 0x1801e8c10
mov rbp, qword [rsp + 0x160]
mov edi, 0x8007000e
xor eax, eax
test edi, edi
js 0x1801e8e65
movsxd rdi, r14d
test r14d, r14d
je 0x1801e8c57
mov rsi, qword [rsp + 0x40]
mov rdx, rax
shl rdi, 3
mov r8, r14
nop
mov rax, qword [rdx + rsi]
mov rcx, qword [r12 + 0x18]
add rdi, 8
mov qword [rdx + rcx], rax
mov rax, qword [r12 + 0x18]
add rdx, 8
sub r8, 1
mov qword [rdi + rax - 8], r13
jne 0x1801e8c30
jmp 0x1801e8c5c
mov rsi, qword [rsp + 0x40]
mov r13b, 1
mov r10d, 1
mov byte [rsp + 0x168], r13b
jmp 0x1801e8e28
mov rbp, qword [rsp + 0x160]
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov rbp, qword [rsp + 0x160]
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1801e8e28
mov r13b, byte [rsp + 0x168]
mov rsi, qword [rsp + 0x40]
mov r10d, 1
mov r12, rbx
test rbx, rbx
je 0x1801e8e4d
mov rbx, qword [rbx + 8]
mov r8, qword [rsp + 0x50]
mov r9d, dword [rsp + 0x178]
mov qword [rsp + 0x48], rbx
xor edi, edi
jmp 0x1801e8060
test r13b, r13b
je 0x1801e8e5a
mov rcx, rbp
call fcn.1801b3770
xor eax, eax
test r13b, r13b
mov edi, eax
sete dil
movaps xmm6, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0xf0]
cmp qword [rsp + 0x50], 0
mov rbx, qword [rsp + 0x160]
mov eax, dword [rsp + 0x178]
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov r13, qword [rsp + 0x128]
mov r12, qword [rsp + 0x130]
mov rsi, qword [rsp + 0x138]
mov rbp, qword [rsp + 0x140]
lea rcx, [rbx + 0xd310]
je 0x1801e8ef2
mov rdx, qword [rcx]
test rax, rax
mov r8d, 1
cmove rax, r8
cmp rax, qword [rdx + 8]
jae 0x1801e8edf
sub qword [rdx + 8], rax
jmp 0x1801e8ef8
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov r8d, 1
jmp 0x1801e8ef8
mov r8d, 1
cmp qword [rsp + 0x40], 0
mov eax, dword [rsp + 0x60]
lea rcx, [rbx + 0xd280]
mov rbx, qword [rsp + 0x148]
je 0x1801e8f3d
mov rdx, qword [rcx]
test rax, rax
cmove rax, r8
cmp rax, qword [rdx + 8]
jae 0x1801e8f32
sub qword [rdx + 8], rax
mov eax, edi
add rsp, 0x150
pop rdi
ret
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, edi
add rsp, 0x150
pop rdi
ret