Function at 0x18009c200
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xb98
mov rax, qword [0x18013c898]
mov qword [rsp + 0x7f0], rax
mov rax, qword [rsp + 0x7f0]
mov rax, qword [rax + 0x3dd8]
mov byte [rax + 0x90], 1
mov rax, qword [rsp + 0x7f0]
mov rax, qword [rax + 0x3dd8]
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
movzx eax, byte [rax + 0x93]
test eax, eax
je 0x18009c273
xor al, al
jmp 0x1800a18fd
mov rax, qword [0x18013c898]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
add rax, 8
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x68]
add rax, 0x3728
mov qword [rsp + 0xe8], rax
mov byte [rsp + 0x1c8], 0
mov eax, dword [rsp + 0xbd8]
and eax, 0x4000000
test eax, eax
je 0x18009c2c5
mov byte [rsp + 0xc2], 1
jmp 0x18009c2cd
mov byte [rsp + 0xc2], 0
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0xbd8]
and eax, 0x4000
test eax, eax
je 0x18009c2f3
mov byte [rsp + 0xca], 1
jmp 0x18009c2fb
mov byte [rsp + 0xca], 0
movzx eax, byte [rsp + 0xca]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0xbd8]
and eax, 0x8000
test eax, eax
je 0x18009c321
mov byte [rsp + 0xcc], 1
jmp 0x18009c329
mov byte [rsp + 0xcc], 0
movzx eax, byte [rsp + 0xcc]
mov byte [rsp + 0x89], al
mov eax, dword [rsp + 0xbd8]
and eax, 0x10000
test eax, eax
jne 0x18009c352
mov byte [rsp + 0xcd], 1
jmp 0x18009c35a
mov byte [rsp + 0xcd], 0
movzx eax, byte [rsp + 0xcd]
mov byte [rsp + 0xcb], al
mov eax, dword [rsp + 0xbd8]
and eax, 0x40000
test eax, eax
je 0x18009c383
mov byte [rsp + 0xce], 1
jmp 0x18009c38b
mov byte [rsp + 0xce], 0
movzx eax, byte [rsp + 0xce]
mov byte [rsp + 0x94], al
movzx eax, byte [rsp + 0x94]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009c3b0
call fcn.1800154f0
xor r8d, r8d
mov rdx, qword [rsp + 0xbb0]
mov rcx, qword [rsp + 0x150]
call fcn.18001da60
mov dword [rsp + 0x78], eax
movss xmm0, dword [0x1800d9cbc]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0xbb0]
lea rcx, [rsp + 0x460]
call fcn.180016f60
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009c41e
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3b48]
mulss xmm0, dword [0x1800d9c74]
movss dword [rsp + 0x300], xmm0
jmp 0x18009c430
movss xmm0, dword [rsp + 0x464]
movss dword [rsp + 0x300], xmm0
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1800d90e4]
movss xmm1, dword [rsp + 0x300]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x590], xmm0
call fcn.1800166c0
movss dword [rsp + 0x594], xmm0
mov rax, qword [rsp + 0xbd0]
mov rax, qword [rax]
mov qword [rsp + 0x970], rax
mov rax, qword [rsp + 0x970]
mov qword [rsp + 0x978], rax
movss xmm3, dword [rsp + 0x590]
movss xmm2, dword [rsp + 0x594]
mov rdx, qword [rsp + 0x978]
lea rcx, [rsp + 0x3f0]
call fcn.180016540
movss xmm0, dword [rsp + 0x3f4]
movss dword [rsp + 0x5a0], xmm0
movss xmm0, dword [rsp + 0x460]
comiss xmm0, dword [0x1800d90cc]
jbe 0x18009c4fb
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rax + 0x54]
addss xmm0, dword [rsp + 0x460]
movss dword [rsp + 0x390], xmm0
jmp 0x18009c507
xorps xmm0, xmm0
movss dword [rsp + 0x390], xmm0
movss xmm0, dword [rsp + 0x3f0]
addss xmm0, dword [rsp + 0x390]
movss dword [rsp + 0x598], xmm0
movss xmm0, dword [rsp + 0x598]
movss dword [rsp + 0x648], xmm0
movss xmm0, dword [rsp + 0x5a0]
movss dword [rsp + 0x64c], xmm0
mov rax, qword [rsp + 0x150]
add rax, 0xd8
mov qword [rsp + 0x7f8], rax
mov rax, qword [rsp + 0x7f8]
movss xmm0, dword [rax + 4]
addss xmm0, dword [rsp + 0x3f4]
movss dword [rsp + 0x5b0], xmm0
mov rax, qword [rsp + 0x7f8]
movss xmm0, dword [rax]
addss xmm0, dword [rsp + 0x3f0]
movss dword [rsp + 0x5a8], xmm0
movss xmm0, dword [rsp + 0x5a8]
movss dword [rsp + 0x800], xmm0
movss xmm0, dword [rsp + 0x5b0]
movss dword [rsp + 0x804], xmm0
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x158], rax
mov rax, qword [rsp + 0x800]
mov qword [rsp + 0x160], rax
movss xmm0, dword [rsp + 0x15c]
addss xmm0, dword [rsp + 0x64c]
movss dword [rsp + 0x5c0], xmm0
movss xmm0, dword [rsp + 0x158]
addss xmm0, dword [rsp + 0x648]
movss dword [rsp + 0x5b8], xmm0
movss xmm0, dword [rsp + 0x5b8]
movss dword [rsp + 0x848], xmm0
movss xmm0, dword [rsp + 0x5c0]
movss dword [rsp + 0x84c], xmm0
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x808], rax
mov rax, qword [rsp + 0x848]
mov qword [rsp + 0x810], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x3f0]
mov qword [rsp + 0x128], rax
mov dword [rsp + 0x198], 0
lea rcx, [rsp + 0xb48]
call fcn.18000e520
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009c935
mov rax, qword [rsp + 0x150]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x980], rax
mov rax, qword [rsp + 0xe8]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x808]
call fcn.1800219a0
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x808]
call fcn.180021570
movzx eax, al
test eax, eax
jne 0x18009c706
call fcn.18001a0e0
xor al, al
jmp 0x1800a18fd
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3ea8]
mov dword [rsp + 0x198], eax
lea rax, [rsp + 0xb48]
mov rcx, qword [rsp + 0x68]
mov rdi, rax
lea rsi, [rcx + 0x3ea0]
mov ecx, 0x3c
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x980]
mov qword [rax + 0xd8], rcx
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xe8]
lea rax, [rcx + rax + 0xc8]
mov rdx, rax
mov ecx, 3
call fcn.18002b4e0
mov rax, qword [rsp + 0xe8]
movss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.18002b690
mov rax, qword [rsp + 0xe8]
movss xmm1, dword [rax + 0x48]
mov ecx, 8
call fcn.18002b690
xorps xmm0, xmm0
movss dword [rsp + 0x838], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x83c], xmm0
lea rdx, [rsp + 0x838]
mov ecx, 2
call fcn.18002b5b0
lea rdx, [rsp + 0xb40]
lea rcx, [rsp + 0x158]
call fcn.18001ed90
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x78]
mov rcx, qword [rsp + 0xbb0]
call fcn.1800147e0
mov byte [rsp + 0xfa], al
mov ecx, 3
call fcn.18002b080
mov ecx, 1
call fcn.18002afd0
movzx eax, byte [rsp + 0xfa]
test eax, eax
jne 0x18009c840
call fcn.180019670
call fcn.18001a0e0
xor al, al
jmp 0x1800a18fd
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3dd8]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0xd8]
mov eax, dword [rax + 0x12c]
mov ecx, 1
mov dword [rsp + 0x5c8], ecx
movzx ecx, al
mov eax, dword [rsp + 0x5c8]
shl eax, cl
mov rcx, qword [rsp + 0xd8]
movsx ecx, word [rcx + 0x132]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 0x132], ax
mov rax, qword [rsp + 0xe8]
add rax, 0x3c
mov qword [rsp + 0x840], rax
mov rax, qword [rsp + 0xd8]
add rax, 0xd8
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x468]
mov rcx, qword [rsp + 0x840]
movss xmm0, dword [rax]
addss xmm0, dword [rcx]
mov rax, qword [rsp + 0x468]
movss dword [rax], xmm0
mov rax, qword [rsp + 0x468]
mov rcx, qword [rsp + 0x840]
movss xmm0, dword [rax + 4]
addss xmm0, dword [rcx + 4]
mov rax, qword [rsp + 0x468]
movss dword [rax + 4], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x128]
subss xmm0, dword [rax + 0x84]
movss dword [rsp + 0x128], xmm0
jmp 0x18009c99e
mov rax, qword [rsp + 0xe8]
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x808]
call fcn.1800219a0
mov eax, dword [rsp + 0xbd8]
and eax, 0x10000000
test eax, eax
jne 0x18009c98c
mov r9d, 0x100
lea r8, [rsp + 0x158]
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x808]
call fcn.180021570
movzx eax, al
test eax, eax
jne 0x18009c98c
xor al, al
jmp 0x1800a18fd
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3ea8]
mov dword [rsp + 0x198], eax
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x158]
call fcn.180021780
mov byte [rsp + 0x8a], al
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x18009c9d1
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x4178], 1
mov rax, qword [0x18013c898]
mov qword [rsp + 0x710], rax
mov rax, qword [rsp + 0x710]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x42f8], ecx
jne 0x18009ca0c
mov rax, qword [rsp + 0x710]
add rax, 0x42f8
mov qword [rsp + 0x718], rax
jmp 0x18009ca18
mov qword [rsp + 0x718], 0
mov rax, qword [rsp + 0x718]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x198]
and eax, 0x100
test eax, eax
je 0x18009ca3f
mov byte [rsp + 0xcf], 1
jmp 0x18009ca47
mov byte [rsp + 0xcf], 0
movzx eax, byte [rsp + 0xcf]
mov byte [rsp + 0xad], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
je 0x18009caa1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x4004], ecx
je 0x18009ca97
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3ff8], ecx
jne 0x18009caa1
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x4020], 2
jne 0x18009caa1
mov byte [rsp + 0xd0], 1
jmp 0x18009caa9
mov byte [rsp + 0xd0], 0
movzx eax, byte [rsp + 0xd0]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x18009caeb
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x35d8]
test eax, eax
je 0x18009caeb
mov byte [rsp + 0xa4], 1
jmp 0x18009caf3
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0xae], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009cb4a
cmp qword [rsp + 0x58], 0
je 0x18009cb4a
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x3e24], 0
jne 0x18009cb4a
mov edx, 1
mov rcx, qword [rsp + 0xd8]
call fcn.180097bd0
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x3e70], eax
jne 0x18009cb4a
mov byte [rsp + 0xa5], 1
jmp 0x18009cb52
mov byte [rsp + 0xa5], 0
movzx eax, byte [rsp + 0xa5]
mov byte [rsp + 0xfb], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009cb9b
cmp qword [rsp + 0x58], 0
je 0x18009cb9b
mov edx, 1
mov rcx, qword [rsp + 0xd8]
call fcn.180097bd0
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x3e24], eax
jne 0x18009cb9b
mov byte [rsp + 0xa6], 1
jmp 0x18009cba3
mov byte [rsp + 0xa6], 0
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0xb0], al
mov byte [rsp + 0x73], 0
mov byte [rsp + 0x88], 0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009cbe0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x60]
movss dword [rsp + 0x394], xmm0
jmp 0x18009cbf1
movss xmm0, dword [0x1800d90ec]
movss dword [rsp + 0x394], xmm0
movss xmm0, dword [rsp + 0x394]
movss dword [rsp + 0x98], xmm0
cmp qword [rsp + 0x58], 0
je 0x18009cc48
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18009cc21
mov dword [rsp + 0x398], 1
jmp 0x18009cc2c
mov dword [rsp + 0x398], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x398]
je 0x18009cc48
mov byte [rsp + 0xa7], 1
jmp 0x18009cc50
mov byte [rsp + 0xa7], 0
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0xaa], al
movzx eax, byte [rsp + 0xae]
test eax, eax
jne 0x18009cc99
movzx eax, byte [rsp + 0xfb]
test eax, eax
jne 0x18009cc99
movzx eax, byte [rsp + 0x91]
test eax, eax
jne 0x18009cc99
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x18009cc99
mov byte [rsp + 0xa8], 0
jmp 0x18009cca1
mov byte [rsp + 0xa8], 1
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x18009ccd2
movzx eax, byte [rsp + 0xb0]
test eax, eax
jne 0x18009ccd2
mov byte [rsp + 0xa9], 0
jmp 0x18009ccda
mov byte [rsp + 0xa9], 1
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0xaf], al
movzx eax, byte [rsp + 0xaf]
test eax, eax
je 0x18009cd06
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009cd16
movzx eax, byte [rsp + 0xaa]
test eax, eax
je 0x18009cf8d
mov rax, qword [rsp + 0x68]
add rax, 0x42f8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movss xmm0, dword [0x1800dc934]
movss dword [rax + 0xe78], xmm0
mov rcx, qword [rsp + 0xbc0]
call fcn.1800b6780
mov dword [rsp + 0x3a0], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x988], rax
mov eax, dword [rsp + 0x3a0]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x988]
call fcn.18003de90
mov eax, dword [rsp + 0x3a0]
inc eax
cdqe
mov r8, rax
mov rdx, qword [rsp + 0xbc0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x38]
call fcn.1800b62e0
mov qword [rsp + 0x720], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x990], rax
mov eax, dword [rsp + 0xbc8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x990]
call fcn.18003df20
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x998], rax
xor edx, edx
mov rcx, qword [rsp + 0x998]
call fcn.18003de90
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x720]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0xbc0]
mov edx, dword [rsp + 0xbc8]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180020520
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xbc0]
mov rcx, qword [rsp + 0x720]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x78]
cmp dword [rax], ecx
jne 0x18009ce70
movzx eax, byte [rsp + 0xaa]
test eax, eax
jne 0x18009ce70
mov byte [rsp + 0xab], 1
jmp 0x18009ce78
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [rsp + 0xac], al
movzx eax, byte [rsp + 0xac]
test eax, eax
je 0x18009ce9f
mov rcx, qword [rsp + 0x58]
call fcn.180096b30
jmp 0x18009cef0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x78]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18009cecd
mov dword [rsp + 0x3a4], 1
jmp 0x18009ced8
mov dword [rsp + 0x3a4], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x3a4]
mov rcx, rax
call fcn.1800afae0
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18009cf74
mov eax, dword [rsp + 0xbd8]
and eax, 0x10
test eax, eax
je 0x18009cf0f
mov byte [rsp + 0x88], 1
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x18009cf41
movzx eax, byte [rsp + 0xac]
test eax, eax
je 0x18009cf39
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x4008]
and eax, 4
test eax, eax
jne 0x18009cf41
mov byte [rsp + 0x88], 1
movzx eax, byte [rsp + 0xad]
test eax, eax
jne 0x18009cf6c
movzx eax, byte [rsp + 0xae]
test eax, eax
je 0x18009cf74
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009cf74
mov byte [rsp + 0x88], 1
mov eax, dword [rsp + 0xbd8]
and eax, 0x2000
test eax, eax
je 0x18009cf8d
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
je 0x18009d090
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x18009d090
mov rdx, qword [rsp + 0x150]
mov ecx, dword [rsp + 0x78]
call fcn.1800311b0
mov rdx, qword [rsp + 0x150]
mov ecx, dword [rsp + 0x78]
call fcn.180031730
mov rcx, qword [rsp + 0x150]
call fcn.18001c800
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3e38]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3e38], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18009d013
mov eax, dword [rsp + 0xbd8]
and eax, 0x80
test eax, eax
je 0x18009d02c
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3e38]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3e38], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3e3c]
or eax, 2
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3e3c], eax
mov ecx, 0x207
call fcn.1800a5cf0
mov ecx, 0x208
call fcn.1800a5cf0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009d076
mov ecx, 0x205
call fcn.1800a5cf0
mov ecx, 0x206
call fcn.1800a5cf0
mov eax, dword [rsp + 0xbd8]
and eax, 0x440
test eax, eax
je 0x18009d090
mov ecx, 0x200
call fcn.1800a5cf0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009d0ae
cmp qword [rsp + 0x58], 0
jne 0x18009d0ae
call fcn.180018510
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009d0f9
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x35d8]
test eax, eax
je 0x18009d0f9
movzx eax, byte [rsp + 0xaf]
test eax, eax
jne 0x18009d0f9
movzx eax, byte [rsp + 0x90]
test eax, eax
jne 0x18009d0f9
mov byte [rsp + 0x73], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
je 0x18009d128
cmp qword [rsp + 0x58], 0
je 0x18009d11e
movzx eax, byte [rsp + 0xb0]
test eax, eax
jne 0x18009d128
mov byte [rsp + 0xb1], 0
jmp 0x18009d130
mov byte [rsp + 0xb1], 1
movzx eax, byte [rsp + 0xb1]
mov byte [rsp + 0x71], al
cmp qword [rsp + 0x58], 0
je 0x18009d1a2
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009d163
mov dword [rsp + 0x3a8], 1
jmp 0x18009d16e
mov dword [rsp + 0x3a8], 0
movzx eax, byte [rsp + 0x3a8]
test eax, eax
jne 0x18009d186
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18009d1a2
xor eax, eax
test eax, eax
jne 0x18009d195
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18009d1a2
mov dword [rsp + 0x3ac], 1
jmp 0x18009d1ad
mov dword [rsp + 0x3ac], 0
movzx eax, byte [rsp + 0x3ac]
mov byte [rsp + 0x70], al
mov byte [rsp + 0x95], 0
mov byte [rsp + 0x8f], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18009d2c8
cmp qword [rsp + 0x58], 0
je 0x18009d2c8
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x18009d1f8
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18009d2c8
mov qword [rsp + 0x728], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x9a0], rax
mov eax, dword [rsp + 0xbc8]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x9a0]
call fcn.18003df20
lea rax, [rsp + 0x728]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0xbc0]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180020520
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0xbc0]
mov rcx, qword [rsp + 0x728]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.180096b30
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009d2aa
mov dword [rsp + 0x3b0], 1
jmp 0x18009d2b5
mov dword [rsp + 0x3b0], 0
movzx eax, byte [rsp + 0x70]
movzx ecx, byte [rsp + 0x3b0]
and eax, ecx
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x18009d2eb
movzx eax, byte [rsp + 0x70]
test eax, eax
jne 0x18009d2eb
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009d313
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009d313
cmp qword [rsp + 0x58], 0
je 0x18009d313
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x18009d313
mov byte [rsp + 0xb2], 1
jmp 0x18009d31b
mov byte [rsp + 0xb2], 0
movzx eax, byte [rsp + 0xb2]
mov byte [rsp + 0xc9], al
cmp qword [rsp + 0xbb8], 0
je 0x18009d387
movzx eax, byte [rsp + 0xc9]
test eax, eax
je 0x18009d354
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x730], rax
jmp 0x18009d364
mov rax, qword [rsp + 0xbc0]
mov qword [rsp + 0x730], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x730]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x18009d387
mov byte [rsp + 0xb3], 1
jmp 0x18009d38f
mov byte [rsp + 0xb3], 0
movzx eax, byte [rsp + 0xb3]
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x18009d4c7
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18009d4c7
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov qword [rsp + 0x9a8], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x9a8]
call fcn.18004b5f0
mov qword [rsp + 0x738], rax
mov rax, qword [rsp + 0x68]
add rax, 0x5180
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x170]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x170]
movss xmm0, dword [rax + 0x5c]
movss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x170]
movss xmm0, dword [rax + 0x60]
movss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x170]
movss xmm0, dword [rax + 0x64]
movss dword [rcx + 0x64], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x170]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x738]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x170]
mov rcx, qword [rsp + 0x738]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x170]
call fcn.18002b2b0
mov dword [rsp + 0x1cc], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009dcd9
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x1cc], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0xbc8]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0xbd8]
mov dword [rax + 0xe80], ecx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xcfc]
test eax, eax
jne 0x18009d54d
mov dword [rsp + 0x3b4], 1
jmp 0x18009d558
mov dword [rsp + 0x3b4], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x3b4]
mov byte [rax + 0x3e31], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x557c], 1
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xcf4]
subss xmm0, dword [rsp + 0x158]
mov rax, qword [rsp + 0xe8]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x58]
addss xmm0, dword [rax + 0x48]
movss dword [rsp + 0x1a0], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009d5e7
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0xcf8]
subss xmm0, dword [rcx + 0xdc]
movss dword [rsp + 0x3b8], xmm0
jmp 0x18009d605
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3b48]
mulss xmm0, dword [0x1800d90dc]
movss dword [rsp + 0x3b8], xmm0
movss xmm0, dword [rsp + 0x3b8]
movss dword [rsp + 0x19c], xmm0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x69]
mov byte [rsp + 0xfe], al
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x18009d651
mov rcx, qword [rsp + 0x58]
call fcn.1800a4960
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x18009da11
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x18009d8e6
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x35e2]
cmp eax, 2
jl 0x18009d8e6
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0d]
test eax, eax
jne 0x18009d8e6
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x19c]
movss xmm2, dword [rsp + 0x1a0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800af210
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax + 0x35e2]
sub eax, 2
mov dword [rsp + 0x5cc], eax
mov eax, dword [rsp + 0x5cc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
test eax, eax
jne 0x18009d7db
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x4c], 0
je 0x18009d72f
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
dec eax
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a32b0
movzx eax, ax
cmp eax, 0xa
je 0x18009d72f
mov byte [rsp + 0xb4], 0
jmp 0x18009d737
mov byte [rsp + 0xb4], 1
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0xfc], al
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x18009d764
movzx eax, byte [rsp + 0xfc]
test eax, eax
jne 0x18009d773
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
jne 0x18009d796
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rcx, rax
call fcn.1800b0f00
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.1800a37d0
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800af0b0
jmp 0x18009d8cc
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x58]
call fcn.1800a32b0
movzx eax, ax
cmp eax, 0xa
jne 0x18009d7ff
mov byte [rsp + 0xb5], 1
jmp 0x18009d807
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xfd], al
mov edx, 0x200004
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov edx, 0x600005
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov edx, 0x600001
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
movzx eax, byte [rsp + 0xfd]
test eax, eax
jne 0x18009d8c0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009d8c0
mov rax, qword [rsp + 0x58]
add rax, 0x54
mov qword [rsp + 0x748], rax
mov rax, qword [rsp + 0x58]
add rax, 0x50
mov qword [rsp + 0x740], rax
mov rax, qword [rsp + 0x740]
mov eax, dword [rax]
mov dword [rsp + 0x5d0], eax
mov rax, qword [rsp + 0x740]
mov rcx, qword [rsp + 0x748]
mov ecx, dword [rcx]
mov dword [rax], ecx
mov rax, qword [rsp + 0x748]
mov ecx, dword [rsp + 0x5d0]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [0x1800dc934]
movss dword [rax + 0xe78], xmm0
jmp 0x18009da11
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x35d8]
test eax, eax
je 0x18009d961
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x18009d961
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x18009d95c
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x19c]
movss xmm2, dword [rsp + 0x1a0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800af210
mov rax, qword [rsp + 0x58]
movss xmm0, dword [0x1800dc934]
movss dword [rax + 0xe78], xmm0
jmp 0x18009da11
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xcfc]
test eax, eax
je 0x18009da11
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x18009da11
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xe8]
ucomiss xmm0, dword [0x1800d90cc]
jp 0x18009d9c8
jne 0x18009d9c8
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xec]
ucomiss xmm0, dword [0x1800d90cc]
jp 0x18009d9c8
je 0x18009da11
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x19c]
movss xmm2, dword [rsp + 0x1a0]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800af7a0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [0x1800dc934]
movss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x18009da4a
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0xcfc]
test eax, eax
jne 0x18009da4a
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009da70
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0e]
test eax, eax
je 0x18009da99
movzx eax, byte [rsp + 0xfe]
test eax, eax
je 0x18009da8f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0f]
test eax, eax
jne 0x18009da99
mov byte [rsp + 0xb6], 0
jmp 0x18009daa1
mov byte [rsp + 0xb6], 1
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0xb7], al
mov eax, dword [rsp + 0xbd8]
and eax, 0x400
test eax, eax
je 0x18009db9d
mov dl, 1
mov ecx, 0x200
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009db9d
movzx eax, byte [rsp + 0xb7]
test eax, eax
jne 0x18009db9d
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0d]
test eax, eax
jne 0x18009db9d
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009db9d
mov rax, qword [rsp + 0x80]
add rax, 0x36f0
mov qword [rsp + 0x9b0], rax
mov eax, 9
mov word [rsp + 0x1ca], ax
lea rdx, [rsp + 0x1ca]
mov rcx, qword [rsp + 0x9b0]
call fcn.1800ae1d0
movzx eax, al
test eax, eax
jne 0x18009db9d
mov dword [rsp + 0x3bc], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0xbe8]
mov r8, qword [rsp + 0xbe0]
mov edx, dword [rsp + 0xbd8]
lea rcx, [rsp + 0x3bc]
call fcn.1800a1910
movzx eax, al
test eax, eax
je 0x18009db9d
mov edx, dword [rsp + 0x3bc]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x36f0], 0
jle 0x18009dcd9
movzx eax, byte [rsp + 0xb7]
test eax, eax
jne 0x18009dcb4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009dcb4
movzx eax, byte [rsp + 0x91]
test eax, eax
jne 0x18009dcb4
mov dword [rsp + 0x168], 0
jmp 0x18009dbfc
mov eax, dword [rsp + 0x168]
inc eax
mov dword [rsp + 0x168], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x36f0]
cmp dword [rsp + 0x168], eax
jge 0x18009dcb4
mov rax, qword [rsp + 0x80]
add rax, 0x36f0
mov qword [rsp + 0x850], rax
movsxd rax, dword [rsp + 0x168]
mov rcx, qword [rsp + 0x850]
mov rcx, qword [rcx + 8]
movzx eax, word [rcx + rax*2]
mov dword [rsp + 0x1a4], eax
cmp dword [rsp + 0x1a4], 9
jne 0x18009dc6b
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0d]
test eax, eax
je 0x18009dc6b
jmp 0x18009dbec
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0xbe8]
mov r8, qword [rsp + 0xbe0]
mov edx, dword [rsp + 0xbd8]
lea rcx, [rsp + 0x1a4]
call fcn.1800a1910
movzx eax, al
test eax, eax
je 0x18009dcaf
mov edx, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009dbec
mov rax, qword [rsp + 0x80]
add rax, 0x36f0
mov qword [rsp + 0x858], rax
xor edx, edx
mov rcx, qword [rsp + 0x858]
call fcn.18003df20
mov byte [rsp + 0x8d], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009efdd
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3e30]
test eax, eax
jne 0x18009efdd
movzx eax, byte [rsp + 0x73]
test eax, eax
jne 0x18009efdd
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rsp + 0x12c]
subss xmm0, dword [rax + 0x40]
mov rax, qword [rsp + 0x68]
divss xmm0, dword [rax + 0x3b48]
cvttss2si eax, xmm0
mov dword [rsp + 0x3c0], eax
cmp dword [rsp + 0x3c0], 1
jl 0x18009dd5f
mov eax, dword [rsp + 0x3c0]
mov dword [rsp + 0x3c8], eax
jmp 0x18009dd6a
mov dword [rsp + 0x3c8], 1
mov eax, dword [rsp + 0x3c8]
mov dword [rsp + 0x1a8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1a8]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0d]
test eax, eax
je 0x18009dda7
mov dword [rsp + 0x3cc], 0x400000
jmp 0x18009ddb2
mov dword [rsp + 0x3cc], 0
mov eax, dword [rsp + 0x3cc]
mov dword [rsp + 0x9c], eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x69]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x18009ddfa
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xd60], 0xa
jne 0x18009ddfa
mov byte [rsp + 0xb8], 1
jmp 0x18009de02
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xb8]
mov byte [rsp + 0x104], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x18009de35
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0e]
mov byte [rsp + 0xb9], al
jmp 0x18009de4b
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
mov byte [rsp + 0xb9], al
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0x92], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x18009dea9
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0f]
test eax, eax
je 0x18009dea9
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
jne 0x18009dea9
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0e]
test eax, eax
jne 0x18009dea9
mov byte [rsp + 0xba], 1
jmp 0x18009deb1
mov byte [rsp + 0xba], 0
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0x8b], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xd60], 1
jne 0x18009dedb
mov byte [rsp + 0xbb], 1
jmp 0x18009dee3
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0xff], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xd60], 2
jne 0x18009df0d
mov byte [rsp + 0xbc], 1
jmp 0x18009df15
mov byte [rsp + 0xbc], 0
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xbf], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x71]
test eax, eax
je 0x18009df6a
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xd60], 8
jne 0x18009df4f
mov dword [rsp + 0x3d0], 1
jmp 0x18009df5a
mov dword [rsp + 0x3d0], 0
mov eax, dword [rsp + 0x3d0]
mov dword [rsp + 0x3d8], eax
jmp 0x18009dfa1
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0xd60], 1
jne 0x18009df88
mov dword [rsp + 0x3d4], 1
jmp 0x18009df93
mov dword [rsp + 0x3d4], 0
mov eax, dword [rsp + 0x3d4]
mov dword [rsp + 0x3d8], eax
movzx eax, byte [rsp + 0x3d8]
mov byte [rsp + 0x74], al
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009dfc9
mov dl, 1
mov ecx, 0x239
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009dfe8
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x18009e046
mov dl, 1
mov ecx, 0x20a
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e046
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e046
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x18009e046
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e03c
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009e025
mov dword [rsp + 0x3dc], 1
jmp 0x18009e030
mov dword [rsp + 0x3dc], 0
movzx eax, byte [rsp + 0x3dc]
test eax, eax
je 0x18009e046
mov byte [rsp + 0xbd], 1
jmp 0x18009e04e
mov byte [rsp + 0xbd], 0
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0x93], al
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009e079
mov dl, 1
mov ecx, 0x224
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e098
movzx eax, byte [rsp + 0xff]
test eax, eax
je 0x18009e0ed
mov dl, 1
mov ecx, 0x209
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e0ed
movzx eax, byte [rsp + 0x89]
test eax, eax
jne 0x18009e0ed
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e0e3
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009e0cc
mov dword [rsp + 0x3e0], 1
jmp 0x18009e0d7
mov dword [rsp + 0x3e0], 0
movzx eax, byte [rsp + 0x3e0]
test eax, eax
je 0x18009e0ed
mov byte [rsp + 0xbe], 1
jmp 0x18009e0f5
mov byte [rsp + 0xbe], 0
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xf0], al
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009e120
mov dl, 1
mov ecx, 0x237
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e13f
movzx eax, byte [rsp + 0xbf]
test eax, eax
je 0x18009e152
mov dl, 1
mov ecx, 0x209
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e152
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e152
mov byte [rsp + 0xc0], 1
jmp 0x18009e15a
mov byte [rsp + 0xc0], 0
movzx eax, byte [rsp + 0xc0]
mov byte [rsp + 0xf1], al
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009e1a4
mov dl, 1
mov ecx, 0x23b
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e1a4
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e1a4
movzx eax, byte [rsp + 0xcb]
test eax, eax
je 0x18009e1a4
mov byte [rsp + 0xc1], 1
jmp 0x18009e1ac
mov byte [rsp + 0xc1], 0
movzx eax, byte [rsp + 0xc1]
mov byte [rsp + 0xc8], al
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009e1d7
mov dl, 1
mov ecx, 0x23a
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e1f6
movzx eax, byte [rsp + 0x104]
test eax, eax
je 0x18009e215
mov dl, 1
mov ecx, 0x23b
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e215
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e215
movzx eax, byte [rsp + 0xcb]
test eax, eax
je 0x18009e215
mov byte [rsp + 0xc3], 1
jmp 0x18009e21d
mov byte [rsp + 0xc3], 0
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0x108], al
mov dl, 1
mov ecx, 0x20d
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e25c
mov dl, 1
mov ecx, 0x267
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e25c
mov byte [rsp + 0xc4], 0
jmp 0x18009e264
mov byte [rsp + 0xc4], 1
movzx eax, byte [rsp + 0xc4]
mov byte [rsp + 0x105], al
mov edx, 1
xor ecx, ecx
call fcn.18001e5a0
comiss xmm0, dword [0x1800d90cc]
jbe 0x18009e295
mov dword [rsp + 0x3e4], 1
jmp 0x18009e2a0
mov dword [rsp + 0x3e4], 0
movzx eax, byte [rsp + 0x3e4]
test eax, eax
je 0x18009e2bf
mov dl, 1
mov ecx, 0x20c
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e305
mov edx, 1
mov ecx, 2
call fcn.18001e5a0
comiss xmm0, dword [0x1800d90cc]
jbe 0x18009e2e4
mov dword [rsp + 0x3e8], 1
jmp 0x18009e2ef
mov dword [rsp + 0x3e8], 0
movzx eax, byte [rsp + 0x3e8]
test eax, eax
jne 0x18009e305
mov byte [rsp + 0xc5], 0
jmp 0x18009e30d
mov byte [rsp + 0xc5], 1
movzx eax, byte [rsp + 0xc5]
mov byte [rsp + 0x106], al
mov dl, 1
mov ecx, 0x20e
call fcn.180020c40
movzx eax, al
test eax, eax
jne 0x18009e375
mov edx, 1
mov ecx, 1
call fcn.18001e5a0
comiss xmm0, dword [0x1800d90cc]
jbe 0x18009e354
mov dword [rsp + 0x400], 1
jmp 0x18009e35f
mov dword [rsp + 0x400], 0
movzx eax, byte [rsp + 0x400]
test eax, eax
jne 0x18009e375
mov byte [rsp + 0xc6], 0
jmp 0x18009e37d
mov byte [rsp + 0xc6], 1
movzx eax, byte [rsp + 0xc6]
mov byte [rsp + 0x107], al
mov dl, 1
mov ecx, 0x201
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e40d
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18009e3b8
mov dword [rsp + 0x214], 0x200004
jmp 0x18009e3ea
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x18009e3d1
mov dword [rsp + 0x210], 0x20000c
jmp 0x18009e3dc
mov dword [rsp + 0x210], 0x200000
mov eax, dword [rsp + 0x210]
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x214]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x202
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e48e
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18009e439
mov dword [rsp + 0x21c], 0x200005
jmp 0x18009e46b
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x18009e452
mov dword [rsp + 0x218], 0x20000d
jmp 0x18009e45d
mov dword [rsp + 0x218], 0x200001
mov eax, dword [rsp + 0x218]
mov dword [rsp + 0x21c], eax
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x21c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x203
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e579
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e579
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e532
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x60]
subss xmm0, dword [rcx + 0x3b48]
movss dword [rsp + 0x220], xmm0
movss xmm0, dword [rsp + 0x220]
comiss xmm0, dword [0x1800d90cc]
jb 0x18009e50e
movss xmm0, dword [rsp + 0x220]
movss dword [rsp + 0x228], xmm0
jmp 0x18009e51a
xorps xmm0, xmm0
movss dword [rsp + 0x228], xmm0
movss xmm1, dword [rsp + 0x228]
mov rcx, qword [rsp + 0xd8]
call fcn.180033740
jmp 0x18009e574
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18009e54b
mov dword [rsp + 0x22c], 0x200006
jmp 0x18009e556
mov dword [rsp + 0x22c], 0x200002
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x22c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x204
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e67d
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e67d
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e636
call fcn.18001ed60
movss dword [rsp + 0x234], xmm0
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x60]
addss xmm0, dword [rcx + 0x3b48]
movss dword [rsp + 0x230], xmm0
movss xmm0, dword [rsp + 0x234]
comiss xmm0, dword [rsp + 0x230]
jbe 0x18009e60c
movss xmm0, dword [rsp + 0x230]
movss dword [rsp + 0x238], xmm0
jmp 0x18009e61e
movss xmm0, dword [rsp + 0x234]
movss dword [rsp + 0x238], xmm0
movss xmm1, dword [rsp + 0x238]
mov rcx, qword [rsp + 0xd8]
call fcn.180033740
jmp 0x18009e678
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x18009e64f
mov dword [rsp + 0x23c], 0x200007
jmp 0x18009e65a
mov dword [rsp + 0x23c], 0x200003
mov eax, dword [rsp + 0x9c]
mov ecx, dword [rsp + 0x23c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x205
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e6e5
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e6e5
mov eax, dword [rsp + 0x9c]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
cvtsi2ss xmm0, dword [rsp + 0x1a8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss xmm1, dword [rsp + 0x98]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x206
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e74d
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e74d
mov eax, dword [rsp + 0x9c]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
cvtsi2ss xmm0, dword [rsp + 0x1a8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss xmm1, dword [rsp + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x207
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e7b1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e788
mov eax, dword [rsp + 0x9c]
or eax, 0x200006
mov dword [rsp + 0x240], eax
jmp 0x18009e79b
mov eax, dword [rsp + 0x9c]
or eax, 0x200004
mov dword [rsp + 0x240], eax
mov edx, dword [rsp + 0x240]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x208
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e815
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e7ec
mov eax, dword [rsp + 0x9c]
or eax, 0x200007
mov dword [rsp + 0x244], eax
jmp 0x18009e7ff
mov eax, dword [rsp + 0x9c]
or eax, 0x200005
mov dword [rsp + 0x244], eax
mov edx, dword [rsp + 0x244]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x20a
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e85a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e85a
movzx eax, byte [rsp + 0x93]
test eax, eax
jne 0x18009e85a
mov eax, dword [rsp + 0x9c]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
mov dl, 1
mov ecx, 0x20b
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009e942
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009e942
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009e89d
mov dword [rsp + 0x248], 1
jmp 0x18009e8a8
mov dword [rsp + 0x248], 0
movzx eax, byte [rsp + 0x248]
test eax, eax
jne 0x18009e925
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x18009e8d1
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009e925
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x18009e925
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0f]
test eax, eax
je 0x18009e925
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0e]
test eax, eax
jne 0x18009e925
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
jne 0x18009e925
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov eax, dword [rsp + 0x9c]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
movzx eax, byte [rsp + 0x105]
test eax, eax
je 0x18009ea40
mov eax, dword [rsp + 0xbd8]
and eax, 0x800
test eax, eax
je 0x18009e96f
mov dword [rsp + 0x24c], 1
jmp 0x18009e97a
mov dword [rsp + 0x24c], 0
movzx eax, byte [rsp + 0x24c]
mov byte [rsp + 0xc7], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009e9d0
movzx eax, byte [rsp + 0xc7]
test eax, eax
je 0x18009e9b1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e9d0
movzx eax, byte [rsp + 0xc7]
test eax, eax
jne 0x18009e9e3
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xd0c]
test eax, eax
je 0x18009e9e3
mov byte [rsp + 0x73], 1
movzx eax, byte [rsp + 0x73]
mov byte [rsp + 0x8f], al
jmp 0x18009ea3b
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009ea3b
mov dword [rsp + 0x250], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0xbe8]
mov r8, qword [rsp + 0xbe0]
mov edx, dword [rsp + 0xbd8]
lea rcx, [rsp + 0x250]
call fcn.1800a1910
movzx eax, al
test eax, eax
je 0x18009ea3b
mov edx, dword [rsp + 0x250]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
jmp 0x18009ef70
movzx eax, byte [rsp + 0x106]
test eax, eax
je 0x18009ea62
mov byte [rsp + 0x73], 1
movzx eax, byte [rsp + 0x73]
mov byte [rsp + 0x8f], al
jmp 0x18009ef70
movzx eax, byte [rsp + 0x107]
test eax, eax
je 0x18009ea87
mov byte [rsp + 0x8d], 1
movzx eax, byte [rsp + 0x8d]
mov byte [rsp + 0x73], al
jmp 0x18009ef70
movzx eax, byte [rsp + 0xc8]
test eax, eax
jne 0x18009ea9f
movzx eax, byte [rsp + 0x108]
test eax, eax
je 0x18009eaf9
movzx eax, byte [rsp + 0xc8]
test eax, eax
je 0x18009eab8
mov dword [rsp + 0x254], 0x20000a
jmp 0x18009eac3
mov dword [rsp + 0x254], 0x20000b
mov edx, dword [rsp + 0x254]
mov rcx, qword [rsp + 0x58]
call fcn.1800a2ab0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x4c]
mov dword [rax + 0x54], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
mov dword [rax + 0x50], ecx
jmp 0x18009ef70
movzx eax, byte [rsp + 0x74]
test eax, eax
je 0x18009eb30
mov dl, 1
mov ecx, 0x222
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009eb30
mov rcx, qword [rsp + 0x58]
call fcn.1800a4960
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x18009ef70
movzx eax, byte [rsp + 0x93]
test eax, eax
jne 0x18009eb4c
movzx eax, byte [rsp + 0xf0]
test eax, eax
je 0x18009ede0
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0xa8], 0
je 0x18009ed6d
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009eb81
mov dword [rsp + 0x258], 1
jmp 0x18009eb8c
mov dword [rsp + 0x258], 0
movzx eax, byte [rsp + 0x258]
test eax, eax
je 0x18009ebf4
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x268], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x260], eax
mov eax, dword [rsp + 0x268]
cmp dword [rsp + 0x260], eax
jge 0x18009ebd6
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x270], eax
jmp 0x18009ebe4
mov eax, dword [rsp + 0x268]
mov dword [rsp + 0x270], eax
mov eax, dword [rsp + 0x270]
mov dword [rsp + 0x274], eax
jmp 0x18009ebff
mov dword [rsp + 0x274], 0
mov eax, dword [rsp + 0x274]
mov dword [rsp + 0x29c], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009ec2c
mov dword [rsp + 0x278], 1
jmp 0x18009ec37
mov dword [rsp + 0x278], 0
movzx eax, byte [rsp + 0x278]
test eax, eax
je 0x18009ec9f
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x288], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x280], eax
mov eax, dword [rsp + 0x288]
cmp dword [rsp + 0x280], eax
jl 0x18009ec81
mov eax, dword [rsp + 0x280]
mov dword [rsp + 0x290], eax
jmp 0x18009ec8f
mov eax, dword [rsp + 0x288]
mov dword [rsp + 0x290], eax
mov eax, dword [rsp + 0x290]
mov dword [rsp + 0x294], eax
jmp 0x18009ecae
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x294], eax
mov eax, dword [rsp + 0x294]
mov dword [rsp + 0x298], eax
movsxd rax, dword [rsp + 0x298]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x29c]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.180020430
inc eax
mov dword [rsp + 0x2a0], eax
movsxd rax, dword [rsp + 0x2a0]
mov rcx, rax
call fcn.180022d90
mov qword [rsp + 0x650], rax
movsxd rax, dword [rsp + 0x298]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x29c]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov r9, rax
mov r8, rcx
mov edx, dword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x650]
call fcn.180020610
mov rcx, qword [rsp + 0x650]
call fcn.1800313d0
mov rcx, qword [rsp + 0x650]
call fcn.180022df0
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x18009eddb
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009ed98
mov dword [rsp + 0x2a4], 1
jmp 0x18009eda3
mov dword [rsp + 0x2a4], 0
movzx eax, byte [rsp + 0x2a4]
test eax, eax
jne 0x18009edb9
mov rcx, qword [rsp + 0x58]
call fcn.1800a4960
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800af2a0
jmp 0x18009ef70
movzx eax, byte [rsp + 0xf1]
test eax, eax
je 0x18009ef70
call fcn.18001cf50
mov qword [rsp + 0x658], rax
cmp qword [rsp + 0x658], 0
je 0x18009ef70
mov rcx, qword [rsp + 0x658]
call fcn.1800b6780
mov dword [rsp + 0x5d4], eax
mov eax, dword [rsp + 0x5d4]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.180022d90
mov qword [rsp + 0x458], rax
mov dword [rsp + 0x120], 0
mov rax, qword [rsp + 0x658]
mov qword [rsp + 0x450], rax
mov rax, qword [rsp + 0x450]
movsx eax, byte [rax]
test eax, eax
je 0x18009ef11
xor r8d, r8d
mov rdx, qword [rsp + 0x450]
lea rcx, [rsp + 0x1d0]
call fcn.18001fd70
cdqe
mov rcx, qword [rsp + 0x450]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x450], rax
cmp dword [rsp + 0x1d0], 0
jne 0x18009eea8
jmp 0x18009ef11
mov dword [rsp + 0x20], 4
mov r9, qword [rsp + 0xbe8]
mov r8, qword [rsp + 0xbe0]
mov edx, dword [rsp + 0xbd8]
lea rcx, [rsp + 0x1d0]
call fcn.1800a1910
movzx eax, al
test eax, eax
jne 0x18009eee0
jmp 0x18009ee59
movsxd rax, dword [rsp + 0x120]
mov rcx, qword [rsp + 0x458]
movzx edx, word [rsp + 0x1d0]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x120]
inc eax
mov dword [rsp + 0x120], eax
jmp 0x18009ee59
movsxd rax, dword [rsp + 0x120]
xor ecx, ecx
mov rdx, qword [rsp + 0x458]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x120], 0
jle 0x18009ef63
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x120]
mov r8, qword [rsp + 0x458]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800b0e20
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x458]
call fcn.180022df0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx + 0x54]
cmp dword [rax + 0x50], ecx
je 0x18009ef8f
mov dword [rsp + 0x2a8], 1
jmp 0x18009ef9a
mov dword [rsp + 0x2a8], 0
movzx eax, byte [rsp + 0x2a8]
test eax, eax
je 0x18009efc2
xor eax, eax
test eax, eax
jne 0x18009efb5
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18009efc2
mov dword [rsp + 0x2ac], 1
jmp 0x18009efcd
mov dword [rsp + 0x2ac], 0
movzx eax, byte [rsp + 0x70]
or eax, dword [rsp + 0x2ac]
mov byte [rsp + 0x70], al
mov qword [rsp + 0x178], 0
mov dword [rsp + 0xd4], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009f7ae
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x18009f16c
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009f16c
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x38]
mov rcx, qword [rsp + 0xbc0]
call fcn.1800c4f20
test eax, eax
je 0x18009f16c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xd4], eax
mov dword [rsp + 0x474], 0
mov dword [rsp + 0x470], 0
mov qword [rsp + 0x478], 0
cmp dword [rsp + 0xd4], 0
jle 0x18009f107
movsxd rax, dword [rsp + 0xd4]
mov rcx, qword [rsp + 0x178]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x178]
call fcn.180020380
inc eax
mov edx, eax
lea rcx, [rsp + 0x470]
call fcn.18003df20
movsxd rax, dword [rsp + 0xd4]
mov rcx, qword [rsp + 0x178]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x178]
mov edx, dword [rsp + 0x470]
mov rcx, qword [rsp + 0x478]
call fcn.180020520
cmp dword [rsp + 0xd4], 0
jle 0x18009f123
mov eax, dword [rsp + 0x470]
dec eax
mov dword [rsp + 0x2b0], eax
jmp 0x18009f12e
mov dword [rsp + 0x2b0], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x2b0]
mov r8, qword [rsp + 0x478]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1800b0f50
cmp qword [rsp + 0x478], 0
je 0x18009f16c
mov rcx, qword [rsp + 0x478]
call fcn.180022df0
movzx eax, byte [rsp + 0x8d]
test eax, eax
je 0x18009f19f
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x18009f192
mov eax, dword [rsp + 0xbd8]
and eax, 0x20
test eax, eax
jne 0x18009f19f
mov dword [rsp + 0x2b4], 0
jmp 0x18009f1aa
mov dword [rsp + 0x2b4], 1
movzx eax, byte [rsp + 0x2b4]
mov byte [rsp + 0xf2], al
movzx eax, byte [rsp + 0xf2]
test eax, eax
je 0x18009f79f
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009f22c
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x860], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x860]
call fcn.18003de90
xor r9d, r9d
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x18]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x20]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.180020610
mov eax, dword [rsp + 0xbd8]
and eax, 0x801c0
test eax, eax
je 0x18009f75c
mov dword [rsp + 0x100], 0
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0xbd8]
and eax, 0x40
test eax, eax
je 0x18009f292
mov dl, 1
mov ecx, 0x200
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009f292
mov dword [rsp + 0x100], 0x40
mov dword [rsp + 0x16c], 0x200
jmp 0x18009f353
mov eax, dword [rsp + 0xbd8]
and eax, 0x80
test eax, eax
je 0x18009f2d0
mov dl, 1
mov ecx, 0x203
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009f2d0
mov dword [rsp + 0x100], 0x80
mov dword [rsp + 0x16c], 0x203
jmp 0x18009f353
mov eax, dword [rsp + 0xbd8]
and eax, 0x80
test eax, eax
je 0x18009f30b
mov dl, 1
mov ecx, 0x204
call fcn.180020c40
movzx eax, al
test eax, eax
je 0x18009f30b
mov dword [rsp + 0x100], 0x80
mov dword [rsp + 0x16c], 0x204
jmp 0x18009f353
mov eax, dword [rsp + 0xbd8]
and eax, 0x80000
test eax, eax
je 0x18009f338
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x18009f338
mov dword [rsp + 0x100], 0x80000
jmp 0x18009f353
mov eax, dword [rsp + 0xbd8]
and eax, 0x100
test eax, eax
je 0x18009f353
mov dword [rsp + 0x100], 0x100
cmp dword [rsp + 0x100], 0
je 0x18009f75c
lea rcx, [rsp + 0x418]
call fcn.180092150
mov r8d, 0x38
xor edx, edx
lea rcx, [rsp + 0x418]
call fcn.1800d5c20
mov eax, dword [rsp + 0x100]
mov dword [rsp + 0x418], eax
mov eax, dword [rsp + 0xbd8]
mov dword [rsp + 0x41c], eax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0x420], rax
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18009f3ca
mov rax, qword [rsp + 0xbc0]
mov qword [rsp + 0x750], rax
jmp 0x18009f3db
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x750], rax
mov rax, qword [rsp + 0x750]
mov qword [rsp + 0x760], rax
mov eax, dword [rsp + 0x16c]
mov dword [rsp + 0x42c], eax
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x430], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x438], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x43c], eax
mov byte [rsp + 0x440], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1f8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1f8]
call fcn.180020430
mov dword [rsp + 0x444], eax
mov eax, dword [rsp + 0x444]
mov dword [rsp + 0x5d8], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x1f8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1f8]
call fcn.180020430
mov dword [rsp + 0x448], eax
mov eax, dword [rsp + 0x448]
mov dword [rsp + 0x5dc], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x1f8]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x1f8]
call fcn.180020430
mov dword [rsp + 0x44c], eax
mov eax, dword [rsp + 0x44c]
mov dword [rsp + 0x5e0], eax
mov rax, qword [rsp + 0xbe0]
mov qword [rsp + 0x868], rax
lea rcx, [rsp + 0x418]
call qword [rsp + 0x868]
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x18009f528
mov rax, qword [rsp + 0xbc0]
mov qword [rsp + 0x758], rax
jmp 0x18009f539
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x758], rax
mov rax, qword [rsp + 0x758]
mov qword [rsp + 0x760], rax
movzx eax, byte [rsp + 0x440]
mov byte [rsp + 0x8e], al
mov eax, dword [rsp + 0x5d8]
cmp dword [rsp + 0x444], eax
jne 0x18009f574
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x18009f5ae
movsxd rax, dword [rsp + 0x444]
mov rcx, qword [rsp + 0x430]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x430]
call fcn.180020380
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x5dc]
cmp dword [rsp + 0x448], eax
jne 0x18009f5ca
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x18009f627
mov eax, dword [rsp + 0x444]
cmp dword [rsp + 0x448], eax
jne 0x18009f5eb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x2b8], eax
jmp 0x18009f618
movsxd rax, dword [rsp + 0x448]
mov rcx, qword [rsp + 0x430]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x430]
call fcn.180020380
mov dword [rsp + 0x2b8], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2b8]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x5e0]
cmp dword [rsp + 0x44c], eax
jne 0x18009f643
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x18009f6a0
mov eax, dword [rsp + 0x448]
cmp dword [rsp + 0x44c], eax
jne 0x18009f664
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x2bc], eax
jmp 0x18009f691
movsxd rax, dword [rsp + 0x44c]
mov rcx, qword [rsp + 0x430]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x430]
call fcn.180020380
mov dword [rsp + 0x2bc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x2bc]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x18009f75c
mov eax, dword [rsp + 0x1cc]
cmp dword [rsp + 0x438], eax
jle 0x18009f706
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x18009f706
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x870], rax
mov eax, dword [rsp + 0x1cc]
mov ecx, dword [rsp + 0x438]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x870]
call fcn.18003df20
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x430]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.180020520
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x438]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x58]
movss xmm0, dword [0x1800dc934]
movss dword [rax + 0xe78], xmm0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x18009f79f
mov rdx, qword [rsp + 0xbc0]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x28]
call fcn.1800c4f20
test eax, eax
je 0x18009f79f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
cmp qword [rsp + 0x178], 0
je 0x18009f95c
movzx eax, byte [rsp + 0x94]
test eax, eax
je 0x18009f8f6
lea rcx, [rsp + 0xa00]
call fcn.180092150
mov dword [rsp + 0xa00], 0x40000
mov eax, dword [rsp + 0xbd8]
mov dword [rsp + 0xa04], eax
mov rax, qword [rsp + 0xbc0]
mov qword [rsp + 0xa18], rax
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0xa20], eax
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0x2c0], eax
mov eax, dword [rsp + 0x2c0]
cmp dword [rsp + 0xbc8], eax
jl 0x18009f841
mov eax, dword [rsp + 0xbc8]
mov dword [rsp + 0x2c8], eax
jmp 0x18009f84f
mov eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x2c8], eax
mov eax, dword [rsp + 0x2c8]
mov dword [rsp + 0xa24], eax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0xa08], rax
mov rax, qword [rsp + 0xbe0]
mov qword [rsp + 0x878], rax
lea rcx, [rsp + 0xa00]
call qword [rsp + 0x878]
mov rax, qword [rsp + 0xa18]
mov qword [rsp + 0xbc0], rax
mov eax, dword [rsp + 0xa24]
mov dword [rsp + 0xbc8], eax
mov eax, dword [rsp + 0xbc8]
dec eax
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x2d0]
cmp dword [rsp + 0xa20], eax
jge 0x18009f8da
mov eax, dword [rsp + 0xa20]
mov dword [rsp + 0x2d8], eax
jmp 0x18009f8e8
mov eax, dword [rsp + 0x2d0]
mov dword [rsp + 0x2d8], eax
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
inc eax
mov dword [rsp + 0x2e0], eax
mov eax, dword [rsp + 0xbc8]
cmp dword [rsp + 0x2e0], eax
jge 0x18009f926
mov eax, dword [rsp + 0x2e0]
mov dword [rsp + 0x2e8], eax
jmp 0x18009f934
mov eax, dword [rsp + 0xbc8]
mov dword [rsp + 0x2e8], eax
movsxd rax, dword [rsp + 0x2e8]
mov r8, rax
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xbc0]
call fcn.18001fd10
mov byte [rsp + 0x95], 1
movzx eax, byte [rsp + 0x73]
test eax, eax
je 0x18009f97b
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x18009f97b
call fcn.180018510
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x18009f9f9
mov r8d, 1
mov edx, dword [rsp + 0x78]
lea rcx, [rsp + 0x158]
call fcn.18002c890
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rax + 0x44]
movss dword [rsp + 0x5e4], xmm0
movss xmm1, dword [0x1800d90c8]
mov ecx, 7
call fcn.18001d1b0
mov dword [rsp + 0x5e8], eax
movss xmm0, dword [rsp + 0x5e4]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x5e8]
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x158]
call fcn.18002c3a0
movss xmm0, dword [rsp + 0x15c]
addss xmm0, dword [rsp + 0x12c]
movss dword [rsp + 0x608], xmm0
movss xmm0, dword [rsp + 0x158]
addss xmm0, dword [rsp + 0x128]
movss dword [rsp + 0x600], xmm0
movss xmm0, dword [rsp + 0x15c]
movss dword [rsp + 0x5f8], xmm0
movss xmm0, dword [rsp + 0x158]
movss dword [rsp + 0x5f0], xmm0
movss xmm0, dword [rsp + 0x5f0]
movss dword [rsp + 0x408], xmm0
movss xmm0, dword [rsp + 0x5f8]
movss dword [rsp + 0x40c], xmm0
movss xmm0, dword [rsp + 0x600]
movss dword [rsp + 0x410], xmm0
movss xmm0, dword [rsp + 0x608]
movss dword [rsp + 0x414], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009fad0
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0xd8]
mov qword [rsp + 0x880], rax
lea rax, [rsp + 0x880]
mov qword [rsp + 0x778], rax
jmp 0x18009fb55
mov rax, qword [rsp + 0xe8]
add rax, 0x3c
mov qword [rsp + 0x768], rax
mov rax, qword [rsp + 0x768]
movss xmm0, dword [rsp + 0x15c]
addss xmm0, dword [rax + 4]
movss dword [rsp + 0x618], xmm0
mov rax, qword [rsp + 0x768]
movss xmm0, dword [rsp + 0x158]
addss xmm0, dword [rax]
movss dword [rsp + 0x610], xmm0
movss xmm0, dword [rsp + 0x610]
movss dword [rsp + 0x770], xmm0
movss xmm0, dword [rsp + 0x618]
movss dword [rsp + 0x774], xmm0
lea rax, [rsp + 0x770]
mov qword [rsp + 0x778], rax
mov rax, qword [rsp + 0x778]
mov qword [rsp + 0x888], rax
mov rax, qword [rsp + 0x888]
mov rax, qword [rax]
mov qword [rsp + 0x130], rax
xorps xmm0, xmm0
movss dword [rsp + 0x208], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x20c], xmm0
mov dword [rsp + 0x968], 0x200000
movzx eax, byte [rsp + 0xc9]
test eax, eax
je 0x18009fbba
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x780], rax
jmp 0x18009fbca
mov rax, qword [rsp + 0xbc0]
mov qword [rsp + 0x780], rax
mov rax, qword [rsp + 0x780]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 0
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x18009fc24
mov rax, qword [rsp + 0xbb8]
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0xbb8]
call fcn.1800b6780
mov eax, eax
mov rcx, qword [rsp + 0xbb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x18009fc3a
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1800a1138
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x18009fc62
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x138]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x1d8], rax
xorps xmm0, xmm0
movss dword [rsp + 0x11c], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x118], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x3fc], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x3f8], xmm0
mov qword [rsp + 0x480], 0
mov qword [rsp + 0x488], 0
mov dword [rsp + 0x110], 0xfffffc18
mov dword [rsp + 0x114], 0xfffffc18
mov dword [rsp + 0xa0], 0
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x18009fd2f
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x1d8]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x480], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0x110], 0xffffffff
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x18009fdd1
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x2f8], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x2f0], eax
mov eax, dword [rsp + 0x2f8]
cmp dword [rsp + 0x2f0], eax
jge 0x18009fd7a
mov eax, dword [rsp + 0x2f0]
mov dword [rsp + 0x39c], eax
jmp 0x18009fd88
mov eax, dword [rsp + 0x2f8]
mov dword [rsp + 0x39c], eax
movsxd rax, dword [rsp + 0x39c]
mov rcx, qword [rsp + 0x1d8]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x480], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0x110], 0xffffffff
mov eax, dword [rsp + 0xa0]
inc eax
mov dword [rsp + 0xa0], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x18009fde7
mov dword [rsp + 0x304], 1
jmp 0x18009fdf2
mov dword [rsp + 0x304], 0
mov eax, dword [rsp + 0x304]
mov ecx, dword [rsp + 0xa0]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xe0], 0
mov rax, qword [rsp + 0x1d8]
mov qword [rsp + 0x200], rax
jmp 0x18009fe3c
mov rax, qword [rsp + 0x200]
add rax, 2
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x200]
movzx eax, word [rax]
test eax, eax
je 0x18009ff3a
mov rax, qword [rsp + 0x200]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x18009ff35
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x110], 0xffffffff
jne 0x18009fed4
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x480]
cmp qword [rsp + 0x200], rax
jb 0x18009fed4
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0x110], ecx
mov eax, dword [rsp + 0xa0]
dec eax
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
jg 0x18009fed4
jmp 0x18009ff3a
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x110], 0xffffffff
jne 0x18009ff35
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x480]
cmp qword [rsp + 0x200], rax
jb 0x18009ff35
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0x110], ecx
mov eax, dword [rsp + 0xa0]
dec eax
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
jg 0x18009ff35
jmp 0x18009ff3a
jmp 0x18009fe28
mov eax, dword [rsp + 0xe0]
inc eax
mov dword [rsp + 0xe0], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0x110], 0xffffffff
jne 0x18009ff74
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0x110], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x110], 0xffffffff
jne 0x18009ff9e
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xe0]
mov dword [rsp + rax + 0x110], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x480]
mov qword [rsp + 0x890], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + rax + 0x480]
call fcn.18001fb10
mov qword [rsp + 0x898], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x890]
mov rdx, qword [rsp + 0x898]
lea rcx, [rsp + 0xb30]
call fcn.18009bf80
movss xmm0, dword [rax]
movss dword [rsp + 0x118], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0x110]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x11c], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0x110], 0
jl 0x1800a00f9
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x480]
mov qword [rsp + 0x8a0], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x1d8]
mov rcx, qword [rsp + rax + 0x480]
call fcn.18001fb10
mov qword [rsp + 0x8a8], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x8a0]
mov rdx, qword [rsp + 0x8a8]
lea rcx, [rsp + 0xb38]
call fcn.18009bf80
movss xmm0, dword [rax]
movss dword [rsp + 0x3f8], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0x110]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x3fc], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a0155
cvtsi2ss xmm0, dword [rsp + 0xe0]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x620], xmm0
movss xmm0, dword [rsp + 0x128]
movss dword [rsp + 0x788], xmm0
movss xmm0, dword [rsp + 0x620]
movss dword [rsp + 0x78c], xmm0
mov rax, qword [rsp + 0x788]
mov qword [rsp + 0x208], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1800a04d9
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x1800a04d9
mov eax, dword [rsp + 0xbd8]
and eax, 0x1000
test eax, eax
jne 0x1800a0284
movss xmm0, dword [rsp + 0x128]
mulss xmm0, dword [0x1800da2d4]
movss dword [rsp + 0x318], xmm0
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rsp + 0x128]
subss xmm0, dword [rax + 0x3c]
movss dword [rsp + 0x314], xmm0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x48]
comiss xmm0, dword [rsp + 0x118]
jbe 0x1800a0238
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x318]
movss dword [rsp + 0x308], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x308]
jb 0x1800a020d
xorps xmm0, xmm0
movss dword [rsp + 0x310], xmm0
jmp 0x1800a021f
movss xmm0, dword [rsp + 0x308]
movss dword [rsp + 0x310], xmm0
cvttss2si eax, dword [rsp + 0x310]
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x1800a0282
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x314]
mov rax, qword [rsp + 0x58]
comiss xmm0, dword [rax + 0x48]
jb 0x1800a0282
movss xmm0, dword [rsp + 0x118]
subss xmm0, dword [rsp + 0x314]
addss xmm0, dword [rsp + 0x318]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x1800a0291
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a04cd
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3b48]
movss xmm1, dword [rsp + 0x98]
comiss xmm1, xmm0
jbe 0x1800a0322
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x320], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x320]
jb 0x1800a02fc
xorps xmm0, xmm0
movss dword [rsp + 0x328], xmm0
jmp 0x1800a030e
movss xmm0, dword [rsp + 0x320]
movss dword [rsp + 0x328], xmm0
movss xmm0, dword [rsp + 0x328]
movss dword [rsp + 0x98], xmm0
jmp 0x1800a0395
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1800d90e4]
movss xmm1, dword [rsp + 0x12c]
subss xmm1, xmm0
movaps xmm0, xmm1
movss xmm1, dword [rsp + 0x11c]
subss xmm1, xmm0
movaps xmm0, xmm1
comiss xmm0, dword [rsp + 0x98]
jb 0x1800a0395
movss xmm0, dword [rsp + 0x11c]
subss xmm0, dword [rsp + 0x12c]
mov rax, qword [rsp + 0xe8]
movss xmm1, dword [rax + 0x40]
mulss xmm1, dword [0x1800d90e4]
addss xmm0, xmm1
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rax + 0x40]
mulss xmm0, dword [0x1800d90e4]
movss xmm1, dword [rsp + 0x20c]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x12c]
movss dword [rsp + 0x330], xmm0
movss xmm0, dword [rsp + 0x330]
comiss xmm0, dword [0x1800d90cc]
jb 0x1800a03f2
movss xmm0, dword [rsp + 0x330]
movss dword [rsp + 0x338], xmm0
jmp 0x1800a03fe
xorps xmm0, xmm0
movss dword [rsp + 0x338], xmm0
movss xmm0, dword [rsp + 0x338]
movss dword [rsp + 0x33c], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x98]
jbe 0x1800a042b
xorps xmm0, xmm0
movss dword [rsp + 0x344], xmm0
jmp 0x1800a0476
movss xmm0, dword [rsp + 0x98]
comiss xmm0, dword [rsp + 0x33c]
jbe 0x1800a0452
movss xmm0, dword [rsp + 0x33c]
movss dword [rsp + 0x340], xmm0
jmp 0x1800a0464
movss xmm0, dword [rsp + 0x98]
movss dword [rsp + 0x340], xmm0
movss xmm0, dword [rsp + 0x340]
movss dword [rsp + 0x344], xmm0
movss xmm0, dword [rsp + 0x344]
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rax + 0x60]
subss xmm0, dword [rsp + 0x98]
movss xmm1, dword [rsp + 0x134]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x134], xmm0
mov rax, qword [rsp + 0xd8]
movss xmm0, dword [rsp + 0x98]
movss dword [rax + 0x60], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x48]
movss dword [rsp + 0x628], xmm0
movss xmm0, dword [rsp + 0x628]
movss dword [rsp + 0x180], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x184], xmm0
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1800a0b36
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x350], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x348], eax
mov eax, dword [rsp + 0x350]
cmp dword [rsp + 0x348], eax
jge 0x1800a0555
mov eax, dword [rsp + 0x348]
mov dword [rsp + 0x358], eax
jmp 0x1800a0563
mov eax, dword [rsp + 0x350]
mov dword [rsp + 0x358], eax
movsxd rax, dword [rsp + 0x358]
mov rcx, qword [rsp + 0x1d8]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x8b0], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x54]
mov dword [rsp + 0x368], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x360], eax
mov eax, dword [rsp + 0x368]
cmp dword [rsp + 0x360], eax
jl 0x1800a05bd
mov eax, dword [rsp + 0x360]
mov dword [rsp + 0x370], eax
jmp 0x1800a05cb
mov eax, dword [rsp + 0x368]
mov dword [rsp + 0x370], eax
movsxd rax, dword [rsp + 0x370]
mov rcx, qword [rsp + 0x1d8]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x668], rax
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1800a0603
movss xmm0, dword [0x1800d90c8]
movss dword [rsp + 0x374], xmm0
jmp 0x1800a0614
movss xmm0, dword [0x1800d9c24]
movss dword [rsp + 0x374], xmm0
movss xmm1, dword [rsp + 0x374]
mov ecx, 0x2f
call fcn.18001d1b0
mov dword [rsp + 0x4b8], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a0645
xorps xmm0, xmm0
movss dword [rsp + 0x378], xmm0
jmp 0x1800a0656
movss xmm0, dword [0x1800d9cbc]
movss dword [rsp + 0x378], xmm0
movss xmm0, dword [rsp + 0x378]
movss dword [rsp + 0x498], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a067f
xorps xmm0, xmm0
movss dword [rsp + 0x37c], xmm0
jmp 0x1800a0690
movss xmm0, dword [0x1800d90e4]
movss dword [rsp + 0x37c], xmm0
movss xmm0, dword [rsp + 0x37c]
movss dword [rsp + 0x6b8], xmm0
movss xmm0, dword [rsp + 0x134]
addss xmm0, dword [rsp + 0x3fc]
movss dword [rsp + 0x638], xmm0
movss xmm0, dword [rsp + 0x130]
addss xmm0, dword [rsp + 0x3f8]
movss dword [rsp + 0x630], xmm0
movss xmm0, dword [rsp + 0x630]
movss dword [rsp + 0x660], xmm0
movss xmm0, dword [rsp + 0x638]
movss dword [rsp + 0x664], xmm0
movss xmm0, dword [rsp + 0x664]
subss xmm0, dword [rsp + 0x184]
movss dword [rsp + 0x6a0], xmm0
movss xmm0, dword [rsp + 0x660]
subss xmm0, dword [rsp + 0x180]
movss dword [rsp + 0x640], xmm0
movss xmm0, dword [rsp + 0x640]
movss dword [rsp + 0x148], xmm0
movss xmm0, dword [rsp + 0x6a0]
movss dword [rsp + 0x14c], xmm0
mov rax, qword [rsp + 0x8b0]
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x668]
cmp qword [rsp + 0x1e0], rax
jae 0x1800a0b36
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x414]
addss xmm0, dword [rax + 0x3b48]
movss xmm1, dword [rsp + 0x14c]
comiss xmm1, xmm0
jbe 0x1800a07a5
jmp 0x1800a0b36
movss xmm0, dword [rsp + 0x40c]
comiss xmm0, dword [rsp + 0x14c]
jbe 0x1800a0803
mov rax, qword [rsp + 0x668]
cmp qword [rsp + 0x1e0], rax
jae 0x1800a07fe
mov rax, qword [rsp + 0x1e0]
movzx eax, word [rax]
mov dword [rsp + 0x6a8], eax
mov rax, qword [rsp + 0x1e0]
add rax, 2
mov qword [rsp + 0x1e0], rax
cmp dword [rsp + 0x6a8], 0xa
jne 0x1800a07fc
jmp 0x1800a07fe
jmp 0x1800a07b8
jmp 0x1800a0af7
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x1e0]
mov r8, qword [rsp + 0x668]
mov rdx, qword [rsp + 0x1e0]
lea rcx, [rsp + 0x678]
call fcn.18009bf80
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x678]
jb 0x1800a08dd
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov qword [rsp + 0x670], rax
mov eax, 0x20
movzx eax, ax
mov rcx, qword [rsp + 0x670]
cmp eax, dword [rcx]
jge 0x1800a08a5
mov rax, qword [rsp + 0x670]
mov qword [rsp + 0x8b8], rax
mov eax, 0x20
movzx eax, ax
cdqe
mov rcx, qword [rsp + 0x8b8]
mov rcx, qword [rcx + 8]
movss xmm0, dword [rcx + rax*4]
movss dword [rsp + 0x380], xmm0
jmp 0x1800a08bb
mov rax, qword [rsp + 0x670]
movss xmm0, dword [rax + 0x10]
movss dword [rsp + 0x380], xmm0
movss xmm0, dword [rsp + 0x380]
mulss xmm0, dword [0x1800d90dc]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x678], xmm0
movss xmm0, dword [rsp + 0x678]
movss dword [rsp + 0x6b0], xmm0
movss xmm0, dword [rsp + 0x6b0]
movss dword [rsp + 0x680], xmm0
movss xmm0, dword [rsp + 0x6b8]
movss dword [rsp + 0x684], xmm0
movss xmm0, dword [rsp + 0x14c]
addss xmm0, dword [rsp + 0x684]
movss dword [rsp + 0x490], xmm0
movss xmm0, dword [rsp + 0x148]
addss xmm0, dword [rsp + 0x680]
movss dword [rsp + 0x6c0], xmm0
movss xmm0, dword [rsp + 0x6c0]
movss dword [rsp + 0x790], xmm0
movss xmm0, dword [rsp + 0x490]
movss dword [rsp + 0x794], xmm0
lea rax, [rsp + 0x790]
mov qword [rsp + 0x8c8], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x498]
subss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x4a0], xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x688], xmm0
movss xmm0, dword [rsp + 0x4a0]
movss dword [rsp + 0x68c], xmm0
movss xmm0, dword [rsp + 0x14c]
addss xmm0, dword [rsp + 0x68c]
movss dword [rsp + 0x4b0], xmm0
movss xmm0, dword [rsp + 0x148]
addss xmm0, dword [rsp + 0x688]
movss dword [rsp + 0x4a8], xmm0
movss xmm0, dword [rsp + 0x4a8]
movss dword [rsp + 0x798], xmm0
movss xmm0, dword [rsp + 0x4b0]
movss dword [rsp + 0x79c], xmm0
lea rax, [rsp + 0x798]
mov qword [rsp + 0x8c0], rax
mov rax, qword [rsp + 0x8c0]
mov rax, qword [rax]
mov qword [rsp + 0x818], rax
mov rax, qword [rsp + 0x8c8]
mov rax, qword [rax]
mov qword [rsp + 0x820], rax
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0xa38]
call fcn.180010300
lea rdx, [rsp + 0xa38]
lea rcx, [rsp + 0x818]
call fcn.180018760
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0xa48]
call fcn.180010300
lea rdx, [rsp + 0xa48]
lea rcx, [rsp + 0x818]
call fcn.18002aca0
movzx eax, al
test eax, eax
je 0x1800a0af7
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x8d0], rax
mov dword [rsp + 0x28], 0
movss xmm0, dword [0x1800d90c8]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x4b8]
lea r8, [rsp + 0x820]
lea rdx, [rsp + 0x818]
mov rcx, qword [rsp + 0x8d0]
call fcn.180049ba0
movss xmm0, dword [rsp + 0x130]
subss xmm0, dword [rsp + 0x180]
movss dword [rsp + 0x148], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x14c]
addss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x14c], xmm0
jmp 0x1800a0766
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1800a0b61
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x140]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x1800a0ce0
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x1800a0b77
mov dword [rsp + 0x384], 1
jmp 0x1800a0b82
mov dword [rsp + 0x384], 0
movss xmm1, dword [0x1800d90c8]
mov ecx, dword [rsp + 0x384]
call fcn.18001d1b0
mov dword [rsp + 0x4d0], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x8f0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a0bcb
mov qword [rsp + 0x7a8], 0
jmp 0x1800a0bdb
lea rax, [rsp + 0x408]
mov qword [rsp + 0x7a8], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x8d8], rax
movss xmm0, dword [rsp + 0x134]
subss xmm0, dword [rsp + 0x184]
movss dword [rsp + 0x4c8], xmm0
movss xmm0, dword [rsp + 0x130]
subss xmm0, dword [rsp + 0x180]
movss dword [rsp + 0x4c0], xmm0
movss xmm0, dword [rsp + 0x4c0]
movss dword [rsp + 0x7a0], xmm0
movss xmm0, dword [rsp + 0x4c8]
movss dword [rsp + 0x7a4], xmm0
lea rax, [rsp + 0x7a0]
mov qword [rsp + 0x8e0], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x4d4], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x3b40]
mov qword [rsp + 0x8e8], rax
mov rax, qword [rsp + 0x7a8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x8d8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x4d0]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x8e0]
movss xmm2, dword [rsp + 0x4d4]
mov rdx, qword [rsp + 0x8e8]
mov rcx, qword [rsp + 0x8f0]
call fcn.180049c70
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x1800a1133
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
movss xmm0, dword [rax + 0xe78]
addss xmm0, dword [rcx + 0x10]
mov rax, qword [rsp + 0x58]
movss dword [rax + 0xe78], xmm0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x73]
test eax, eax
je 0x1800a0d91
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe78]
jae 0x1800a0d91
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0xe78]
movss dword [rsp + 0x4d8], xmm0
movsd xmm0, qword [0x1800dc8c0]
cvtss2sd xmm1, dword [rsp + 0x4d8]
movsd qword [rsp + 0x8f8], xmm1
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x8f8]
call fcn.1800adbc0
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x1800d9c40]
comiss xmm1, xmm0
jae 0x1800a0d91
mov dword [rsp + 0x388], 0
jmp 0x1800a0d9c
mov dword [rsp + 0x388], 1
movzx eax, byte [rsp + 0x388]
mov byte [rsp + 0xf3], al
movss xmm0, dword [rsp + 0x134]
addss xmm0, dword [rsp + 0x11c]
movss dword [rsp + 0x4e8], xmm0
movss xmm0, dword [rsp + 0x130]
addss xmm0, dword [rsp + 0x118]
movss dword [rsp + 0x4e0], xmm0
movss xmm0, dword [rsp + 0x4e0]
movss dword [rsp + 0x690], xmm0
movss xmm0, dword [rsp + 0x4e8]
movss dword [rsp + 0x694], xmm0
movss xmm0, dword [rsp + 0x694]
subss xmm0, dword [rsp + 0x184]
movss dword [rsp + 0x4f8], xmm0
movss xmm0, dword [rsp + 0x690]
subss xmm0, dword [rsp + 0x180]
movss dword [rsp + 0x4f0], xmm0
movss xmm0, dword [rsp + 0x4f0]
movss dword [rsp + 0x698], xmm0
movss xmm0, dword [rsp + 0x4f8]
movss dword [rsp + 0x69c], xmm0
cvttss2si eax, dword [rsp + 0x69c]
cvtsi2ss xmm0, eax
movss dword [rsp + 0x508], xmm0
cvttss2si eax, dword [rsp + 0x698]
cvtsi2ss xmm0, eax
movss dword [rsp + 0x500], xmm0
movss xmm0, dword [rsp + 0x500]
movss dword [rsp + 0x1e8], xmm0
movss xmm0, dword [rsp + 0x508]
movss dword [rsp + 0x1ec], xmm0
movss xmm0, dword [rsp + 0x1ec]
subss xmm0, dword [0x1800d91b0]
movss dword [rsp + 0x528], xmm0
movss xmm0, dword [rsp + 0x1e8]
addss xmm0, dword [0x1800d90c8]
movss dword [rsp + 0x520], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x1ec]
subss xmm0, dword [rax + 0x3b48]
addss xmm0, dword [0x1800d90dc]
movss dword [rsp + 0x518], xmm0
movss xmm0, dword [rsp + 0x1e8]
movss dword [rsp + 0x510], xmm0
lea rax, [rsp + 0x828]
mov qword [rsp + 0x7b0], rax
mov rax, qword [rsp + 0x7b0]
movss xmm0, dword [rsp + 0x510]
movss dword [rax], xmm0
mov rax, qword [rsp + 0x7b0]
movss xmm0, dword [rsp + 0x518]
movss dword [rax + 4], xmm0
lea rax, [rsp + 0x830]
mov qword [rsp + 0x7b8], rax
mov rax, qword [rsp + 0x7b8]
movss xmm0, dword [rsp + 0x520]
movss dword [rax], xmm0
mov rax, qword [rsp + 0x7b8]
movss xmm0, dword [rsp + 0x528]
movss dword [rax + 4], xmm0
movzx eax, byte [rsp + 0xf3]
test eax, eax
je 0x1800a108f
lea rdx, [rsp + 0x408]
lea rcx, [rsp + 0xa58]
call fcn.180010300
lea rdx, [rsp + 0xa58]
lea rcx, [rsp + 0x828]
call fcn.18002aca0
movzx eax, al
test eax, eax
je 0x1800a108f
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x908], rax
movss xmm1, dword [0x1800d90c8]
xor ecx, ecx
call fcn.18001d1b0
mov dword [rsp + 0x540], eax
movss xmm0, dword [rsp + 0x834]
movss dword [rsp + 0x538], xmm0
movss xmm0, dword [rsp + 0x828]
movss dword [rsp + 0x530], xmm0
movss xmm0, dword [rsp + 0x530]
movss dword [rsp + 0x7c0], xmm0
movss xmm0, dword [rsp + 0x538]
movss dword [rsp + 0x7c4], xmm0
lea rax, [rsp + 0x7c0]
mov qword [rsp + 0x900], rax
movss xmm0, dword [0x1800d90c8]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x540]
mov r8, qword [rsp + 0x900]
lea rdx, [rsp + 0x828]
mov rcx, qword [rsp + 0x908]
call fcn.1800471d0
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1800a1133
mov rax, qword [rsp + 0x68]
mov byte [rax + 0x5288], 1
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x1ec]
subss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x550], xmm0
movss xmm0, dword [rsp + 0x1e8]
subss xmm0, dword [0x1800d90c8]
movss dword [rsp + 0x548], xmm0
movss xmm0, dword [rsp + 0x548]
movss dword [rsp + 0x7c8], xmm0
movss xmm0, dword [rsp + 0x550]
movss dword [rsp + 0x7cc], xmm0
mov rax, qword [rsp + 0x7c8]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x528c], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rcx + 0x3b48]
movss dword [rax + 0x5294], xmm0
jmp 0x1800a131d
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a11a6
lea rdx, [rsp + 0x140]
mov rcx, qword [rsp + 0x138]
call fcn.18009bec0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x3b48]
movss dword [rsp + 0x558], xmm0
movss xmm0, dword [rsp + 0x128]
movss dword [rsp + 0x7d0], xmm0
movss xmm0, dword [rsp + 0x558]
movss dword [rsp + 0x7d4], xmm0
mov rax, qword [rsp + 0x7d0]
mov qword [rsp + 0x208], rax
jmp 0x1800a120f
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x1800a11e1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
cmp dword [rax + 0x3e24], ecx
jne 0x1800a11e1
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x138]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
jmp 0x1800a120f
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x1800a120f
mov rcx, qword [rsp + 0x138]
call fcn.1800b6780
mov eax, eax
mov rcx, qword [rsp + 0x138]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x140], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1800a123a
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x140]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x1800a131d
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x1800a1250
mov dword [rsp + 0x38c], 1
jmp 0x1800a125b
mov dword [rsp + 0x38c], 0
movss xmm1, dword [0x1800d90c8]
mov ecx, dword [rsp + 0x38c]
call fcn.18001d1b0
mov dword [rsp + 0x560], eax
mov rax, qword [rsp + 0xd8]
mov rax, qword [rax + 0x270]
mov qword [rsp + 0x910], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a12a4
mov qword [rsp + 0x7d8], 0
jmp 0x1800a12b4
lea rax, [rsp + 0x408]
mov qword [rsp + 0x7d8], rax
mov rax, qword [rsp + 0x7d8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x560]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x130]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rax + 0x3b48]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x3b40]
mov rcx, qword [rsp + 0x910]
call fcn.180049c70
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1800a1337
movzx eax, byte [rsp + 0x72]
test eax, eax
jne 0x1800a1337
call fcn.18002add0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1800a1452
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rsp + 0x20c]
addss xmm0, dword [rax + 0x40]
movss dword [rsp + 0x570], xmm0
movss xmm0, dword [rsp + 0x208]
movss dword [rsp + 0x568], xmm0
movss xmm0, dword [rsp + 0x568]
movss dword [rsp + 0x7e0], xmm0
movss xmm0, dword [rsp + 0x570]
movss dword [rsp + 0x7e4], xmm0
lea rcx, [rsp + 0x7e0]
call fcn.180097590
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3e88]
mov dword [rsp + 0x578], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3e88]
or eax, 0x101
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x3e88], eax
call fcn.180019670
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x3ea8]
and eax, 0x80
mov ecx, dword [rsp + 0xb50]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0xb50], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x578]
mov dword [rax + 0x3e88], ecx
call fcn.18001a0e0
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x3ea0], 0
jne 0x1800a1452
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x78]
mov dword [rax + 0x3ea0], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xb4c]
mov dword [rax + 0x3ea4], ecx
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xb50]
mov dword [rax + 0x3ea8], ecx
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x5304]
test eax, eax
je 0x1800a1827
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1800a147f
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x1800a1827
lea rax, [rsp + 0xf4]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0xf5]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0xf6]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0xf4]
mov byte [rsp + 0x1c0], al
movzx eax, byte [rsp + 0xf5]
mov byte [rsp + 0x1b8], al
movzx eax, byte [rsp + 0xf6]
mov byte [rsp + 0x1b0], al
movabs rax, 0xb413829f8e6bef3c
mov qword [rsp + 0x918], rax
mov rax, qword [rsp + 0x918]
mov qword [rsp + 0x6d0], rax
movabs rax, 0x6968b21282c9f13e
mov qword [rsp + 0x920], rax
mov rax, qword [rsp + 0x920]
mov qword [rsp + 0x6d8], rax
movabs rax, 0xb413829f8e6bef41
mov qword [rsp + 0x928], rax
mov rax, qword [rsp + 0x928]
mov qword [rsp + 0x9c0], rax
movabs rax, 0x6968b21282c9f13e
mov qword [rsp + 0x930], rax
mov rax, qword [rsp + 0x930]
mov qword [rsp + 0x9c8], rax
xor eax, eax
test eax, eax
je 0x1800a1578
jmp 0x1800a15c8
movdqa xmm0, xmmword [rsp + 0x9c0]
movdqa xmmword [rsp + 0xa80], xmm0
movdqa xmm0, xmmword [rsp + 0x6d0]
movdqa xmmword [rsp + 0xa70], xmm0
movdqa xmm0, xmmword [rsp + 0xa70]
xorps xmm0, xmmword [rsp + 0xa80]
movdqa xmmword [rsp + 0xa90], xmm0
movdqa xmm0, xmmword [rsp + 0xa90]
movdqa xmmword [rsp + 0x6d0], xmm0
xor eax, eax
cmp eax, 1
je 0x1800a15d1
jmp 0x1800a162a
lea rax, [rsp + 0x9d0]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0xab0], xmm0
lea rax, [rsp + 0x6e0]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0xaa0], xmm0
movdqa xmm0, xmmword [rsp + 0xaa0]
xorps xmm0, xmmword [rsp + 0xab0]
movdqa xmmword [rsp + 0xac0], xmm0
lea rax, [rsp + 0x6e0]
movdqa xmm0, xmmword [rsp + 0xac0]
movdqu xmmword [rax], xmm0
lea rax, [rsp + 0x6d0]
mov qword [rsp + 0x958], rax
lea rax, [rsp + 0xf7]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0xf8]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rax, [rsp + 0xf9]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
movzx eax, byte [rsp + 0xf7]
mov byte [rsp + 0x1f0], al
movzx eax, byte [rsp + 0xf8]
mov byte [rsp + 0x188], al
movzx eax, byte [rsp + 0xf9]
mov byte [rsp + 0x190], al
movabs rax, 0xb413829f8e6bef3a
mov qword [rsp + 0x938], rax
mov rax, qword [rsp + 0x938]
mov qword [rsp + 0x6f0], rax
movabs rax, 0x6968b21282c9f13e
mov qword [rsp + 0x940], rax
mov rax, qword [rsp + 0x940]
mov qword [rsp + 0x6f8], rax
movabs rax, 0xb413829f8e6bef41
mov qword [rsp + 0x948], rax
mov rax, qword [rsp + 0x948]
mov qword [rsp + 0x9e0], rax
movabs rax, 0x6968b21282c9f13e
mov qword [rsp + 0x950], rax
mov rax, qword [rsp + 0x950]
mov qword [rsp + 0x9e8], rax
xor eax, eax
test eax, eax
je 0x1800a1733
jmp 0x1800a1783
movdqa xmm0, xmmword [rsp + 0x9e0]
movdqa xmmword [rsp + 0xae0], xmm0
movdqa xmm0, xmmword [rsp + 0x6f0]
movdqa xmmword [rsp + 0xad0], xmm0
movdqa xmm0, xmmword [rsp + 0xad0]
xorps xmm0, xmmword [rsp + 0xae0]
movdqa xmmword [rsp + 0xaf0], xmm0
movdqa xmm0, xmmword [rsp + 0xaf0]
movdqa xmmword [rsp + 0x6f0], xmm0
xor eax, eax
cmp eax, 1
je 0x1800a178c
jmp 0x1800a17e5
lea rax, [rsp + 0x9f0]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0xb10], xmm0
lea rax, [rsp + 0x700]
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0xb00], xmm0
movdqa xmm0, xmmword [rsp + 0xb00]
xorps xmm0, xmmword [rsp + 0xb10]
movdqa xmmword [rsp + 0xb20], xmm0
lea rax, [rsp + 0x700]
movdqa xmm0, xmmword [rsp + 0xb20]
movdqu xmmword [rax], xmm0
lea rax, [rsp + 0x6f0]
mov qword [rsp + 0x960], rax
mov rdx, qword [rsp + 0x958]
mov rcx, qword [rsp + 0x960]
call fcn.1800229d0
mov r8, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x138]
lea rcx, [rsp + 0x130]
call fcn.180022760
movss xmm0, dword [rsp + 0x460]
comiss xmm0, dword [0x1800d90cc]
jbe 0x1800a18b6
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rsp + 0x15c]
addss xmm0, dword [rax + 0x40]
movss dword [rsp + 0x588], xmm0
mov rax, qword [rsp + 0xe8]
movss xmm0, dword [rsp + 0x160]
addss xmm0, dword [rax + 0x54]
movss dword [rsp + 0x580], xmm0
movss xmm0, dword [rsp + 0x580]
movss dword [rsp + 0x7e8], xmm0
movss xmm0, dword [rsp + 0x588]
movss dword [rsp + 0x7ec], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0xbb0]
mov rcx, qword [rsp + 0x7e8]
call fcn.18002cc60
movzx eax, byte [rsp + 0x95]
test eax, eax
je 0x1800a18db
mov eax, dword [rsp + 0xbd8]
and eax, 0x8000000
test eax, eax
jne 0x1800a18db
mov ecx, dword [rsp + 0x78]
call fcn.180022d40
mov eax, dword [rsp + 0xbd8]
and eax, 0x20
test eax, eax
je 0x1800a18f5
movzx eax, byte [rsp + 0x8f]
jmp 0x1800a18fd
movzx eax, byte [rsp + 0x95]
add rsp, 0xb98
pop rdi
pop rsi
ret