Function at 0x1800c2170
Capabilities:
Get thread local storage value

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0x7e0
mov rax, qword [0x18025e100]
xor rax, rsp
mov qword [rsp + 0x7a0], rax
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x10], rbp
mov qword [r11 - 0x18], rsi
mov qword [r11 - 0x20], r12
xor ebx, ebx
mov qword [r11 - 0x28], r13
mov rdi, rcx
mov qword [rsp + 0x50], rcx
lea rax, [r11 - 0x750]
mov qword [rsp + 0x190], rdx
mov qword [r11 - 0x30], r14
mov dword [rsp + 0x90], ebx
mov dword [rsp + 0x94], ebx
lea rcx, [r11 - 0x538]
xor edx, edx
mov r8d, 0x4e8
mov qword [r11 - 0x38], r15
mov qword [r11 - 0x750], rbx
mov qword [r11 - 0x748], rax
call fcn.18024adb8
mov esi, dword [rdi + 0xd214]
mov r12, qword [rdi + 0xd240]
lea rax, [rsp + 0x240]
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x220], rax
mov eax, esi
mov qword [rsp + 0x158], rbx
and eax, 0xff00
mov qword [rsp + 0x160], rbx
mov byte [rsp + 0x168], bl
mov rbp, rbx
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x88], ebx
mov qword [rsp + 0x100], rbx
mov dword [rsp + 0xe0], ebx
mov qword [rsp + 0xd8], rbx
mov dword [rsp + 0xe4], ebx
mov qword [rsp + 0xe8], rbx
mov dword [rsp + 0xf4], ebx
mov dword [rsp + 0x80], ebx
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x84], ebx
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rbx
mov byte [rsp + 0xc0], bl
mov r14d, ebx
mov qword [rsp + 0x230], rbx
mov byte [rsp + 0x238], bl
cmp eax, 0x500
mov ecx, 0xb00
mov ebx, 0xa00
mov qword [rsp + 0x78], rdi
mov edi, 0x3c
cmovae ebx, ecx
lea rcx, [rsp + 0x110]
mov r8, rdi
xor edx, edx
mov byte [rsp + 0x169], 1
mov qword [rsp + 0xc8], r12
mov byte [rsp + 0xc1], 1
mov qword [rsp + 0x228], 0x64
mov byte [rsp + 0x239], 1
call fcn.18024adb8
lea eax, [rbp + 8]
cmp ebx, 0x900
je 0x1800c23c2
cmp ebx, 0xa00
je 0x1800c237a
mov r15d, 0x18
mov r13d, 0x20
mov dword [rsp + 0x12c], 0x31314452
mov dword [rsp + 0x130], edi
mov dword [rsp + 0x13c], 0x28
mov dword [rsp + 0x140], 0x24
mov dword [rsp + 0x134], r15d
mov dword [rsp + 0x138], r13d
mov dword [rsp + 0x144], 0xc
jmp 0x1800c2404
mov r15d, 0x18
mov edi, 0x1c
mov r13d, 0x20
mov dword [rsp + 0x140], 0x10
mov dword [rsp + 0x144], 0xc
mov dword [rsp + 0x130], edi
mov dword [rsp + 0x134], r15d
mov dword [rsp + 0x138], r13d
mov dword [rsp + 0x13c], r15d
jmp 0x1800c2404
mov r15d, 0x18
mov edi, 0x1c
mov r13d, 0x20
mov dword [rsp + 0x140], 0x10
mov dword [rsp + 0x144], eax
mov dword [rsp + 0x130], edi
mov dword [rsp + 0x134], r15d
mov dword [rsp + 0x138], r13d
mov dword [rsp + 0x13c], r15d
mov dword [rsp + 0x120], esi
mov rsi, qword [rsp + 0x50]
lea rdx, [rsp + 0x110]
mov eax, dword [rsi + 0xd218]
lea rcx, [rsp + 0x90]
mov r8d, edi
mov dword [rsp + 0x124], eax
mov eax, dword [rsi + 0x196f0]
mov dword [rsp + 0x148], eax
xor eax, eax
lea r9d, [rax + 1]
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c371b
mov rbp, qword [rsp + 0x50]
xor r10d, r10d
movabs rdi, 0x200000800080
mov r9d, dword [rbp + 0xc]
or edx, 0xffffffff
movabs r8, 0x4000000000
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x68], r10d
mov dword [rsp + 0x6c], r10d
mov ebx, r10d
mov r11d, r10d
mov esi, r10d
inc edx
cmp edx, r9d
jae 0x1800c25c2
mov rax, qword [rbp + 0xce58]
mov rcx, qword [rax + rdx*8]
cmp qword [rcx + 0x30], rbx
je 0x1800c2492
mov rax, qword [rcx + 0x10]
test rdi, rax
je 0x1800c2492
test r8, rax
jne 0x1800c2492
mov rcx, qword [rcx + 0x30]
mov r10, qword [rbp + 0xce58]
movabs r12, 0x200000000000
mov rdi, qword [rcx]
nop word [rax + rax]
mov eax, dword [rcx + 0x98]
mov r8, qword [rcx + 0xa8]
bt rax, 8
jb 0x1800c2567
cmp qword [rcx + 0x108], r14
jne 0x1800c2504
cmp qword [rcx + 0x50], 0xffffffffffffffff
je 0x1800c2567
cmp qword [rcx + 0xc0], 0xffffffffffffffff
jne 0x1800c2567
test byte [rbp + 0xceff], 0x80
je 0x1800c2526
mov rax, qword [r8 + 0x10]
test al, al
jns 0x1800c2526
bt rax, 0x1c
jb 0x1800c2567
mov rax, qword [r8 + 0x10]
test al, al
jns 0x1800c253f
mov eax, dword [rcx + 0xc8]
cmp r11d, eax
ja 0x1800c2567
lea r11d, [rax + 1]
jmp 0x1800c2567
bt rax, 0x17
jae 0x1800c2555
mov eax, dword [rcx + 0xc8]
cmp ebx, eax
ja 0x1800c2567
lea ebx, [rax + 1]
jmp 0x1800c2567
test r12, rax
je 0x1800c2567
mov eax, dword [rcx + 0xc8]
cmp esi, eax
ja 0x1800c2567
lea esi, [rax + 1]
test rdi, rdi
je 0x1800c2574
mov rcx, rdi
mov rdi, qword [rdi]
jmp 0x1800c25ae
movabs rdi, 0x200000800080
movabs r8, 0x4000000000
inc edx
cmp edx, r9d
jae 0x1800c25b7
mov rcx, qword [r10 + rdx*8]
cmp qword [rcx + 0x30], r14
je 0x1800c2588
mov rax, qword [rcx + 0x10]
test rdi, rax
je 0x1800c2588
test r8, rax
jne 0x1800c2588
mov rcx, qword [rcx + 0x30]
mov rdi, qword [rcx]
test rcx, rcx
jne 0x1800c24e0
mov r12, qword [rsp + 0xc8]
xor r10d, r10d
mov rcx, qword [rbp + 0xd240]
mov dword [rsp + 0x64], r11d
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0x6c], esi
test rcx, rcx
je 0x1800c261a
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r10d
lea r9, [rsp + 0x6c]
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x20], r10
call fcn.1800c1770
mov edi, eax
test eax, eax
js 0x1800c3644
mov r11d, dword [rsp + 0x64]
mov ebx, dword [rsp + 0x68]
mov esi, dword [rsp + 0x6c]
add ebx, esi
add ebx, r11d
lea eax, [rbx + rbx]
cmp eax, 0x1ffffffe
jbe 0x1800c2636
mov rsi, rbp
mov edi, 0x80070216
mov rbp, r14
jmp 0x1800c2671
shl eax, 3
mov ecx, 8
mov rsi, rbp
test eax, eax
cmove eax, ecx
lea rcx, [rbp + 0xd280]
mov edx, eax
mov dword [rsp + 0x88], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov rbp, rax
mov qword [rsp + 0x58], rax
mov rax, r14
cmovne edi, eax
test edi, edi
js 0x1800c3728
mov r8d, dword [rsp + 0x88]
xor edx, edx
mov rcx, rbp
call fcn.18024adb8
lea rbp, [rbp + rbx*8]
mov qword [rsp + 0xd0], rbp
cmp ebx, 0x3ffffffd
jbe 0x1800c26a7
mov edi, 0x80070216
jmp 0x1800c26e3
lea eax, [rbx*4]
mov ecx, 4
test eax, eax
cmove eax, ecx
lea rcx, [rsi + 0xd250]
mov edx, eax
mov dword [rsp + 0xe0], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov qword [rsp + 0x100], rax
mov rax, r14
cmovne edi, eax
test edi, edi
js 0x1800c368e
mov ecx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
lea r9, [rsp + 0x6c]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x64]
lea r8, [rsp + 0x68]
mov dword [rsp + 0x30], ecx
lea rdx, [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
call fcn.1800c1770
mov edi, eax
test eax, eax
js 0x1800c36a3
xor eax, eax
mov edi, eax
mov dword [rsp + 0x60], eax
mov edx, eax
test ebx, ebx
je 0x1800c28cc
mov r11, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x58]
mov r12, rbp
nop dword [rax]
mov eax, edx
mov r9, qword [rcx + rax*8]
test r9, r9
je 0x1800c2895
mov qword [r12], r9
mov eax, dword [r9 + 0xc8]
mov esi, edx
inc edx
mov dword [r11], eax
movsxd rax, edx
mov ebp, edx
cmp edx, ebx
jae 0x1800c2865
lea r10, [rcx + rax*8]
mov r8, qword [r10]
test r8, r8
je 0x1800c284e
mov rax, qword [r9 + 0xa8]
mov rdi, qword [rax + 0x10]
mov rax, qword [r8 + 0xa8]
mov rcx, qword [rax + 0x10]
movabs rax, 0x200002800080
xor rcx, rdi
test rax, rcx
jne 0x1800c292d
mov rax, qword [r9 + 0x108]
cmp qword [r8 + 0x108], rax
jne 0x1800c291f
cmp qword [r8 + 0x50], 0xffffffffffffffff
jne 0x1800c2911
and edi, 0x10800000
cmp rdi, 0x10800000
jne 0x1800c2844
movsxd rcx, dword [r8 + 0xa4]
movsxd rdi, dword [r9 + 0xa4]
cmp edi, ecx
je 0x1800c2844
cmp edi, 4
jne 0x1800c2806
cmp ecx, 3
je 0x1800c2844
jmp 0x1800c2829
cmp edi, 3
jne 0x1800c2812
cmp ecx, 4
jne 0x1800c2829
jmp 0x1800c2844
cmp edi, 0x20
jne 0x1800c2829
lea r8, [0x1800272a0]
bt dword [r8 + rcx*4], 0xf
mov r8, qword [r10]
jb 0x1800c2844
cmp ecx, 0x20
jne 0x1800c295d
lea rcx, [0x1800272a0]
bt dword [rcx + rdi*4], 0xf
jae 0x1800c295d
mov eax, dword [r8 + 0xc8]
mov dword [r11], eax
inc edx
add r10, 8
cmp edx, ebx
jb 0x1800c2782
mov edi, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
test byte [rax + 0xcf01], 0x80
je 0x1800c2882
mov rcx, qword [rcx + rsi*8]
mov edx, ebp
mov eax, dword [rcx + 0xc8]
mov dword [r11], eax
mov rcx, qword [rsp + 0x58]
inc edi
add r12, 8
mov dword [rsp + 0x60], edi
add r11, 4
movsxd rax, edx
cmp edx, ebx
jae 0x1800c29a1
lea rax, [rcx + rax*8]
cmp qword [rax], r14
jne 0x1800c293b
inc edx
add rax, 8
cmp edx, ebx
jb 0x1800c28a4
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xd0]
lea r8, [rsp + 0xa8]
mov edx, 1
mov rcx, rsi
call fcn.1800c1980
mov edi, eax
test eax, eax
js 0x1800c36b5
mov ebx, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0x60]
add ebx, ecx
cmp ebx, 0x7ffffff
jbe 0x1800c29bb
mov edi, 0x80070216
mov r13, r14
jmp 0x1800c29fa
mov edi, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
jmp 0x1800c2865
mov edi, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
jmp 0x1800c2865
mov edi, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
jmp 0x1800c2865
cmp edx, ebx
jb 0x1800c2750
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xd0]
jmp 0x1800c28cc
test rax, rax
je 0x1800c2968
lea rdx, [rax + 0x20]
jmp 0x1800c296d
xor eax, eax
mov rdx, rax
mov rsi, qword [rsp + 0x50]
lea r9, [0x18003d4c0]
mov r8d, 0x11bb
mov rcx, rsi
call fcn.18019df20
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov edi, 0x80004005
mov r14d, 1
jmp 0x1800c3733
mov r12, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xd0]
jmp 0x1800c28cc
mov eax, ebx
lea rcx, [rsi + 0xd418]
shl eax, 5
test eax, eax
cmove eax, r13d
add eax, 7
and eax, 0xfffffff8
mov edx, eax
mov dword [rsp + 0xe4], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov r13, rax
mov qword [rsp + 0xd8], rax
mov rax, r14
cmovne edi, eax
test edi, edi
js 0x1800c36c7
mov edi, ebx
xor edx, edx
mov rcx, r13
shl edi, 5
mov r8d, edi
call fcn.18024adb8
lea r11, [rsp + 0x11c]
lea rcx, [rsp + 0x90]
mov r9d, 1
mov r8d, edi
mov rdx, r13
mov qword [rsp + 0x20], r11
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c36d9
movsxd r13, dword [rsp + 0x60]
xor eax, eax
mov dword [rsp + 0x118], ebx
mov esi, eax
test r13d, r13d
je 0x1800c2ac9
mov rbx, rbp
mov rbp, qword [rsp + 0x100]
nop word [rax + rax]
mov r9d, dword [rbp]
mov r8, qword [rbx]
mov rcx, qword [rsp + 0x50]
mov eax, esi
lea rdx, [rsp + 0x90]
shl rax, 5
add rax, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.1800c1bd0
mov edi, eax
test eax, eax
js 0x1800c35e1
mov rax, qword [rbx]
mov ecx, dword [rax + 0xa4]
add ecx, 0xffffffbe
cmp ecx, 5
ja 0x1800c2aba
inc r14d
inc esi
add rbp, 4
add rbx, 8
cmp esi, r13d
jb 0x1800c2a70
mov rsi, qword [rsp + 0x50]
mov r8d, dword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
lea rcx, [fcn.1800a1180]
mov r9, rsi
call fcn.1800c5470
mov rax, qword [rsp + 0xb8]
xor ebp, ebp
mov ebx, ebp
mov rdx, r13
test rax, rax
je 0x1800c2b91
mov rdi, qword [rsp + 0xd8]
shl rdx, 5
mov rcx, rbp
lea rdi, [rdx + rdi + 0x18]
nop dword [rax]
cmp rcx, rax
jae 0x1800c2b33
mov rax, qword [rsp + 0xa8]
lea rdx, [rax + rcx*8]
jmp 0x1800c2b36
mov rdx, rbp
mov rdx, qword [rdx]
mov dword [rdi - 0x14], ebp
mov dword [rdi], 1
mov eax, dword [rdx + 0x28]
mov dword [rdi + 4], ebp
mov dword [rdi - 4], eax
test byte [rdx + 0x10], 0x40
je 0x1800c2b58
mov dword [rdi + 4], 1
mov rdx, qword [rdx + 8]
lea rax, [rdi - 0x18]
lea rcx, [rsp + 0x90]
mov r9d, 7
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov rax, qword [rsp + 0xb8]
inc ebx
mov ecx, ebx
add rdi, 0x20
cmp rcx, rax
jb 0x1800c2b20
lea rcx, [rsp + 0xa8]
call fcn.1800c6110
lea r8, [rsp + 0xa8]
mov edx, 0x421
mov rcx, rsi
call fcn.1800c1980
mov edi, eax
test eax, eax
js 0x1800c36eb
mov r13d, dword [rsp + 0xb8]
mov rbx, rbp
mov dword [rsp + 0xc8], r13d
mov qword [rsp + 0x108], rbx
test r12, r12
je 0x1800c2c9f
mov rsi, qword [rsp + 0xb8]
or rax, 0xffffffffffffffff
sub rax, r13
cmp rax, rsi
jae 0x1800c2bfc
mov edi, 0x80070216
jmp 0x1800c2c59
lea rbx, [rsi + r13]
cmp rbx, qword [rsp + 0xb0]
jbe 0x1800c2c39
cmp byte [rsp + 0xc1], bpl
jne 0x1800c2c1e
mov edi, 0x8007000e
mov rbx, rbp
jmp 0x1800c2c59
lea rcx, [rsp + 0xa8]
mov rdx, rbx
call fcn.1800c4d70
mov edi, eax
test eax, eax
je 0x1800c2c39
mov rbx, rbp
jmp 0x1800c2c59
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb8], rbx
lea rbx, [rax + rsi*8]
xor eax, eax
mov qword [rsp + 0x108], rbx
mov edi, eax
test edi, edi
js 0x1800c362a
lea r8, [r13*8]
xor edx, edx
mov rcx, rbx
call fcn.18024adb8
mov r8, qword [rsp + 0xa8]
mov r9, rbx
mov edx, 0x421
mov rcx, r12
mov dword [rsp + 0x20], r13d
call fcn.1800c1af0
mov edi, eax
test eax, eax
js 0x1800c365a
mov rsi, qword [rsp + 0x50]
lea eax, [r13 + r14]
mov dword [rsp + 0x110], eax
test eax, eax
je 0x1800c34cc
cmp eax, 0xaaaaaaa
jbe 0x1800c2cc9
mov r15, qword [rsp + 0xe8]
mov edi, 0x80070216
jmp 0x1800c2d0d
lea eax, [rax + rax*2]
lea rcx, [rsi + 0xd418]
shl eax, 3
test eax, eax
cmove eax, r15d
add eax, 7
and eax, 0xfffffff8
mov edx, eax
mov dword [rsp + 0xf4], eax
call fcn.1800c58b0
mov edi, 0x8007000e
test rax, rax
mov r15, rax
mov qword [rsp + 0xe8], rax
mov eax, dword [rsp + 0x110]
cmovne edi, ebp
test edi, edi
js 0x1800c36fd
lea ebx, [rax + rax*2]
lea rax, [rsp + 0x114]
mov r14d, 1
shl ebx, 3
lea rcx, [rsp + 0x90]
mov rdx, r15
mov r9d, r14d
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c370f
mov r8d, ebx
xor edx, edx
mov rcx, r15
call fcn.18024adb8
xor r10d, r10d
mov eax, r10d
mov r8d, r10d
mov dword [rsp + 0xf0], r10d
mov dword [rsp + 0xf8], eax
test r13d, r13d
je 0x1800c31bb
mov r9, qword [rsp + 0x108]
lea rbp, [r15 + 0x14]
mov rdi, r9
mov qword [rsp + 0x180], r9
mov qword [rsp + 0x188], rbp
nop dword [rax + rax]
mov ecx, eax
cmp rcx, qword [rsp + 0xb8]
jae 0x1800c2dba
mov rax, qword [rsp + 0xa8]
lea rdx, [rax + rcx*8]
jmp 0x1800c2dbd
mov rdx, r10
mov r12, qword [rdx]
test r9, r9
je 0x1800c2dd2
mov rax, qword [rdi]
mov qword [rsp + 0x178], rax
jmp 0x1800c2dda
mov qword [rsp + 0x178], r10
mov rdx, qword [r12 + 8]
mov eax, r8d
mov r9d, 7
lea rcx, [rax + rax*2]
or r8d, 0xffffffff
mov r14d, r10d
lea rsi, [r15 + rcx*8]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x20], rsi
call fcn.18007e4f0
mov rax, qword [r12 + 0x50]
mov edi, dword [rax + 4]
imul edi, dword [rsp + 0x13c]
mov ecx, edi
mov ebx, edi
call fcn.1800c63b0
mov qword [rsp + 0x170], rax
test rax, rax
je 0x1800c324d
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.18024adb8
lea rcx, [rsi + 8]
mov rsi, qword [rsp + 0x170]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x90]
mov r9d, 9
mov r8d, edi
mov rdx, rsi
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c35da
mov rax, qword [r12 + 0x50]
mov ecx, dword [rax + 4]
mov dword [rbp - 0x10], ecx
mov rax, qword [r12 + 0x10]
bt rax, 0xa
jae 0x1800c2e94
mov dword [rbp], 2
jmp 0x1800c2e9f
not al
movzx eax, al
and eax, 1
mov dword [rbp], eax
mov rcx, qword [r12 + 0x50]
xor r10d, r10d
mov r15d, r10d
cmp dword [rcx + 4], r10d
jbe 0x1800c3155
mov r13, r10
nop word [rax + rax]
mov rdx, qword [rcx + 0x10]
mov ebx, r15d
lea rcx, [rsp + 0x90]
imul ebx, dword [rsp + 0x13c]
mov rdx, qword [rdx + r13 + 8]
add rbx, rsi
mov r9d, 7
or r8d, 0xffffffff
mov qword [rsp + 0x20], rbx
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c35d3
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x10]
mov eax, dword [r12 + 0x10]
bt rax, 0xa
mov rbp, qword [rcx + r13 + 0x10]
jae 0x1800c2fbc
mov r10, qword [rsp + 0x50]
xor r11d, r11d
mov r8, qword [r10 + 0x19678]
mov rsi, r11
mov edi, r11d
test r8, r8
je 0x1800c2f77
mov rax, r11
cmp rax, r8
jae 0x1800c2f4e
lea rcx, [rax + rax*8]
mov rax, qword [r10 + 0x19668]
lea rdx, [rax + rcx*8]
jmp 0x1800c2f51
mov rdx, r11
cmp rbp, qword [rdx]
je 0x1800c2f61
inc edi
mov eax, edi
cmp rax, r8
jb 0x1800c2f38
jmp 0x1800c2f77
mov eax, edi
cmp rax, r8
jae 0x1800c2f77
lea rcx, [rax + rax*8]
mov rax, qword [r10 + 0x19668]
lea rsi, [rax + rcx*8]
or dword [rbx + 0xc], 4
cmp qword [rbp + 0x68], r11
je 0x1800c2f9c
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp eax, 0xe
jne 0x1800c2f99
or dword [rbx + 0xc], 8
xor r11d, r11d
jmp 0x1800c2f9c
xor r11d, r11d
test rsi, rsi
je 0x1800c2faf
mov eax, dword [rsi + 0xc]
mov dword [rbx + 4], eax
mov eax, dword [rsi + 0x18]
mov dword [rbx + 8], eax
jmp 0x1800c2fe4
mov dword [rbx + 4], 0xffffffff
mov dword [rbx + 8], r11d
jmp 0x1800c2fe4
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x10]
mov eax, dword [r13 + rcx]
shl eax, 2
mov dword [rbx + 4], eax
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x10]
mov eax, dword [rcx + r13 + 4]
shl eax, 2
mov dword [rbx + 8], eax
test rbp, rbp
je 0x1800c3072
mov rax, qword [r12 + 0x50]
mov rsi, qword [rsp + 0x50]
mov r9, qword [rbp + 0x60]
mov rcx, qword [rax + 0x10]
movzx eax, byte [rsi + 0xcf01]
movzx edi, byte [rsi + 0xcefc]
shr eax, 2
and edi, 0x80
lea rdx, [rbx + 0x10]
and eax, 4
or edi, 0x500
lea r8, [rsp + 0x150]
shr edi, 7
or edi, eax
mov rax, qword [rcx + r13 + 0x18]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdx
xor eax, eax
mov dword [rsp + 0x30], 0x11
mov dword [rsp + 0x28], eax
lea rdx, [rsp + 0x90]
mov dword [rsp + 0x20], edi
call fcn.1800a17e0
mov edi, eax
test eax, eax
js 0x1800c35e6
jmp 0x1800c3077
mov rsi, qword [rsp + 0x50]
mov rax, qword [r12 + 0x50]
mov rcx, qword [rax + 0x10]
test byte [rcx + r13 + 0x20], 1
jne 0x1800c30a5
mov rax, qword [rsp + 0x178]
test rax, rax
je 0x1800c30a9
mov rax, qword [rax + 0x50]
mov rcx, qword [rax + 0x10]
test byte [rcx + r13 + 0x20], 1
je 0x1800c30a9
or dword [rbx + 0xc], 2
cmp dword [rsp + 0x13c], 0x28
jb 0x1800c3117
test byte [r12 + 0x10], 1
jne 0x1800c30d6
xor r10d, r10d
mov dword [rbx + 0x18], 0xffffffff
mov dword [rbx + 0x20], 0xffffffff
mov dword [rbx + 0x1c], r10d
mov dword [rbx + 0x24], r10d
jmp 0x1800c311a
lea rax, [rbx + 0x1c]
lea r9, [rbx + 0x18]
mov r8d, 0x800000
mov rdx, rbp
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1800c1620
lea rcx, [rbx + 0x24]
lea r9, [rbx + 0x20]
mov qword [rsp + 0x20], rcx
mov r8d, 0x80
mov rdx, rbp
mov rcx, rsi
call fcn.1800c1620
xor r10d, r10d
jmp 0x1800c311a
xor r10d, r10d
mov edx, dword [rbx + 8]
mov rcx, qword [r12 + 0x50]
mov rsi, qword [rsp + 0x170]
add edx, dword [rbx + 4]
cmp r14d, edx
cmovb r14d, edx
inc r15d
add r13, 0x28
cmp r15d, dword [rcx + 4]
jb 0x1800c2ec0
mov rbp, qword [rsp + 0x188]
mov r13d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0x180]
mov r9, qword [rsp + 0x108]
mov r15, qword [rsp + 0xe8]
inc r8d
add rbp, 0x18
add rdi, 8
lea eax, [r14 + 0xf]
mov dword [rsp + 0xf0], r8d
and eax, 0xfffffff0
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x180], rdi
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0xf8]
inc eax
mov dword [rsp + 0xf8], eax
cmp eax, r13d
jb 0x1800c2da0
mov r15d, dword [rsp + 0x60]
mov r13d, r10d
movsxd rax, r8d
test r15d, r15d
je 0x1800c34cc
mov rcx, qword [rsp + 0xe8]
lea rax, [rax + rax*2]
mov r12d, 0x80004005
lea r14, [rcx + rax*8]
mov rax, qword [rsp + 0xd0]
nop dword [rax]
mov rbx, qword [rax]
mov eax, dword [rbx + 0xa4]
add eax, 0xffffffbe
cmp eax, 5
ja 0x1800c34ac
mov rsi, qword [rbx + 0x108]
mov rbp, r14
add r14, 0x18
test rsi, rsi
je 0x1800c321e
cmp dword [rsi + 8], 2
je 0x1800c3229
test rsi, rsi
je 0x1800c3295
cmp dword [rsi + 8], 3
jne 0x1800c3295
mov rcx, qword [rsi + 0x60]
mov edx, dword [rbx + 0x110]
lea r8, [rsp + 0x198]
mov rax, qword [rcx]
call qword [rax + 0x10]
test eax, eax
je 0x1800c326c
mov edi, r12d
xor r10d, r10d
jmp 0x1800c3298
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov edi, 0x8007000e
mov r14d, 1
jmp 0x1800c3733
mov rcx, qword [rsp + 0x198]
lea r8, [rsp + 0x1b0]
mov edx, 0x13
mov rax, qword [rcx]
call qword [rax + 0x60]
xor r10d, r10d
test al, al
mov edi, r10d
cmove edi, r12d
jmp 0x1800c3298
mov edi, r12d
test edi, edi
js 0x1800c35cc
or rcx, 0xffffffffffffffff
mov qword [rsp + 0x230], r10
mov rdx, qword [rsi + 0x18]
mov rdi, rdx
xor eax, eax
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x220]
call fcn.1800c4730
mov edi, eax
test eax, eax
js 0x1800c35c5
mov rcx, qword [rsi + 0x60]
mov r8d, dword [rbx + 0x110]
lea rdx, [rsp + 0x220]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov edi, eax
test eax, eax
js 0x1800c35be
lea rcx, [rsp + 0x220]
xor edx, edx
call fcn.1800c47e0
mov edi, eax
test eax, eax
js 0x1800c35b7
mov rdx, qword [rsp + 0x220]
lea rcx, [rsp + 0x90]
mov r9d, 6
or r8d, 0xffffffff
mov qword [rsp + 0x20], rbp
call fcn.18007e4f0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800c3343
xor eax, eax
jmp 0x1800c3349
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
xor edx, edx
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
test rax, rax
je 0x1800c358a
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x28]
call fcn.18024adb8
mov r8d, dword [rsp + 0x13c]
lea rdx, [rbp + 8]
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x90]
mov r9d, 9
mov rdx, rbx
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c35b0
lea rdx, [0x18003d548]
lea rcx, [rsp + 0x90]
mov r9d, 7
or r8d, 0xffffffff
mov dword [rbp + 4], 1
mov dword [rbp + 0x14], 3
mov qword [rsp + 0x20], rbx
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c35a9
mov rsi, qword [rsp + 0x50]
xor edi, edi
lea rcx, [rbx + 0x10]
mov dword [rbx + 4], edi
mov eax, dword [rsp + 0x208]
mov qword [rsp + 0x40], rdi
mov dword [rbx + 8], eax
movzx edx, byte [rsi + 0xcefc]
movzx eax, byte [rsi + 0xcf01]
mov r9, qword [rsp + 0x1c8]
and edx, 0x80
mov qword [rsp + 0x38], rcx
or edx, 0x500
shr eax, 2
mov dword [rsp + 0x30], 0x11
shr edx, 7
and eax, 4
mov dword [rsp + 0x28], edi
or edx, eax
lea r8, [rsp + 0x150]
lea rcx, [rsp + 0x110]
mov dword [rsp + 0x20], edx
lea rdx, [rsp + 0x90]
call fcn.1800a17e0
mov edi, eax
test eax, eax
js 0x1800c35e6
or dword [rbx + 0xc], 2
mov eax, dword [rsp + 0x1f4]
mov r10d, 0
mov dword [rbx + 0x1c], eax
or eax, 0xffffffff
cmp dword [rsp + 0x1f4], 0
cmova eax, r10d
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x1f8]
mov dword [rbx + 0x24], eax
or eax, 0xffffffff
cmp dword [rsp + 0x1f8], r10d
cmova eax, r10d
mov dword [rbx + 0x20], eax
mov eax, dword [rbx + 8]
mov dword [rbp + 0xc], eax
mov rax, qword [rsp + 0xd0]
inc r13d
add rax, 8
mov qword [rsp + 0xd0], rax
cmp r13d, r15d
jb 0x1800c31f0
lea rax, [rsp + 0x128]
lea rdx, [0x18003cef0]
lea rcx, [rsp + 0x90]
mov r9d, 5
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.18007e4f0
mov edi, eax
test eax, eax
js 0x1800c3674
mov ebx, dword [rsp + 0x94]
mov eax, dword [rsp + 0x90]
add ebx, 3
shr ebx, 2
neg eax
sbb ecx, ecx
and ecx, 2
add ebx, ecx
lea rcx, [rsp + 0x70]
mov edx, ebx
call fcn.1800c46b0
mov edi, eax
test eax, eax
js 0x1800c3610
mov r12, qword [rsp + 0x70]
lea rcx, [rsp + 0x90]
mov r8d, ebx
mov rdx, r12
call fcn.18007e6e0
mov edi, eax
test eax, eax
js 0x1800c35fb
mov rcx, qword [rsp + 0x190]
lea r8d, [rbx*4]
mov r9, r12
mov edx, 0x46454452
call fcn.180247dd0
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov edi, eax
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov edi, 0x8007000e
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
jmp 0x1800c35e6
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov r12, qword [rsp + 0x70]
mov rsi, rbp
mov rbp, r14
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov rbp, qword [rsp + 0x58]
mov r12, qword [rsp + 0x70]
jmp 0x1800c3733
mov r12, qword [rsp + 0x70]
mov r14d, 1
jmp 0x1800c3733
mov r12, qword [rsp + 0x70]
mov r14d, 1
mov r15, qword [rsp + 0x7b0]
xor r13d, r13d
mov qword [rsp + 0x230], r13
cmp byte [rsp + 0x238], r13b
je 0x1800c3765
mov rcx, qword [rsp + 0x220]
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov byte [rsp + 0x238], r13b
mov qword [rsp + 0x220], r13
mov qword [rsp + 0x228], r13
mov qword [rsp + 0xb8], r13
cmp byte [rsp + 0xc0], r13b
je 0x1800c37bf
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x1800c37b7
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1800c37a3
mov rax, r13
jmp 0x1800c37a9
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rcx, qword [rax]
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rsp + 0xc0], r13b
movsxd rax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x84]
test r12, r12
mov r12, qword [rsp + 0x7c8]
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
lea rcx, [rax + rcx*8 + 0xd250]
je 0x1800c381e
mov rdx, qword [rcx]
test r8, r8
cmove r8, r14
cmp r8, qword [rdx + 8]
jae 0x1800c3813
sub qword [rdx + 8], r8
jmp 0x1800c381e
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0xf4]
cmp qword [rsp + 0xe8], r13
je 0x1800c385f
mov rdx, qword [rsi + 0xd418]
test rax, rax
cmove rax, r14
cmp rax, qword [rdx + 8]
jae 0x1800c3849
sub qword [rdx + 8], rax
jmp 0x1800c385f
mov rax, qword [rdx]
lea rcx, [rsi + 0xd418]
mov qword [rsi + 0xd418], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0xe4]
cmp qword [rsp + 0xd8], r13
je 0x1800c38a0
mov rdx, qword [rsi + 0xd418]
test rax, rax
cmove rax, r14
cmp rax, qword [rdx + 8]
jae 0x1800c388a
sub qword [rdx + 8], rax
jmp 0x1800c38a0
mov rax, qword [rdx]
lea rcx, [rsi + 0xd418]
mov qword [rsi + 0xd418], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0xe0]
lea rcx, [rsi + 0xd250]
cmp qword [rsp + 0x100], r13
je 0x1800c38d9
mov rdx, qword [rcx]
test rax, rax
cmove rax, r14
cmp rax, qword [rdx + 8]
jae 0x1800c38ce
sub qword [rdx + 8], rax
jmp 0x1800c38d9
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov eax, dword [rsp + 0x88]
lea rcx, [rsi + 0xd280]
mov rsi, qword [rsp + 0x7d0]
test rbp, rbp
mov rbp, qword [rsp + 0x7d8]
je 0x1800c391d
mov rdx, qword [rcx]
test rax, rax
cmove rax, r14
cmp rax, qword [rdx + 8]
jae 0x1800c3912
sub qword [rdx + 8], rax
jmp 0x1800c391d
mov rax, qword [rdx]
mov qword [rcx], rax
call fcn.1800c56f0
mov r14, qword [rsp + 0x7b8]
mov qword [rsp + 0x160], r13
cmp byte [rsp + 0x168], r13b
je 0x1800c397d
mov rbx, qword [rsp + 0x150]
test rbx, rbx
je 0x1800c3975
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1800c3961
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test rax, rax
je 0x1800c3961
mov rax, qword [rax]
test rax, rax
jne 0x1800c3967
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [rsp + 0x168], r13b
mov eax, dword [rsp + 0x2b0]
mov rbx, qword [rsp + 0x800]
mov qword [rsp + 0x150], r13
mov qword [rsp + 0x158], r13
mov r13, qword [rsp + 0x7c0]
cmp eax, 0x35
je 0x1800c39b0
cmp eax, 0x91
jne 0x1800c39ba
mov rcx, qword [rsp + 0x780]
jmp 0x1800c39c9
cmp eax, 0x92
jne 0x1800c39ce
mov rcx, qword [rsp + 0x788]
call sub.msvcrt.dll_free
lea rcx, [rsp + 0x90]
call fcn.18007e420
mov eax, edi
mov rcx, qword [rsp + 0x7a0]
xor rcx, rsp
call fcn.18024a670
add rsp, 0x7e0
pop rdi
ret