Function at 0x1801df1f0
Capabilities:
Get thread local storage value

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r12
push r14
push r15
sub rsp, 0xe8
xor sil, sil
mov r15, rcx
mov dword [rsp + 0x128], esi
call fcn.180190d20
mov rcx, r15
call fcn.1801b3770
mov rbp, qword [r15 + 0x18]
or r14, 0xffffffffffffffff
xor r11d, r11d
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x40], rbp
test rbp, rbp
je 0x1801df244
mov rbx, qword [rbp]
jmp 0x1801df247
mov rbx, r11
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xd8], r13
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm7
mov r12d, 1
test rbp, rbp
je 0x1801e0f63
xorpd xmm6, xmm6
movsd xmm7, qword [0x180068590]
mov eax, dword [rbp + 0x78]
mov ecx, eax
and ecx, 0xfff00000
je 0x1801e0f02
mov r11d, dword [r15 + 0x10]
shr eax, 0x1c
mov dword [rsp + 0x138], r11d
cmp eax, 1
jne 0x1801df857
mov r10d, dword [rbp + 0x20]
xor r11d, r11d
movzx r14d, al
mov edi, r11d
mov dword [rsp + 0x130], r11d
test r10d, r10d
je 0x1801df318
mov r8, qword [rbp + 0x28]
mov r9d, r10d
nop dword [rax]
mov rdx, qword [r8]
test r14b, r14b
je 0x1801df30b
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
test rcx, 0x40211028
jne 0x1801df30b
mov rcx, qword [rdx + 0x98]
mov rax, rcx
shr rax, 0x18
test al, 1
je 0x1801df30b
shr rcx, 0x17
test cl, 1
jne 0x1801df30b
mov r14b, 1
jmp 0x1801df30e
xor r14b, r14b
add r8, 8
sub r9, 1
jne 0x1801df2d0
mov r15d, r11d
test r10d, r10d
je 0x1801df738
mov r13, r11
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
mov r12, qword [r13 + rax]
mov rax, qword [rbp + 0x18]
mov r9, qword [r13 + rax]
cmp r9, 0xffffffffffffffff
jne 0x1801df34d
or r9, r9
jmp 0x1801df372
lea rcx, [r9 + 0xe0]
mov rax, qword [rcx]
cmp r9, rax
je 0x1801df36f
nop dword [rax]
mov r9, rax
mov rax, qword [rax + 0xe0]
cmp r9, rax
jne 0x1801df360
mov qword [rcx], r9
mov eax, dword [rbp + 0x78]
and eax, 0xfff00000
cmp eax, 0x10000000
je 0x1801df38c
cmp eax, 0x10400000
jne 0x1801df425
mov ecx, dword [r12 + 0xa4]
mov eax, dword [r9 + 0xa4]
cmp ecx, 2
je 0x1801df3d8
cmp eax, 2
je 0x1801df3d8
cmp ecx, 3
je 0x1801df3d1
cmp eax, 3
je 0x1801df3d1
cmp ecx, 4
je 0x1801df3ca
cmp eax, 4
je 0x1801df3ca
cmp ecx, 5
je 0x1801df3c3
cmp eax, 5
jne 0x1801df425
mov edx, 5
jmp 0x1801df3dd
mov edx, 4
jmp 0x1801df3dd
mov edx, 3
jmp 0x1801df3dd
mov edx, 2
cmp edx, ecx
je 0x1801df3f3
mov sil, 1
mov dword [r12 + 0xa4], edx
mov dword [rsp + 0x128], esi
cmp edx, dword [r9 + 0xa4]
je 0x1801df425
mov rax, qword [r9 + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801df425
cmp dword [r9 + 0x3c], 1
jne 0x1801df425
mov al, 1
mov dword [r9 + 0xa4], edx
mov dword [rsp + 0x128], eax
test r14b, r14b
je 0x1801df6d6
mov eax, dword [r12 + 0x98]
shr rax, 0x18
test al, 1
jne 0x1801df448
mov esi, 0x80004005
jmp 0x1801df6bf
mov rax, qword [rsp + 0x120]
mov ecx, dword [0x18025e63c]
mov rsi, qword [rax + 0xd040]
test ecx, ecx
jns 0x1801df466
mov rcx, r11
jmp 0x1801df472
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801df4a6
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801df487
mov rdi, r11
jmp 0x1801df4bd
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801df497
mov qword [rcx + 0x20], r11
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801df4bd
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801df5d5
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801df56f
call fcn.18019c4f0
test al, al
je 0x1801df52c
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1801df54b
bt rcx, 0x15
jae 0x1801df54b
or qword [rdi + 0x98], 0x10
mov rcx, qword [rsp + 0x120]
mov rdx, rdi
mov eax, dword [rcx + 0x10]
mov qword [rsp + 0x68], rdx
mov dword [rdi + 0xa0], eax
inc dword [rcx + 0x10]
or dword [rcx + 0x28], 4
xor esi, esi
jmp 0x1801df5df
call fcn.1801991c0
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801df582
xor ebp, ebp
jmp 0x1801df58b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
mov edx, 0xfe
mov r8d, 0x188
mov rcx, rdi
call fcn.18024adb8
mov qword [rdi], 0
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x1801df5c1
mov rdx, qword [rsp + 0x68]
mov qword [rax], rdi
mov qword [rbp + 0x20], rdi
mov rbp, qword [rsp + 0x40]
jmp 0x1801df5df
mov rdx, qword [rsp + 0x68]
mov qword [rbp + 0x18], rdi
mov qword [rbp + 0x20], rdi
mov rbp, qword [rsp + 0x40]
jmp 0x1801df5df
mov rdx, qword [rsp + 0x68]
mov esi, 0x8007000e
test esi, esi
js 0x1801df6b8
mov eax, dword [r12 + 0xa4]
mov edi, dword [rsp + 0x130]
mov qword [rdx + 0xe0], rdx
mov dword [rdx + 0xa4], eax
mov rax, qword [r12 + 0x140]
mov qword [rdx + 0x140], rax
mov rax, qword [r12 + 0x148]
mov qword [rdx + 0x148], rax
mov rax, qword [r12 + 0x150]
mov qword [rdx + 0x150], rax
mov rax, qword [r12 + 0x158]
mov qword [rdx + 0x158], rax
mov rax, qword [r12 + 0x160]
mov qword [rdx + 0x160], rax
mov rax, qword [r12 + 0x168]
mov qword [rdx + 0x168], rax
mov rax, qword [r12 + 0x170]
mov qword [rdx + 0x170], rax
mov rax, qword [r12 + 0x178]
mov qword [rdx + 0x178], rax
mov rax, qword [r12 + 0x180]
mov qword [rdx + 0x180], rax
mov ecx, dword [r12 + 0x98]
mov rax, qword [rdx + 0x98]
and ecx, 0xf00000
and rax, 0xffffffffff0fffff
or rcx, rax
or rcx, 0x1000010
mov qword [rdx + 0x98], rcx
jmp 0x1801df6bf
mov edi, dword [rsp + 0x130]
test esi, esi
js 0x1801e0f66
mov rax, qword [rsp + 0x68]
mov qword [r12 + 0xe0], rax
jmp 0x1801df6f1
mov rcx, qword [rsp + 0x120]
mov r8, r12
mov rdx, rbp
call fcn.1801e0fa0
test eax, eax
js 0x1801e0f68
mov rax, qword [r12 + 0xe0]
cmp rax, r12
jne 0x1801df709
inc edi
mov dword [rsp + 0x130], edi
jmp 0x1801df71a
cmp qword [rax + 0xe0], 0xffffffffffffffff
jne 0x1801df71a
mov qword [rax + 0xe0], rax
inc r15d
add r13, 8
mov r11d, 0
cmp r15d, dword [rbp + 0x20]
jb 0x1801df330
mov esi, dword [rsp + 0x128]
mov eax, dword [rbp + 0x20]
cmp edi, eax
je 0x1801e0eac
xor edi, edi
mov r10d, edi
test eax, eax
je 0x1801df82d
mov r8, rdi
mov r9, rdi
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax + r8]
cmp qword [rdx + 0xe0], rdx
jne 0x1801df78b
mov qword [rax + r9], rdx
mov rcx, qword [rbp + 0x18]
inc r11d
mov rax, qword [rcx + r8]
add r9, 8
mov qword [rcx + r9 - 8], rax
jmp 0x1801df807
cmp rdx, 0xffffffffffffffff
jne 0x1801df796
or rdx, rdx
jmp 0x1801df7c2
lea rcx, [rdx + 0xe0]
mov rax, qword [rcx]
cmp rdx, rax
je 0x1801df7bf
nop word [rax + rax]
mov rdx, rax
mov rax, qword [rax + 0xe0]
cmp rdx, rax
jne 0x1801df7b0
mov qword [rcx], rdx
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801df807
cmp qword [rdx + 0x108], rdi
jne 0x1801df807
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + r8]
mov rax, qword [rcx + 0x108]
mov qword [rdx + 0x108], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + r8]
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
inc r10d
add r8, 8
cmp r10d, dword [rbp + 0x20]
jb 0x1801df760
test r11d, r11d
je 0x1801df82d
mov eax, dword [rbp + 0x78]
xor eax, r11d
and eax, 0xfffff
xor eax, dword [rbp + 0x78]
jmp 0x1801df82f
mov eax, edi
mov r15, qword [rsp + 0x120]
mov sil, 1
mov dword [rbp + 0x78], eax
mov dword [rsp + 0x128], esi
mov dword [rbp + 0x10], r11d
mov dword [rbp + 0x20], r11d
mov r12d, 1
jmp 0x1801e0f08
cmp eax, 2
jne 0x1801e040f
mov r10d, dword [rbp + 0x20]
xor r11d, r11d
mov r14b, 1
mov edi, r11d
mov dword [rsp + 0x130], r11d
test r10d, r10d
je 0x1801df8c9
mov r8, qword [rbp + 0x28]
mov r9d, r10d
mov rdx, qword [r8]
test r14b, r14b
je 0x1801df8bc
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
test rcx, 0x40211028
jne 0x1801df8bc
mov rcx, qword [rdx + 0x98]
mov rax, rcx
shr rax, 0x18
test al, 1
je 0x1801df8bc
shr rcx, 0x17
test cl, 1
jne 0x1801df8bc
mov r14b, 1
jmp 0x1801df8bf
xor r14b, r14b
add r8, 8
sub r9, 1
jne 0x1801df881
mov r12d, r11d
test r10d, r10d
je 0x1801dfda6
mov r13, r11
nop dword [rax + rax]
mov rax, qword [rbp + 0x28]
mov rsi, qword [rsp + 0x40]
mov rbp, qword [r13 + rax]
mov rax, qword [rsi + 0x18]
mov r9, qword [r13 + rax]
cmp r9, 0xffffffffffffffff
jne 0x1801df902
or r9, r9
jmp 0x1801df923
lea rcx, [r9 + 0xe0]
mov rax, qword [rcx]
cmp r9, rax
je 0x1801df920
mov r9, rax
mov rax, qword [rax + 0xe0]
cmp r9, rax
jne 0x1801df911
mov qword [rcx], r9
mov ecx, dword [rsi + 0x20]
mov rax, qword [rsi + 0x18]
add ecx, r12d
mov r8, qword [rax + rcx*8]
cmp r8, 0xffffffffffffffff
jne 0x1801df93c
or r8, r8
jmp 0x1801df962
lea rcx, [r8 + 0xe0]
mov rax, qword [rcx]
cmp r8, rax
je 0x1801df95f
nop dword [rax + rax]
mov r8, rax
mov rax, qword [rax + 0xe0]
cmp r8, rax
jne 0x1801df950
mov qword [rcx], r8
mov eax, dword [rsi + 0x78]
and eax, 0xfff00000
cmp eax, 0x21000000
je 0x1801df97c
cmp eax, 0x21400000
jne 0x1801dfaf2
mov r10d, dword [r9 + 0xa4]
mov r11d, dword [r8 + 0xa4]
cmp r8, 0xffffffffffffffff
je 0x1801df9b7
mov rax, qword [r8 + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801df9b7
mov eax, dword [r8 + 0x98]
shr rax, 0x18
test al, 1
je 0x1801df9b7
mov eax, r10d
jmp 0x1801dfa35
cmp r9, 0xffffffffffffffff
je 0x1801df9e4
mov rax, qword [r9 + 0xa8]
mov ecx, dword [rax + 0x10]
shr rcx, 8
test cl, 1
je 0x1801df9e4
mov eax, dword [r9 + 0x98]
shr rax, 0x18
test al, 1
je 0x1801df9e4
mov eax, r11d
jmp 0x1801dfa35
cmp r10d, 5
je 0x1801dfa30
cmp r11d, 5
je 0x1801dfa30
cmp r10d, 4
je 0x1801dfa29
cmp r11d, 4
je 0x1801dfa29
cmp r10d, 3
je 0x1801dfa22
cmp r11d, 3
je 0x1801dfa22
cmp r10d, 2
je 0x1801dfa1b
cmp r11d, 2
je 0x1801dfa1b
mov eax, 0x10
jmp 0x1801dfa35
mov eax, 2
jmp 0x1801dfa35
mov eax, 3
jmp 0x1801dfa35
mov eax, 4
jmp 0x1801dfa35
mov eax, 5
mov ecx, dword [rbp + 0xa4]
cmp eax, 2
je 0x1801dfa7f
cmp ecx, 2
je 0x1801dfa7f
cmp eax, 3
je 0x1801dfa78
cmp ecx, 3
je 0x1801dfa78
cmp eax, 4
je 0x1801dfa71
cmp ecx, 4
je 0x1801dfa71
cmp eax, 5
je 0x1801dfa6a
cmp ecx, 5
je 0x1801dfa6a
mov edx, 0x10
jmp 0x1801dfa84
mov edx, 5
jmp 0x1801dfa84
mov edx, 4
jmp 0x1801dfa84
mov edx, 3
jmp 0x1801dfa84
mov edx, 2
cmp edx, r10d
je 0x1801dfab2
mov rax, qword [r9 + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801dfab2
cmp dword [r9 + 0x3c], 1
jne 0x1801dfab2
mov al, 1
mov dword [r9 + 0xa4], edx
mov dword [rsp + 0x128], eax
cmp edx, r11d
je 0x1801dfaef
mov rax, qword [r8 + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801dfaea
cmp dword [r8 + 0x3c], 1
jne 0x1801dfae5
mov al, 1
mov dword [r8 + 0xa4], edx
xor r11d, r11d
mov dword [rsp + 0x128], eax
jmp 0x1801dfaf2
xor r11d, r11d
jmp 0x1801dfaf2
xor r11d, r11d
jmp 0x1801dfaf2
xor r11d, r11d
test r14b, r14b
je 0x1801dfd40
mov eax, dword [rbp + 0x98]
shr rax, 0x18
test al, 1
jne 0x1801dfb13
mov esi, 0x80004005
jmp 0x1801dfd27
mov ecx, dword [0x18025e63c]
mov rsi, qword [r15 + 0xd040]
test ecx, ecx
jns 0x1801dfb29
mov rcx, r11
jmp 0x1801dfb35
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801dfb69
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801dfb4a
mov rdi, r11
jmp 0x1801dfb80
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801dfb5a
mov qword [rcx + 0x20], r11
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801dfb80
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801dfc47
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801dfc30
call fcn.18019c4f0
test al, al
je 0x1801dfbef
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1801dfc0e
bt rcx, 0x15
jae 0x1801dfc0e
or qword [rdi + 0x98], 0x10
mov eax, dword [r15 + 0x10]
mov rdx, rdi
mov dword [rdi + 0xa0], eax
inc dword [r15 + 0x10]
or dword [r15 + 0x28], 4
xor esi, esi
mov qword [rsp + 0x80], rdx
jmp 0x1801dfc54
call fcn.1801991c0
mov rcx, rdi
call fcn.18019de00
mov rdx, qword [rsp + 0x80]
jmp 0x1801dfc54
mov rdx, qword [rsp + 0x80]
mov esi, 0x8007000e
test esi, esi
js 0x1801dfd20
mov eax, dword [rbp + 0xa4]
mov rcx, qword [rdx + 0x98]
mov edi, dword [rsp + 0x130]
mov dword [rdx + 0xa4], eax
mov qword [rdx + 0xe0], rdx
mov rax, qword [rbp + 0x140]
mov qword [rdx + 0x140], rax
mov rax, qword [rbp + 0x148]
and rcx, 0xffffffffff0fffff
mov qword [rdx + 0x148], rax
mov rax, qword [rbp + 0x150]
mov qword [rdx + 0x150], rax
mov rax, qword [rbp + 0x158]
mov qword [rdx + 0x158], rax
mov rax, qword [rbp + 0x160]
mov qword [rdx + 0x160], rax
mov rax, qword [rbp + 0x168]
mov qword [rdx + 0x168], rax
mov rax, qword [rbp + 0x170]
mov qword [rdx + 0x170], rax
mov rax, qword [rbp + 0x178]
mov qword [rdx + 0x178], rax
mov rax, qword [rbp + 0x180]
mov qword [rdx + 0x180], rax
mov eax, dword [rbp + 0x98]
and eax, 0xf00000
or rcx, rax
or rcx, 0x1000010
mov qword [rdx + 0x98], rcx
jmp 0x1801dfd27
mov edi, dword [rsp + 0x130]
test esi, esi
js 0x1801e0f66
mov rax, qword [rsp + 0x80]
mov qword [rbp + 0xe0], rax
jmp 0x1801dfd5b
mov qword [rsp + 0x20], r8
mov rdx, rsi
mov rcx, r15
mov r8, rbp
call fcn.1801e1130
test eax, eax
js 0x1801e0f68
mov rax, qword [rbp + 0xe0]
cmp rax, rbp
jne 0x1801dfd72
inc edi
mov dword [rsp + 0x130], edi
jmp 0x1801dfd83
cmp qword [rax + 0xe0], 0xffffffffffffffff
jne 0x1801dfd83
mov qword [rax + 0xe0], rax
mov rbp, qword [rsp + 0x40]
inc r12d
add r13, 8
mov r11d, 0
cmp r12d, dword [rbp + 0x20]
jb 0x1801df8e0
mov esi, dword [rsp + 0x128]
mov r10d, dword [rbp + 0x20]
cmp edi, r10d
je 0x1801e0eea
mov esi, dword [rbp + 0x78]
mov r8d, r11d
mov r15b, 0
mov r12d, esi
and r12d, 0xfffff
jbe 0x1801e0289
mov rdx, qword [rbp + 0x28]
mov r13d, r12d
mov r9d, r12d
mov rax, qword [rdx]
mov rcx, qword [rax + 0xe0]
cmp qword [rcx + 0x100], rbp
je 0x1801dfdec
inc r8d
add rdx, 8
sub r9, 1
jne 0x1801dfdd6
test r8d, r8d
je 0x1801e0299
cmp r8d, r10d
je 0x1801e0291
mov ecx, dword [0x18025e63c]
mov r14d, r12d
and esi, 0xfff00000
sub r14d, r8d
mov dword [rsp + 0x70], r14d
test ecx, ecx
jns 0x1801dfe28
mov rcx, r11
jmp 0x1801dfe34
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
mov rcx, rax
cmp qword [rcx + 0x30], 0
je 0x1801dfe68
mov rdi, qword [rcx + 0x30]
test rdi, rdi
jne 0x1801dfe49
mov rdi, r11
jmp 0x1801dfe7d
mov rax, qword [rdi]
mov qword [rcx + 0x30], rax
test rax, rax
jne 0x1801dfe59
mov qword [rcx + 0x38], r11
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801dfe7d
mov rcx, qword [rcx + 0x28]
mov edx, 0x80
lea r8d, [rdx - 0x70]
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801e0026
xor eax, eax
mov edx, esi
lea r8d, [r14 + r14]
xor edx, r14d
mov r9d, r14d
mov rcx, rdi
and edx, 0xfffff
mov qword [rdi], 0xffffffffffffffff
mov qword [rdi + 8], 0xffffffffffffffff
xor edx, esi
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x20], eax
mov dword [rdi + 0x30], 0xffffffff
mov dword [rdi + 0x78], eax
mov qword [rdi + 0x18], rax
mov word [rdi + 0x7c], ax
mov qword [rdi + 0x28], rax
mov word [rdi + 0x7e], ax
mov dword [rdi + 0x38], eax
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x40], eax
mov qword [rdi + 0x48], 0xffffffffffffffff
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x68], eax
mov qword [rdi + 0x70], rax
mov byte [rsp + 0x20], al
call fcn.180193d40
mov esi, eax
test eax, eax
js 0x1801dff19
mov eax, dword [rbp + 0x68]
xor r11d, r11d
mov qword [rsp + 0x88], rdi
mov dword [rdi + 0x68], eax
mov rax, qword [rbp + 0x70]
mov esi, r11d
mov qword [rdi + 0x70], rax
jmp 0x1801e0038
cmp word [rdi + 0x7c], 0
je 0x1801dff76
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801dff32
xor r11d, r11d
mov rax, r11
jmp 0x1801dff3b
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
movzx ecx, word [rdi + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801dff6b
mov r8, qword [rdi + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801dff6b
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7c], r11w
mov qword [rdi + 0x18], r11
jmp 0x1801dff79
xor r11d, r11d
cmp word [rdi + 0x7e], 0
je 0x1801dffd1
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801dff8f
mov rax, r11
jmp 0x1801dff98
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
movzx ecx, word [rdi + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1801dffc8
mov r8, qword [rdi + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801dffc8
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rdi + 0x7e], r11w
mov qword [rdi + 0x28], r11
mov ecx, dword [0x18025e63c]
test ecx, ecx
js 0x1801e0038
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rbp, rax
test rax, rax
je 0x1801e0030
mov edx, 0xfe
mov rcx, rdi
lea r8d, [rdx - 0x7e]
call fcn.18024adb8
xor r11d, r11d
mov qword [rdi], r11
mov rax, qword [rbp + 0x38]
test rax, rax
je 0x1801e0017
mov qword [rax], rdi
mov qword [rbp + 0x38], rdi
mov rbp, qword [rsp + 0x40]
jmp 0x1801e0038
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x38], rdi
mov rbp, qword [rsp + 0x40]
jmp 0x1801e0038
mov esi, 0x8007000e
xor r11d, r11d
jmp 0x1801e0038
mov rbp, qword [rsp + 0x40]
xor r11d, r11d
test esi, esi
js 0x1801e0f66
movsxd rax, r14d
mov r14, qword [rsp + 0x88]
movsxd rcx, r12d
mov r9, r11
mov rdx, r11
lea r10, [rax*8]
lea r8, [rcx*8]
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rdx + rax]
mov rax, qword [rcx + 0xe0]
cmp qword [rax + 0x100], rbp
je 0x1801e0095
mov qword [rcx + 0x100], 0xffffffffffffffff
jmp 0x1801e00d0
mov rax, qword [rbp + 0x18]
mov rcx, qword [r14 + 0x18]
add r9, 8
mov rax, qword [rdx + rax]
add r10, 8
mov qword [r9 + rcx - 8], rax
mov rax, qword [rbp + 0x18]
mov rcx, qword [r14 + 0x18]
mov rax, qword [r8 + rax]
mov qword [r10 + rcx - 8], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [r14 + 0x28]
mov rax, qword [rdx + rax]
mov qword [r9 + rcx - 8], rax
add rdx, 8
add r8, 8
sub r13, 1
jne 0x1801e0070
mov rax, qword [rbp]
mov r12, qword [rsp + 0x88]
mov edi, dword [rbp + 0x30]
mov r14d, dword [rsp + 0x70]
mov qword [r12], rax
mov rax, qword [rbp]
test rax, rax
je 0x1801e010d
mov rsi, qword [rsp + 0x120]
mov qword [rax + 8], r12
jmp 0x1801e0119
mov rsi, qword [rsp + 0x120]
mov qword [rsi + 0x20], r12
mov qword [r12 + 8], rbp
mov rax, qword [rbp + 8]
mov qword [rbp], r12
test rax, rax
je 0x1801e0130
mov qword [rax], r12
jmp 0x1801e0134
mov qword [rsi + 0x18], r12
mov rcx, qword [rbp]
test rcx, rcx
je 0x1801e0147
mov rax, qword [rbp + 8]
mov qword [rcx + 8], rax
jmp 0x1801e014f
mov rax, qword [rbp + 8]
mov qword [rsi + 0x20], rax
mov qword [rbp], 0xffffffffffffffff
mov qword [rbp + 8], 0xffffffffffffffff
cmp word [rbp + 0x7c], 0
je 0x1801e01b7
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801e0175
mov rax, r11
jmp 0x1801e017e
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
movzx ecx, word [rbp + 0x7c]
cmp ecx, dword [rax + 0x250]
ja 0x1801e01ae
mov r8, qword [rbp + 0x18]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801e01ae
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbp + 0x7c], r11w
mov qword [rbp + 0x18], r11
cmp word [rbp + 0x7e], 0
je 0x1801e020f
mov ecx, dword [0x18025e63c]
test ecx, ecx
jns 0x1801e01cd
mov rax, r11
jmp 0x1801e01d6
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r11d, r11d
movzx ecx, word [rbp + 0x7e]
cmp ecx, dword [rax + 0x250]
ja 0x1801e0206
mov r8, qword [rbp + 0x28]
dec ecx
movsxd rdx, ecx
shl rdx, 5
add rdx, qword [rax + 0x248]
test r8, r8
je 0x1801e0206
mov rax, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r8
mov word [rbp + 0x7e], r11w
mov qword [rbp + 0x28], r11
mov rcx, rbp
call fcn.1801979c0
cmp dword [r12 + 0x30], 0xffffffff
je 0x1801e0229
mov esi, 0x80004005
xor r11d, r11d
jmp 0x1801e0238
mov dword [r12 + 0x30], edi
or dword [rsi + 0x28], 6
xor r11d, r11d
mov esi, r11d
test esi, esi
js 0x1801e0f66
cmp dword [r12 + 0x20], 0
mov r8d, r11d
jbe 0x1801e026f
mov rdx, r11
nop
mov rax, qword [r12 + 0x28]
inc r8d
add rdx, 8
mov rcx, qword [rdx + rax - 8]
mov qword [rcx + 0x100], r12
cmp r8d, dword [r12 + 0x20]
jb 0x1801e0250
mov edi, dword [rsp + 0x130]
movzx r15d, r15b
mov r12d, 1
cmp edi, r14d
cmove r15d, r12d
jmp 0x1801e029f
mov r12d, 1
jmp 0x1801e029f
mov r12d, 1
jmp 0x1801e029f
mov r12d, 1
test edi, edi
jne 0x1801e02f4
mov r10d, dword [rbp + 0x20]
mov r8d, r12d
cmp r10d, 1
jbe 0x1801e02f4
mov rdx, qword [rbp + 0x28]
add rdx, 8
mov rax, qword [rdx - 8]
mov rcx, qword [rax + 0xe0]
mov r9, qword [rcx + 0xa8]
nop word [rax + rax]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xe0]
cmp r9, qword [rcx + 0xa8]
jne 0x1801e02f1
inc r8d
add rdx, 8
cmp r8d, r10d
jb 0x1801e02d0
jmp 0x1801e02f4
mov edi, r10d
test r15b, r15b
je 0x1801e0312
mov r15, qword [rsp + 0x120]
mov sil, 1
xor edi, edi
mov dword [rsp + 0x128], esi
jmp 0x1801e0f08
test edi, edi
je 0x1801e037a
cmp dword [rbp + 0x20], 0
mov r9d, r11d
jbe 0x1801e0355
mov r8, r11
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
mov rcx, qword [r8 + rax]
cmp qword [rcx + 0xe0], rcx
je 0x1801e0348
mov qword [rcx + 0xe0], rcx
inc r9d
add r8, 8
cmp r9d, dword [rbp + 0x20]
jb 0x1801e0330
mov r15, qword [rsp + 0x120]
mov edx, dword [rsp + 0x138]
mov rcx, r15
call fcn.18019fc90
mov esi, dword [rsp + 0x128]
xor edi, edi
jmp 0x1801e0f08
cmp dword [rbp + 0x20], 0
mov r9d, r11d
jbe 0x1801e03ea
mov r8, r11
nop word [rax + rax]
mov rax, qword [rbp + 0x28]
mov r10, qword [r8 + rax]
mov rdx, qword [r10 + 0xe0]
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e03dd
cmp qword [rdx + 0x108], 0
jne 0x1801e03dd
mov rax, qword [r10 + 0x108]
mov qword [rdx + 0x108], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [r8 + rax]
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
inc r9d
add r8, 8
cmp r9d, dword [rbp + 0x20]
jb 0x1801e0390
mov r15, qword [rsp + 0x120]
mov sil, 1
mov dword [rbp + 0x78], r11d
mov dword [rsp + 0x128], esi
mov dword [rbp + 0x10], r11d
mov dword [rbp + 0x20], r11d
xor edi, edi
jmp 0x1801e0f08
cmp eax, 3
jne 0x1801e09fe
mov r10d, dword [rbp + 0x20]
xor r9d, r9d
mov r13b, 1
mov r15d, r9d
test r10d, r10d
je 0x1801e0479
mov r8, qword [rbp + 0x28]
mov r9d, r10d
mov rdx, qword [r8]
test r13b, r13b
je 0x1801e046c
mov rax, qword [rdx + 0xa8]
mov ecx, dword [rax + 0x10]
test rcx, 0x40211028
jne 0x1801e046c
mov rcx, qword [rdx + 0x98]
mov rax, rcx
shr rax, 0x18
test al, 1
je 0x1801e046c
shr rcx, 0x17
test cl, 1
jne 0x1801e046c
mov r13b, 1
jmp 0x1801e046f
xor r13b, r13b
add r8, 8
sub r9, 1
jne 0x1801e0431
mov r12d, r9d
test r10d, r10d
je 0x1801e08af
mov r14, r9
jmp 0x1801e0493
xor r9d, r9d
mov rsi, qword [rsp + 0x40]
mov rax, qword [rbp + 0x28]
mov rbp, qword [r14 + rax]
mov r8, qword [rsi + 0x18]
mov edx, dword [rsi + 0x20]
mov rax, qword [r14 + r8]
mov rdi, qword [rax + 0xe0]
lea eax, [rdx + r12]
mov rax, qword [r8 + rax*8]
mov r11, qword [rax + 0xe0]
lea eax, [r12 + rdx*2]
mov rax, qword [r8 + rax*8]
mov r10, qword [rax + 0xe0]
mov eax, dword [rsi + 0x78]
and eax, 0xfff00000
cmp eax, 0x30000000
jne 0x1801e05ff
mov r8d, dword [r11 + 0xa4]
mov r9d, dword [r10 + 0xa4]
cmp r8d, 5
je 0x1801e053d
cmp r9d, 5
je 0x1801e053d
cmp r8d, 4
je 0x1801e0536
cmp r9d, 4
je 0x1801e0536
cmp r8d, 3
je 0x1801e052f
cmp r9d, 3
je 0x1801e052f
cmp r8d, 2
je 0x1801e0528
cmp r9d, 2
je 0x1801e0528
mov eax, 0x10
jmp 0x1801e0542
mov eax, 2
jmp 0x1801e0542
mov eax, 3
jmp 0x1801e0542
mov eax, 4
jmp 0x1801e0542
mov eax, 5
mov ecx, dword [rbp + 0xa4]
cmp eax, 2
je 0x1801e058c
cmp ecx, 2
je 0x1801e058c
cmp eax, 3
je 0x1801e0585
cmp ecx, 3
je 0x1801e0585
cmp eax, 4
je 0x1801e057e
cmp ecx, 4
je 0x1801e057e
cmp eax, 5
je 0x1801e0577
cmp ecx, 5
je 0x1801e0577
mov edx, 0x10
jmp 0x1801e0591
mov edx, 5
jmp 0x1801e0591
mov edx, 4
jmp 0x1801e0591
mov edx, 3
jmp 0x1801e0591
mov edx, 2
cmp edx, r8d
je 0x1801e05bf
mov rax, qword [r11 + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e05bf
cmp dword [r11 + 0x3c], 1
jne 0x1801e05bf
mov al, 1
mov dword [r11 + 0xa4], edx
mov dword [rsp + 0x128], eax
cmp edx, r9d
je 0x1801e05fc
mov rax, qword [r10 + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e05f7
cmp dword [r10 + 0x3c], 1
jne 0x1801e05f2
mov al, 1
mov dword [r10 + 0xa4], edx
xor r9d, r9d
mov dword [rsp + 0x128], eax
jmp 0x1801e05ff
xor r9d, r9d
jmp 0x1801e05ff
xor r9d, r9d
jmp 0x1801e05ff
xor r9d, r9d
test r13b, r13b
je 0x1801e0840
mov eax, dword [rbp + 0x98]
shr rax, 0x18
test al, 1
jne 0x1801e0620
mov esi, 0x80004005
jmp 0x1801e082a
mov rax, qword [rsp + 0x120]
mov ecx, dword [0x18025e63c]
mov rsi, qword [rax + 0xd040]
test ecx, ecx
jns 0x1801e063e
mov rcx, r9
jmp 0x1801e064a
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
xor r9d, r9d
mov rcx, rax
cmp qword [rcx + 0x18], 0
je 0x1801e067e
mov rdi, qword [rcx + 0x18]
test rdi, rdi
jne 0x1801e065f
mov rdi, r9
jmp 0x1801e0695
mov rax, qword [rdi]
mov qword [rcx + 0x18], rax
test rax, rax
jne 0x1801e066f
mov qword [rcx + 0x20], r9
movabs rax, 0xfefefefefefefefe
mov qword [rdi], rax
jmp 0x1801e0695
mov rcx, qword [rcx + 0x10]
mov edx, 0x188
mov r8d, 0x10
call fcn.180243b70
mov rdi, rax
test rdi, rdi
je 0x1801e075d
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 0xa0], 0xffffffff
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x78], rax
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x88], rax
mov qword [rdi + 0x90], rax
mov qword [rdi + 0x40], rax
mov qword [rdi + 0xa8], 0xffffffffffffffff
call fcn.1801992b0
mov esi, eax
test eax, eax
js 0x1801e0749
call fcn.18019c4f0
test al, al
je 0x1801e0704
or qword [rdi + 0x98], 0x20000
mov rax, qword [rdi + 0xa8]
mov rcx, qword [rax + 0x10]
test cl, 0x10
je 0x1801e0723
bt rcx, 0x15
jae 0x1801e0723
or qword [rdi + 0x98], 0x10
mov rcx, qword [rsp + 0x120]
mov rdx, rdi
mov eax, dword [rcx + 0x10]
mov qword [rsp + 0x78], rdx
mov dword [rdi + 0xa0], eax
inc dword [rcx + 0x10]
or dword [rcx + 0x28], 4
xor eax, eax
mov esi, eax
jmp 0x1801e0767
call fcn.1801991c0
mov rcx, rdi
call fcn.18019de00
mov rdx, qword [rsp + 0x78]
jmp 0x1801e0767
mov rdx, qword [rsp + 0x78]
mov esi, 0x8007000e
test esi, esi
js 0x1801e082a
mov eax, dword [rbp + 0xa4]
mov qword [rdx + 0xe0], rdx
mov dword [rdx + 0xa4], eax
mov rax, qword [rbp + 0x140]
mov qword [rdx + 0x140], rax
mov rax, qword [rbp + 0x148]
mov qword [rdx + 0x148], rax
mov rax, qword [rbp + 0x150]
mov qword [rdx + 0x150], rax
mov rax, qword [rbp + 0x158]
mov qword [rdx + 0x158], rax
mov rax, qword [rbp + 0x160]
mov qword [rdx + 0x160], rax
mov rax, qword [rbp + 0x168]
mov qword [rdx + 0x168], rax
mov rax, qword [rbp + 0x170]
mov qword [rdx + 0x170], rax
mov rax, qword [rbp + 0x178]
mov qword [rdx + 0x178], rax
mov rax, qword [rbp + 0x180]
mov qword [rdx + 0x180], rax
mov ecx, dword [rbp + 0x98]
mov rax, qword [rdx + 0x98]
and ecx, 0xf00000
and rax, 0xffffffffff0fffff
or rcx, rax
or rcx, 0x1000010
mov qword [rdx + 0x98], rcx
test esi, esi
js 0x1801e0f66
mov rax, qword [rsp + 0x78]
mov qword [rbp + 0xe0], rax
jmp 0x1801e0868
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x28], r10
mov r9, rdi
mov r8, rbp
mov rdx, rsi
mov qword [rsp + 0x20], r11
call fcn.1801e1e00
test eax, eax
js 0x1801e0f68
mov rax, qword [rbp + 0xe0]
cmp rax, rbp
jne 0x1801e0879
inc r15d
jmp 0x1801e088a
cmp qword [rax + 0xe0], 0xffffffffffffffff
jne 0x1801e088a
mov qword [rax + 0xe0], rax
mov rbp, qword [rsp + 0x40]
inc r12d
add r14, 8
cmp r12d, dword [rbp + 0x20]
jb 0x1801e0490
mov r11d, dword [rsp + 0x138]
mov esi, dword [rsp + 0x128]
mov r10d, dword [rbp + 0x20]
cmp r15d, r10d
je 0x1801e0e9c
test r15d, r15d
jne 0x1801e09ae
mov r12d, 1
mov r8d, r12d
cmp r10d, r12d
jbe 0x1801e091a
mov rdx, qword [rbp + 0x28]
add rdx, 8
mov rax, qword [rdx - 8]
mov rcx, qword [rax + 0xe0]
mov r9, qword [rcx + 0xa8]
nop dword [rax]
mov rax, qword [rdx]
mov rcx, qword [rax + 0xe0]
cmp r9, qword [rcx + 0xa8]
jne 0x1801e0911
inc r8d
add rdx, 8
cmp r8d, r10d
jb 0x1801e08f0
jmp 0x1801e091a
test r10d, r10d
jne 0x1801e09b4
xor r11d, r11d
mov r9d, r11d
test r10d, r10d
je 0x1801e0989
mov r8, r11
nop dword [rax + rax]
mov rax, qword [rbp + 0x28]
mov r10, qword [r8 + rax]
mov rdx, qword [r10 + 0xe0]
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test r12b, cl
je 0x1801e097c
cmp qword [rdx + 0x108], r11
jne 0x1801e097c
mov rax, qword [r10 + 0x108]
mov qword [rdx + 0x108], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [r8 + rax]
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
inc r9d
add r8, 8
cmp r9d, dword [rbp + 0x20]
jb 0x1801e0930
mov r15, qword [rsp + 0x120]
mov sil, r12b
mov dword [rbp + 0x78], r11d
mov dword [rsp + 0x128], esi
mov dword [rbp + 0x10], r11d
mov dword [rbp + 0x20], r11d
xor edi, edi
jmp 0x1801e0f08
mov r12d, 1
xor edi, edi
mov r8d, edi
test r10d, r10d
je 0x1801e09e6
mov rdx, rdi
mov rax, qword [rbp + 0x28]
mov rcx, qword [rdx + rax]
cmp qword [rcx + 0xe0], rcx
je 0x1801e09d9
mov qword [rcx + 0xe0], rcx
inc r8d
add rdx, 8
cmp r8d, dword [rbp + 0x20]
jb 0x1801e09c1
mov r15, qword [rsp + 0x120]
mov edx, r11d
mov rcx, r15
call fcn.18019fc90
jmp 0x1801e0f08
cmp ecx, 0x50000000
je 0x1801e0d8e
cmp ecx, 0x90700000
je 0x1801e0d8e
cmp ecx, 0x50100000
jne 0x1801e0efa
mov r9d, dword [rbp + 0x20]
mov r8, qword [rbp + 0x28]
lea rdx, [r15 + 0x30]
mov rcx, r15
call fcn.1801b4260
test al, al
je 0x1801e0ef2
mov rax, qword [rbp + 0x18]
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x48], r12d
mov rcx, qword [rax]
mov rsi, qword [rax + 8]
mov rbp, qword [rax + 0x18]
mov eax, dword [rcx + 0x98]
shr rax, 0x18
test al, 1
je 0x1801e0b6f
lea r8, [rsp + 0xa8]
mov rdx, r15
call fcn.180199870
test eax, eax
jne 0x1801e0b6f
movsd xmm0, qword [rsp + 0xa8]
comisd xmm0, xmm6
jbe 0x1801e0b58
mov eax, dword [rsi + 0x98]
mov edi, 2
shr rax, 0x18
mov dword [rsp + 0x4c], edi
test al, 1
je 0x1801e0bc5
lea r8, [rsp + 0xa0]
mov rdx, r15
mov rcx, rsi
call fcn.180199870
test eax, eax
jne 0x1801e0bbb
movsd xmm0, qword [rsp + 0xa0]
comisd xmm0, xmm6
jbe 0x1801e0b46
mov eax, dword [rbp + 0x98]
shr rax, 0x18
test al, 1
je 0x1801e0bb1
lea r8, [rsp + 0x90]
mov rdx, r15
mov rcx, rbp
call fcn.180199870
test eax, eax
jne 0x1801e0ba7
movsd xmm0, qword [rsp + 0x90]
ucomisd xmm6, xmm0
jp 0x1801e0b29
jne 0x1801e0b29
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x50], r12d
xor r11d, r11d
jmp 0x1801e0bf6
ucomisd xmm7, xmm0
jp 0x1801e0b93
jne 0x1801e0b9d
mov r13, qword [rsp + 0x40]
mov dword [rsp + 0x50], 3
xor r11d, r11d
jmp 0x1801e0bf6
mov r13, qword [rsp + 0x40]
xor r11d, r11d
mov dword [rsp + 0x50], r11d
jmp 0x1801e0bf6
mov r13, qword [rsp + 0x40]
xor r11d, r11d
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x50], r11d
jmp 0x1801e0bf6
mov r13, qword [rsp + 0x40]
or edi, 0xffffffff
mov r11d, 0
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 8]
cmp dword [rcx + 0x3c], 0
cmove edi, r11d
mov dword [rsp + 0x4c], edi
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x1801e0bcd
mov r13, qword [rsp + 0x40]
xor r11d, r11d
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + 0x10]
or eax, 0xffffffff
cmp dword [rcx + 0x3c], 0
cmove eax, r11d
mov dword [rsp + 0x50], eax
cmp edi, 0xffffffff
je 0x1801e0ecb
cmp eax, 0xffffffff
je 0x1801e0ebc
mov r12d, r11d
mov rdi, r11
lea rbp, [rsp + 0x48]
mov eax, dword [rbp]
test eax, eax
je 0x1801e0cae
sub eax, 1
je 0x1801e0c56
sub eax, 1
je 0x1801e0c3b
cmp eax, 1
jne 0x1801e0d0b
mov rax, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x18]
mov rcx, qword [rdi + rax]
mov rax, qword [rdx + 8]
mov qword [rcx + 0xe0], rax
jmp 0x1801e0d0b
mov rax, qword [r13 + 0x28]
mov rdx, qword [r13 + 0x18]
mov rcx, qword [rdi + rax]
mov rax, qword [rdx]
mov qword [rcx + 0xe0], rax
jmp 0x1801e0d0b
cmp r14, 0xffffffffffffffff
jne 0x1801e0c9d
mov r8, qword [r15 + 0xd040]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r11d
movsd qword [rsp + 0x20], xmm7
lea r9d, [r14 + 5]
lea rdx, [rsp + 0x58]
mov rcx, r15
call fcn.18019f150
mov esi, eax
test eax, eax
js 0x1801e0f66
mov r14, qword [rsp + 0x58]
xor r11d, r11d
mov qword [r14 + 0xe0], r14
mov rax, qword [r13 + 0x28]
mov rcx, qword [rdi + rax]
mov qword [rcx + 0xe0], r14
jmp 0x1801e0d0b
mov r9, qword [rsp + 0x60]
cmp r9, 0xffffffffffffffff
jne 0x1801e0cfc
mov r8, qword [r15 + 0xd040]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r11d
movsd qword [rsp + 0x20], xmm6
lea rdx, [rsp + 0x60]
mov r9d, 4
mov rcx, r15
call fcn.18019f150
mov esi, eax
test eax, eax
js 0x1801e0f66
mov r9, qword [rsp + 0x60]
xor r11d, r11d
mov qword [r9 + 0xe0], r9
mov rax, qword [r13 + 0x28]
mov rcx, qword [rdi + rax]
mov qword [rcx + 0xe0], r9
mov rax, qword [r13 + 0x28]
mov r8, qword [rdi + rax]
mov rdx, qword [r8 + 0xe0]
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e0d58
cmp qword [rdx + 0x108], 0
jne 0x1801e0d58
mov rax, qword [r8 + 0x108]
mov qword [rdx + 0x108], rax
mov rax, qword [r13 + 0x28]
mov rcx, qword [rdi + rax]
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
inc r12d
add rbp, 4
add rdi, 8
cmp r12d, 4
jb 0x1801e0c01
xor edi, edi
mov sil, 1
mov dword [r13 + 0x78], r11d
mov dword [r13 + 0x10], r11d
mov dword [r13 + 0x20], r11d
lea r12d, [rdi + 1]
mov dword [rsp + 0x128], esi
jmp 0x1801e0f08
mov rax, qword [rbp + 0x28]
mov rdi, qword [rax]
mov rax, qword [rdi + 0xa8]
mov ecx, dword [rax + 0x10]
test rcx, 0x40211028
jne 0x1801e0df1
mov rcx, qword [rdi + 0x98]
mov rax, rcx
shr rax, 0x18
test al, 1
je 0x1801e0df1
shr rcx, 0x17
test cl, 1
jne 0x1801e0df1
lea r8, [rsp + 0x98]
mov rdx, rdi
mov rcx, r15
call fcn.1801ddf40
mov esi, eax
test eax, eax
js 0x1801e0f66
mov rax, qword [rsp + 0x98]
mov qword [rdi + 0xe0], rax
jmp 0x1801e0e09
mov r8b, 1
mov rdx, rbp
mov rcx, r15
call fcn.1801e2850
mov esi, eax
test eax, eax
js 0x1801e0f68
mov eax, dword [rsp + 0x128]
cmp esi, 1
movzx eax, al
mov esi, eax
mov dword [rsp + 0x128], eax
cmovne esi, r12d
test dword [rbp + 0x78], 0xfff00000
mov dword [rsp + 0x128], esi
je 0x1801e0ee2
mov rax, qword [rbp + 0x28]
mov r8, qword [rax]
mov rdx, qword [r8 + 0xe0]
cmp rdx, r8
je 0x1801e0eda
mov rax, qword [rdx + 0xa8]
movzx ecx, byte [rax + 0x10]
shr cl, 1
test cl, 1
je 0x1801e0e8b
cmp qword [rdx + 0x108], 0
jne 0x1801e0e8b
mov rax, qword [r8 + 0x108]
mov qword [rdx + 0x108], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov eax, dword [rcx + 0x110]
mov dword [rdx + 0x110], eax
xor edi, edi
mov dword [rbp + 0x78], edi
mov dword [rbp + 0x10], edi
mov dword [rbp + 0x20], edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
mov r15, qword [rsp + 0x120]
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
mov r15, qword [rsp + 0x120]
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
mov esi, dword [rsp + 0x128]
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
mov esi, dword [rsp + 0x128]
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
jmp 0x1801e0f08
xor edi, edi
lea r12d, [rdi + 1]
mov rbp, rbx
mov qword [rsp + 0x40], rbx
test rbx, rbx
je 0x1801e0f28
mov rbx, qword [rbx]
mov r14, qword [rsp + 0x58]
mov r12d, 1
jmp 0x1801df282
test sil, sil
je 0x1801e0f5d
xor edx, edx
mov rcx, r15
call fcn.180190da0
mov rcx, r15
mov ebx, eax
call fcn.180190fd0
test eax, eax
je 0x1801e0f54
test ebx, ebx
je 0x1801e0f54
mov esi, r12d
test r12d, r12d
cmovns esi, edi
jmp 0x1801e0f66
mov esi, edi
test edi, edi
cmovns esi, edi
jmp 0x1801e0f66
mov r12d, 1
mov esi, r12d
mov eax, esi
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
mov r13, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
add rsp, 0xe8
pop r15
pop r14
pop r12
pop rsi
pop rbp
pop rbx
ret