Function at 0x1400644e0
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, 0x858
mov rax, qword [0x1400bc040]
xor rax, rsp
mov qword [rsp + 0x848], rax
call fcn.1400057a0
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
movzx eax, byte [rax + 0xd4]
test eax, eax
je 0x140064536
xor al, al
jmp 0x140068e4d
mov rax, qword [0x1400bd338]
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, 0x1638
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x138], 0
mov eax, dword [rsp + 0x898]
and eax, 0x4000000
test eax, eax
je 0x140064588
mov byte [rsp + 0xa0], 1
jmp 0x140064590
mov byte [rsp + 0xa0], 0
movzx eax, byte [rsp + 0xa0]
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x898]
and eax, 0x4000
test eax, eax
je 0x1400645b6
mov byte [rsp + 0xa1], 1
jmp 0x1400645be
mov byte [rsp + 0xa1], 0
movzx eax, byte [rsp + 0xa1]
mov byte [rsp + 0x60], al
mov eax, dword [rsp + 0x898]
and eax, 0x8000
test eax, eax
je 0x1400645e4
mov byte [rsp + 0xa2], 1
jmp 0x1400645ec
mov byte [rsp + 0xa2], 0
movzx eax, byte [rsp + 0xa2]
mov byte [rsp + 0x78], al
mov eax, dword [rsp + 0x898]
and eax, 0x10000
test eax, eax
jne 0x140064612
mov byte [rsp + 0xa3], 1
jmp 0x14006461a
mov byte [rsp + 0xa3], 0
movzx eax, byte [rsp + 0xa3]
mov byte [rsp + 0xc8], al
mov eax, dword [rsp + 0x898]
and eax, 0x40000
test eax, eax
je 0x140064643
mov byte [rsp + 0xa4], 1
jmp 0x14006464b
mov byte [rsp + 0xa4], 0
movzx eax, byte [rsp + 0xa4]
mov byte [rsp + 0x91], al
movzx eax, byte [rsp + 0x91]
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140064670
call fcn.14001d180
xor r8d, r8d
mov rdx, qword [rsp + 0x870]
mov rcx, qword [rsp + 0x108]
call fcn.14000a920
mov dword [rsp + 0x74], eax
movss xmm0, dword [0x1400b5d58]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x870]
lea rcx, [rsp + 0x7b0]
call fcn.140010d60
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400646de
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
mulss xmm0, dword [0x1400b5c5c]
movss dword [rsp + 0x194], xmm0
jmp 0x1400646f0
movss xmm0, dword [rsp + 0x7b4]
movss dword [rsp + 0x194], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x3c]
mulss xmm0, dword [0x1400b5c1c]
movss xmm1, dword [rsp + 0x194]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x280], xmm0
call fcn.14001ce30
movss dword [rsp + 0x284], xmm0
mov rax, qword [rsp + 0x890]
mov rax, qword [rax]
mov qword [rsp + 0x3c0], rax
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x3c8], rax
movss xmm3, dword [rsp + 0x280]
movss xmm2, dword [rsp + 0x284]
mov rdx, qword [rsp + 0x3c8]
lea rcx, [rsp + 0x7c0]
call fcn.14001cf00
movss xmm0, dword [rsp + 0x7c4]
movss dword [rsp + 0x288], xmm0
movss xmm0, dword [rsp + 0x7b0]
comiss xmm0, dword [0x1400b5ad8]
jbe 0x1400647bb
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x50]
addss xmm0, dword [rsp + 0x7b0]
movss dword [rsp + 0x1d4], xmm0
jmp 0x1400647c7
xorps xmm0, xmm0
movss dword [rsp + 0x1d4], xmm0
movss xmm0, dword [rsp + 0x7c0]
addss xmm0, dword [rsp + 0x1d4]
movss xmm2, dword [rsp + 0x288]
movaps xmm1, xmm0
lea rcx, [rsp + 0x800]
call fcn.1400015c0
mov rax, qword [rsp + 0x108]
add rax, 0x118
lea r8, [rsp + 0x7c0]
mov rdx, rax
lea rcx, [rsp + 0x4f0]
call fcn.140002230
mov rcx, qword [rsp + 0x108]
add rcx, 0x118
mov r8, rax
mov rdx, rcx
lea rcx, [rsp + 0x6c0]
call fcn.1400029e0
lea r8, [rsp + 0x800]
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x4e8]
call fcn.140002230
mov r8, rax
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x7e0]
call fcn.1400029e0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x7c0]
mov qword [rsp + 0x6b0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140064a4b
mov r9d, 1
lea r8, [rsp + 0x6c0]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x7e0]
call fcn.14001c8a0
movzx eax, al
test eax, eax
jne 0x1400648e8
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
lea rcx, [rsp + 0x7e0]
call fcn.14001c860
call fcn.14001d380
xor al, al
jmp 0x140068e4d
mov eax, 0x10
imul rax, rax, 7
mov rcx, qword [rsp + 0xe0]
lea rax, [rcx + rax + 0xc4]
mov rdx, rax
mov ecx, 3
call fcn.140008640
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x40]
mov ecx, 6
call fcn.1400087d0
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x44]
mov ecx, 7
call fcn.1400087d0
lea rdx, [rsp + 0x4e0]
lea rcx, [rsp + 0x6c0]
call fcn.140002b60
mov dword [rsp + 0x20], 4
mov r9b, 1
mov r8, rax
mov edx, dword [rsp + 0x74]
mov rcx, qword [rsp + 0x870]
call fcn.140011b30
mov byte [rsp + 0xef], al
mov ecx, 2
call fcn.140008930
mov ecx, 1
call fcn.140008700
movzx eax, byte [rsp + 0xef]
test eax, eax
jne 0x1400649a8
call fcn.140011eb0
call fcn.14001d380
xor al, al
jmp 0x140068e4d
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d18]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
mov eax, dword [rax + 0x18c]
mov ecx, 1
mov dword [rsp + 0x28c], ecx
movzx ecx, al
mov eax, dword [rsp + 0x28c]
shl eax, cl
mov rcx, qword [rsp + 0xd0]
movsx ecx, word [rcx + 0x192]
or ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0xd0]
mov word [rcx + 0x192], ax
mov rax, qword [rsp + 0xe0]
add rax, 0x38
mov rcx, qword [rsp + 0xd0]
add rcx, 0x118
mov rdx, rax
call fcn.1400023c0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x6b0]
subss xmm0, dword [rax + 0xc4]
movss dword [rsp + 0x6b0], xmm0
jmp 0x140064aa2
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
lea rcx, [rsp + 0x7e0]
call fcn.14001c860
mov eax, dword [rsp + 0x898]
and eax, 0x10000000
test eax, eax
jne 0x140064aa2
mov r9d, 1
lea r8, [rsp + 0x6c0]
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x7e0]
call fcn.14001c8a0
movzx eax, al
test eax, eax
jne 0x140064aa2
xor al, al
jmp 0x140068e4d
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x6c0]
call fcn.14000b3a0
mov byte [rsp + 0x72], al
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x140064acf
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x20d0], 1
mov ecx, dword [rsp + 0x74]
call fcn.14005c080
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x108]
mov eax, dword [rax + 0x168]
and eax, 0x100
test eax, eax
je 0x140064afe
mov byte [rsp + 0xa5], 1
jmp 0x140064b06
mov byte [rsp + 0xa5], 0
movzx eax, byte [rsp + 0xa5]
mov byte [rsp + 0xb0], al
mov rax, qword [rsp + 0x108]
mov eax, dword [rax + 0x168]
and eax, 0x200
test eax, eax
je 0x140064b36
mov byte [rsp + 0xa6], 1
jmp 0x140064b3e
mov byte [rsp + 0xa6], 0
movzx eax, byte [rsp + 0xa6]
mov byte [rsp + 0xb1], al
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x140064b7d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x140064b7d
mov byte [rsp + 0xa7], 1
jmp 0x140064b85
mov byte [rsp + 0xa7], 0
movzx eax, byte [rsp + 0xa7]
mov byte [rsp + 0xc9], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x140064bdf
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1f6c], ecx
je 0x140064bd5
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1f60], ecx
jne 0x140064bdf
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1f84], 2
jne 0x140064bdf
mov byte [rsp + 0xa8], 1
jmp 0x140064be7
mov byte [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x8f], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140064c3e
cmp qword [rsp + 0x58], 0
je 0x140064c3e
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x1d6c], 0
jne 0x140064c3e
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14005e580
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1da8], eax
jne 0x140064c3e
mov byte [rsp + 0xa9], 1
jmp 0x140064c46
mov byte [rsp + 0xa9], 0
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0xe8], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140064c8f
cmp qword [rsp + 0x58], 0
je 0x140064c8f
mov edx, 1
mov rcx, qword [rsp + 0xd0]
call fcn.14005e580
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0x1d6c], eax
jne 0x140064c8f
mov byte [rsp + 0xaa], 1
jmp 0x140064c97
mov byte [rsp + 0xaa], 0
movzx eax, byte [rsp + 0xaa]
mov byte [rsp + 0xb3], al
mov byte [rsp + 0x71], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x140064cec
mov eax, dword [rsp + 0x898]
and eax, 0x10
test eax, eax
jne 0x140064cd6
movzx eax, byte [rsp + 0x8f]
test eax, eax
je 0x140064cec
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140064cec
mov dword [rsp + 0x1e8], 1
jmp 0x140064cf7
mov dword [rsp + 0x1e8], 0
movzx eax, byte [rsp + 0x1e8]
mov byte [rsp + 0x8d], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140064d2a
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xa0]
movss dword [rsp + 0x1ec], xmm0
jmp 0x140064d3b
movss xmm0, dword [0x1400b5d40]
movss dword [rsp + 0x1ec], xmm0
movss xmm0, dword [rsp + 0x1ec]
movss dword [rsp + 0x98], xmm0
cmp qword [rsp + 0x58], 0
je 0x140064d92
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140064d6b
mov dword [rsp + 0x1f0], 1
jmp 0x140064d76
mov dword [rsp + 0x1f0], 0
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x63]
cmp eax, dword [rsp + 0x1f0]
je 0x140064d92
mov byte [rsp + 0xab], 1
jmp 0x140064d9a
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [rsp + 0xae], al
movzx eax, byte [rsp + 0xc9]
test eax, eax
jne 0x140064def
movzx eax, byte [rsp + 0xe8]
test eax, eax
jne 0x140064def
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x140064def
movzx eax, byte [rsp + 0xb0]
test eax, eax
jne 0x140064def
movzx eax, byte [rsp + 0xb1]
test eax, eax
jne 0x140064def
mov byte [rsp + 0xac], 0
jmp 0x140064df7
mov byte [rsp + 0xac], 1
movzx eax, byte [rsp + 0xac]
mov byte [rsp + 0x8c], al
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x140064e28
movzx eax, byte [rsp + 0xb3]
test eax, eax
jne 0x140064e28
mov byte [rsp + 0xad], 0
jmp 0x140064e30
mov byte [rsp + 0xad], 1
movzx eax, byte [rsp + 0xad]
mov byte [rsp + 0xb2], al
movzx eax, byte [rsp + 0xb2]
test eax, eax
je 0x140064e5c
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140064e6c
movzx eax, byte [rsp + 0xae]
test eax, eax
je 0x1400650df
mov rax, qword [rsp + 0x68]
add rax, 0x2230
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
call fcn.14005bd70
mov rax, qword [rsp + 0x880]
mov qword [rsp + 0x3d8], rax
mov qword [rsp + 0x210], 0xffffffffffffffff
inc qword [rsp + 0x210]
mov rax, qword [rsp + 0x3d8]
mov rcx, qword [rsp + 0x210]
cmp byte [rax + rcx], 0
jne 0x140064ea2
mov rax, qword [rsp + 0x210]
mov dword [rsp + 0x1f4], eax
mov rax, qword [rsp + 0x58]
add rax, 0x30
mov qword [rsp + 0x378], rax
mov eax, dword [rsp + 0x1f4]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x378]
call fcn.140037e70
mov eax, dword [rsp + 0x1f4]
inc eax
cdqe
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rcx + 0x38]
mov rsi, qword [rsp + 0x880]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov qword [rsp + 0x740], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x3e8], rax
mov eax, dword [rsp + 0x888]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3e8]
call fcn.140038bc0
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x3f0], rax
xor edx, edx
mov rcx, qword [rsp + 0x3f0]
call fcn.140037e70
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 0
lea rax, [rsp + 0x740]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x880]
mov edx, dword [rsp + 0x888]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.140007630
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x740]
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 + 0x74]
cmp dword [rax], ecx
jne 0x140064fed
movzx eax, byte [rsp + 0xae]
test eax, eax
jne 0x140064fed
mov byte [rsp + 0xaf], 1
jmp 0x140064ff5
mov byte [rsp + 0xaf], 0
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0xe9], al
movzx eax, byte [rsp + 0xe9]
test eax, eax
je 0x14006501c
mov rcx, qword [rsp + 0x58]
call fcn.14005bd90
jmp 0x14006508a
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
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 0x14006504a
mov dword [rsp + 0x1f8], 1
jmp 0x140065055
mov dword [rsp + 0x1f8], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov edx, dword [rsp + 0x1f8]
mov rcx, rax
call fcn.140064060
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14006508a
movzx eax, byte [rsp + 0xb0]
test eax, eax
je 0x14006508a
mov byte [rsp + 0x8d], 1
mov eax, dword [rsp + 0x898]
and eax, 0x2000
test eax, eax
je 0x1400650a3
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x58], 1
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x1400650df
movzx eax, byte [rsp + 0xb1]
test eax, eax
jne 0x1400650d7
movzx eax, byte [rsp + 0xc9]
test eax, eax
je 0x1400650df
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x1400650df
mov byte [rsp + 0x8d], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x140065206
movzx eax, byte [rsp + 0x8c]
test eax, eax
je 0x140065206
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x74]
call fcn.14000ae00
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x74]
call fcn.14001fc80
mov rcx, qword [rsp + 0x108]
call fcn.14001b1b0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d80]
or eax, 3
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d80], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140065165
mov eax, dword [rsp + 0x898]
and eax, 0x80
test eax, eax
je 0x14006517e
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d80]
or eax, 0xc
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d80], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x1d84]
or eax, 2
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 0x1d84], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 0x180
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400651da
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 0x60
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
mov eax, dword [rsp + 0x898]
and eax, 0x440
test eax, eax
je 0x140065206
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1d88]
or rax, 1
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x1d88], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140065224
cmp qword [rsp + 0x58], 0
jne 0x140065224
call fcn.14000afc0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x14006526f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x14006526f
movzx eax, byte [rsp + 0xb2]
test eax, eax
jne 0x14006526f
movzx eax, byte [rsp + 0x8c]
test eax, eax
jne 0x14006526f
mov byte [rsp + 0x71], 1
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
je 0x14006529e
cmp qword [rsp + 0x58], 0
je 0x140065294
movzx eax, byte [rsp + 0xb3]
test eax, eax
jne 0x14006529e
mov byte [rsp + 0xb4], 0
jmp 0x1400652a6
mov byte [rsp + 0xb4], 1
movzx eax, byte [rsp + 0xb4]
mov byte [rsp + 0x62], al
cmp qword [rsp + 0x58], 0
je 0x1400652e7
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x1400652e7
xor eax, eax
test eax, eax
jne 0x1400652da
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1400652e7
mov dword [rsp + 0x200], 1
jmp 0x1400652f2
mov dword [rsp + 0x200], 0
movzx eax, byte [rsp + 0x200]
mov byte [rsp + 0x61], al
mov byte [rsp + 0x93], 0
mov byte [rsp + 0x92], 0
movzx eax, byte [rsp + 0x60]
test eax, eax
je 0x1400653f8
cmp qword [rsp + 0x58], 0
je 0x1400653f8
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x14006533d
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x1400653f8
mov qword [rsp + 0x738], 0
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x3f8], rax
mov eax, dword [rsp + 0x888]
inc eax
mov edx, eax
mov rcx, qword [rsp + 0x3f8]
call fcn.140038bc0
lea rax, [rsp + 0x738]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, qword [rsp + 0x880]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.140007630
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x738]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x58]
call fcn.14005bd90
movzx eax, byte [rsp + 0x61]
mov dword [rsp + 0x290], eax
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
mov ecx, dword [rsp + 0x290]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x61], al
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x14006541b
movzx eax, byte [rsp + 0x61]
test eax, eax
jne 0x14006541b
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140065443
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140065443
cmp qword [rsp + 0x58], 0
je 0x140065443
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0x40]
test eax, eax
je 0x140065443
mov byte [rsp + 0xb5], 1
jmp 0x14006544b
mov byte [rsp + 0xb5], 0
movzx eax, byte [rsp + 0xb5]
mov byte [rsp + 0xc7], al
cmp qword [rsp + 0x878], 0
je 0x1400654b7
movzx eax, byte [rsp + 0xc7]
test eax, eax
je 0x140065484
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x310], rax
jmp 0x140065494
mov rax, qword [rsp + 0x880]
mov qword [rsp + 0x310], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x310]
movsx eax, byte [rcx + rax]
test eax, eax
jne 0x1400654b7
mov byte [rsp + 0xb6], 1
jmp 0x1400654bf
mov byte [rsp + 0xb6], 0
movzx eax, byte [rsp + 0xb6]
mov byte [rsp + 0x63], al
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x1400655f4
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x1400655f4
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x400], rax
mov dx, 0x2a
mov rcx, qword [rsp + 0x400]
call fcn.140050830
mov qword [rsp + 0x318], rax
mov rax, qword [rsp + 0x68]
add rax, 0x30c8
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x128]
movss xmm0, dword [rax + 0x14]
movss dword [rcx + 0x14], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x128]
movss xmm0, dword [rax + 0x58]
movss dword [rcx + 0x58], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x128]
movss xmm0, dword [rax + 0x5c]
movss dword [rcx + 0x5c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x128]
movss xmm0, dword [rax + 0x60]
movss dword [rcx + 0x60], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x128]
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x318]
mov qword [rax + 0x38], rcx
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x318]
movss xmm0, dword [rcx + 4]
movss dword [rax + 0x10], xmm0
mov rcx, qword [rsp + 0x128]
call fcn.14001b6c0
mov dword [rsp + 0x13c], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140065c06
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7e], 0
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x888]
mov dword [rax + 0x44], ecx
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x898]
mov dword [rax + 0xe80], ecx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x8a0]
mov qword [rax + 0xe88], rcx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x8a8]
mov qword [rax + 0xe90], rcx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
jne 0x1400656a2
mov dword [rsp + 0x204], 1
jmp 0x1400656ad
mov dword [rsp + 0x204], 0
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rsp + 0x204]
mov byte [rax + 0x1d79], cl
mov rax, qword [rsp + 0x68]
mov dword [rax + 0x34a4], 1
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x118]
subss xmm0, dword [rsp + 0x6c0]
mov rax, qword [rsp + 0xe0]
subss xmm0, dword [rax + 0x38]
mov rax, qword [rsp + 0x58]
addss xmm0, dword [rax + 0x48]
movss dword [rsp + 0x15c], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14006573c
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0x11c]
subss xmm0, dword [rcx + 0x11c]
movss dword [rsp + 0x208], xmm0
jmp 0x14006575a
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
mulss xmm0, dword [0x1400b5b7c]
movss dword [rsp + 0x208], xmm0
movss xmm0, dword [rsp + 0x208]
movss dword [rsp + 0x158], xmm0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xc8]
mov byte [rsp + 0x8e], al
movzx eax, byte [rsp + 0x8d]
test eax, eax
jne 0x1400657c0
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x1400657db
movzx eax, byte [rsp + 0x8e]
test eax, eax
jne 0x1400657db
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x415]
test eax, eax
je 0x1400657db
mov rcx, qword [rsp + 0x58]
call fcn.14005be70
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 1
jmp 0x140065942
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x140065830
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x140065830
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x415]
test eax, eax
je 0x140065830
mov edx, 0x20000c
mov rcx, qword [rsp + 0x58]
call fcn.140064150
mov edx, 0x60000d
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140065942
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x410]
test eax, eax
je 0x14006589d
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x14006589d
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x140065898
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x158]
movss xmm2, dword [rsp + 0x15c]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140061960
mov rcx, qword [rsp + 0x58]
call fcn.14005bd70
jmp 0x140065942
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
je 0x140065942
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
jne 0x140065942
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x3ac]
ucomiss xmm0, dword [0x1400b5ad8]
jp 0x140065904
jne 0x140065904
mov rax, qword [rsp + 0x80]
movss xmm0, dword [rax + 0x3b0]
ucomiss xmm0, dword [0x1400b5ad8]
jp 0x140065904
je 0x140065942
mov rax, qword [rsp + 0x58]
add rax, 0x4c
movss xmm3, dword [rsp + 0x158]
movss xmm2, dword [rsp + 0x15c]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140061a10
mov rcx, qword [rsp + 0x58]
call fcn.14005bd70
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7d]
test eax, eax
je 0x14006597b
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x80]
movzx eax, byte [rcx + rax + 0x120]
test eax, eax
jne 0x14006597b
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7d], 0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x1400659a1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
je 0x1400659ca
movzx eax, byte [rsp + 0x8e]
test eax, eax
je 0x1400659c0
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
jne 0x1400659ca
mov byte [rsp + 0xb7], 0
jmp 0x1400659d2
mov byte [rsp + 0xb7], 1
movzx eax, byte [rsp + 0xb7]
mov byte [rsp + 0xb8], al
mov eax, dword [rsp + 0x898]
and eax, 0x400
test eax, eax
je 0x140065acb
mov dl, 1
xor ecx, ecx
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140065acb
movzx eax, byte [rsp + 0xb8]
test eax, eax
jne 0x140065acb
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
jne 0x140065acb
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140065acb
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x408], rax
mov eax, 9
mov word [rsp + 0x130], ax
lea rdx, [rsp + 0x130]
mov rcx, qword [rsp + 0x408]
call fcn.14006f040
movzx eax, al
test eax, eax
jne 0x140065acb
mov dword [rsp + 0x7ac], 9
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x8a8]
mov r8, qword [rsp + 0x8a0]
mov edx, dword [rsp + 0x898]
lea rcx, [rsp + 0x7ac]
call fcn.1400641c0
movzx eax, al
test eax, eax
je 0x140065acb
mov edx, dword [rsp + 0x7ac]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x1540], 0
jle 0x140065c06
movzx eax, byte [rsp + 0xb8]
test eax, eax
jne 0x140065be1
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140065be1
movzx eax, byte [rsp + 0x8f]
test eax, eax
jne 0x140065be1
mov dword [rsp + 0x118], 0
jmp 0x140065b2a
mov eax, dword [rsp + 0x118]
inc eax
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x1540]
cmp dword [rsp + 0x118], eax
jge 0x140065be1
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x410], rax
mov edx, dword [rsp + 0x118]
mov rcx, qword [rsp + 0x410]
call fcn.140038c10
movzx eax, word [rax]
mov dword [rsp + 0x7a0], eax
cmp dword [rsp + 0x7a0], 9
jne 0x140065b98
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
je 0x140065b98
jmp 0x140065b1a
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x8a8]
mov r8, qword [rsp + 0x8a0]
mov edx, dword [rsp + 0x898]
lea rcx, [rsp + 0x7a0]
call fcn.1400641c0
movzx eax, al
test eax, eax
je 0x140065bdc
mov edx, dword [rsp + 0x7a0]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140065b1a
mov rax, qword [rsp + 0x80]
add rax, 0x1540
mov qword [rsp + 0x418], rax
xor edx, edx
mov rcx, qword [rsp + 0x418]
call fcn.140038bc0
mov byte [rsp + 0x8a], 0
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140066bb7
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x1d78]
test eax, eax
jne 0x140066bb7
movzx eax, byte [rsp + 0x71]
test eax, eax
jne 0x140066bb7
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x6b4]
subss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0x68]
divss xmm0, dword [rax + 0x1a80]
cvttss2si eax, xmm0
mov edx, 1
mov ecx, eax
call fcn.140039770
mov dword [rsp + 0x134], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x134]
mov dword [rax + 0x5c], ecx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x135]
test eax, eax
je 0x140065cad
mov dword [rsp + 0x160], 0x400000
jmp 0x140065cb8
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x94], eax
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xc8]
mov byte [rsp + 0x89], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140065d03
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 0xa
jne 0x140065d03
mov byte [rsp + 0xb9], 1
jmp 0x140065d0b
mov byte [rsp + 0xb9], 0
movzx eax, byte [rsp + 0xb9]
mov byte [rsp + 0xeb], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140065d3e
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
mov byte [rsp + 0xba], al
jmp 0x140065d54
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
mov byte [rsp + 0xba], al
movzx eax, byte [rsp + 0xba]
mov byte [rsp + 0x90], al
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x140065db2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
je 0x140065db2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
jne 0x140065db2
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
jne 0x140065db2
mov byte [rsp + 0xbb], 1
jmp 0x140065dba
mov byte [rsp + 0xbb], 0
movzx eax, byte [rsp + 0xbb]
mov byte [rsp + 0x88], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 1
jne 0x140065de4
mov byte [rsp + 0xbc], 1
jmp 0x140065dec
mov byte [rsp + 0xbc], 0
movzx eax, byte [rsp + 0xbc]
mov byte [rsp + 0xea], al
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 2
jne 0x140065e16
mov byte [rsp + 0xbd], 1
jmp 0x140065e1e
mov byte [rsp + 0xbd], 0
movzx eax, byte [rsp + 0xbd]
mov byte [rsp + 0xc0], al
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0xd0]
test eax, eax
je 0x140065e76
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 8
jne 0x140065e5b
mov dword [rsp + 0x164], 1
jmp 0x140065e66
mov dword [rsp + 0x164], 0
mov eax, dword [rsp + 0x164]
mov dword [rsp + 0x16c], eax
jmp 0x140065ead
mov rax, qword [rsp + 0x80]
cmp dword [rax + 0x3b4], 1
jne 0x140065e94
mov dword [rsp + 0x168], 1
jmp 0x140065e9f
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x16c], eax
movzx eax, byte [rsp + 0x16c]
mov byte [rsp + 0x70], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x140065ed5
mov dl, 1
mov ecx, 0x13
call fcn.140005970
movzx eax, al
test eax, eax
jne 0x140065ef4
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x140065f2a
mov dl, 1
mov ecx, 0xa
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140065f2a
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140065f2a
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140065f2a
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140065f20
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x140065f2a
mov byte [rsp + 0xbe], 1
jmp 0x140065f32
mov byte [rsp + 0xbe], 0
movzx eax, byte [rsp + 0xbe]
mov byte [rsp + 0xc6], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x140065f5d
mov dl, 1
mov ecx, 0x11
call fcn.140005970
movzx eax, al
test eax, eax
jne 0x140065f7c
movzx eax, byte [rsp + 0xea]
test eax, eax
je 0x140065fa9
mov dl, 1
mov ecx, 9
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140065fa9
movzx eax, byte [rsp + 0x78]
test eax, eax
jne 0x140065fa9
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140065f9f
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x140065fa9
mov byte [rsp + 0xbf], 1
jmp 0x140065fb1
mov byte [rsp + 0xbf], 0
movzx eax, byte [rsp + 0xbf]
mov byte [rsp + 0xed], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x140065fdc
mov dl, 1
mov ecx, 0x12
call fcn.140005970
movzx eax, al
test eax, eax
jne 0x140065ffb
movzx eax, byte [rsp + 0xc0]
test eax, eax
je 0x14006600e
mov dl, 1
mov ecx, 9
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006600e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14006600e
mov byte [rsp + 0xc1], 1
jmp 0x140066016
mov byte [rsp + 0xc1], 0
movzx eax, byte [rsp + 0xc1]
mov byte [rsp + 0xee], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x140066060
mov dl, 1
mov ecx, 0x15
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066060
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140066060
movzx eax, byte [rsp + 0xc8]
test eax, eax
je 0x140066060
mov byte [rsp + 0xc2], 1
jmp 0x140066068
mov byte [rsp + 0xc2], 0
movzx eax, byte [rsp + 0xc2]
mov byte [rsp + 0xc5], al
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x140066093
mov dl, 1
mov ecx, 0x14
call fcn.140005970
movzx eax, al
test eax, eax
jne 0x1400660b2
movzx eax, byte [rsp + 0xeb]
test eax, eax
je 0x1400660d1
mov dl, 1
mov ecx, 0x15
call fcn.140005970
movzx eax, al
test eax, eax
je 0x1400660d1
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x1400660d1
movzx eax, byte [rsp + 0xc8]
test eax, eax
je 0x1400660d1
mov byte [rsp + 0xc3], 1
jmp 0x1400660d9
mov byte [rsp + 0xc3], 0
movzx eax, byte [rsp + 0xc3]
mov byte [rsp + 0xec], al
mov dl, 1
mov ecx, 1
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066169
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x140066114
mov dword [rsp + 0x174], 0x200004
jmp 0x140066146
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14006612d
mov dword [rsp + 0x170], 0x20000c
jmp 0x140066138
mov dword [rsp + 0x170], 0x200000
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x174]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 2
call fcn.140005970
movzx eax, al
test eax, eax
je 0x1400661ea
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x140066195
mov dword [rsp + 0x17c], 0x200005
jmp 0x1400661c7
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x1400661ae
mov dword [rsp + 0x178], 0x20000d
jmp 0x1400661b9
mov dword [rsp + 0x178], 0x200001
mov eax, dword [rsp + 0x178]
mov dword [rsp + 0x17c], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x17c]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 3
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006629f
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14006629f
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x140066258
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0xa0]
subss xmm0, dword [rcx + 0x1a80]
xorps xmm1, xmm1
call fcn.140039490
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14001dec0
jmp 0x14006629a
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x140066271
mov dword [rsp + 0x180], 0x200006
jmp 0x14006627c
mov dword [rsp + 0x180], 0x200002
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x180]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 4
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006637a
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14006637a
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x140066333
call fcn.14001de50
movss dword [rsp + 0x294], xmm0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
movss xmm0, dword [rax + 0xa0]
addss xmm0, dword [rcx + 0x1a80]
movss dword [rsp + 0x298], xmm0
movss xmm1, dword [rsp + 0x294]
movss xmm0, dword [rsp + 0x298]
call fcn.140039450
movaps xmm1, xmm0
mov rcx, qword [rsp + 0xd0]
call fcn.14001dec0
jmp 0x140066375
movzx eax, byte [rsp + 0x88]
test eax, eax
je 0x14006634c
mov dword [rsp + 0x184], 0x200007
jmp 0x140066357
mov dword [rsp + 0x184], 0x200003
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x184]
or ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 5
call fcn.140005970
movzx eax, al
test eax, eax
je 0x1400663e2
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400663e2
mov eax, dword [rsp + 0x94]
or eax, 0x20000e
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
cvtsi2ss xmm0, dword [rsp + 0x134]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x98]
subss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x140066b6f
mov dl, 1
mov ecx, 6
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006644a
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14006644a
mov eax, dword [rsp + 0x94]
or eax, 0x20000f
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
cvtsi2ss xmm0, dword [rsp + 0x134]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x98], xmm0
jmp 0x140066b6f
mov dl, 1
mov ecx, 7
call fcn.140005970
movzx eax, al
test eax, eax
je 0x1400664ae
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x140066485
mov eax, dword [rsp + 0x94]
or eax, 0x200006
mov dword [rsp + 0x188], eax
jmp 0x140066498
mov eax, dword [rsp + 0x94]
or eax, 0x200004
mov dword [rsp + 0x188], eax
mov edx, dword [rsp + 0x188]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 8
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066512
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x1400664e9
mov eax, dword [rsp + 0x94]
or eax, 0x200007
mov dword [rsp + 0x18c], eax
jmp 0x1400664fc
mov eax, dword [rsp + 0x94]
or eax, 0x200005
mov dword [rsp + 0x18c], eax
mov edx, dword [rsp + 0x18c]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 0xa
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006654b
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14006654b
mov eax, dword [rsp + 0x94]
or eax, 0x200008
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 0xb
call fcn.140005970
movzx eax, al
test eax, eax
je 0x14006660e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x14006660e
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
jne 0x1400665f1
movzx eax, byte [rsp + 0x90]
test eax, eax
je 0x14006659d
mov edx, 0x60000c
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x1400665f1
movzx eax, byte [rsp + 0x89]
test eax, eax
je 0x1400665f1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x137]
test eax, eax
je 0x1400665f1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x136]
test eax, eax
jne 0x1400665f1
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
jne 0x1400665f1
mov edx, 0x600004
mov rcx, qword [rsp + 0x58]
call fcn.140064150
mov eax, dword [rsp + 0x94]
or eax, 0x200009
mov edx, eax
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 0xd
call fcn.140005970
movzx eax, al
test eax, eax
jne 0x140066638
mov dl, 1
mov ecx, 0xf
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066726
mov eax, dword [rsp + 0x898]
and eax, 0x800
test eax, eax
je 0x140066655
mov dword [rsp + 0x190], 1
jmp 0x140066660
mov dword [rsp + 0x190], 0
movzx eax, byte [rsp + 0x190]
mov byte [rsp + 0xc4], al
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400666b6
movzx eax, byte [rsp + 0xc4]
test eax, eax
je 0x140066697
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x1400666b6
movzx eax, byte [rsp + 0xc4]
test eax, eax
jne 0x1400666c9
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x134]
test eax, eax
je 0x1400666c9
mov byte [rsp + 0x71], 1
movzx eax, byte [rsp + 0x71]
mov byte [rsp + 0x92], al
jmp 0x140066721
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140066721
mov dword [rsp + 0x7a8], 0xa
mov dword [rsp + 0x20], 2
mov r9, qword [rsp + 0x8a8]
mov r8, qword [rsp + 0x8a0]
mov edx, dword [rsp + 0x898]
lea rcx, [rsp + 0x7a8]
call fcn.1400641c0
movzx eax, al
test eax, eax
je 0x140066721
mov edx, dword [rsp + 0x7a8]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
jmp 0x140066b6f
mov dl, 1
mov ecx, 0xe
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066752
mov byte [rsp + 0x8a], 1
movzx eax, byte [rsp + 0x8a]
mov byte [rsp + 0x71], al
jmp 0x140066b6f
movzx eax, byte [rsp + 0xc5]
test eax, eax
jne 0x14006676a
movzx eax, byte [rsp + 0xec]
test eax, eax
je 0x1400667ae
movzx eax, byte [rsp + 0xc5]
test eax, eax
je 0x140066783
mov dword [rsp + 0x198], 0x20000a
jmp 0x14006678e
mov dword [rsp + 0x198], 0x20000b
mov edx, dword [rsp + 0x198]
mov rcx, qword [rsp + 0x58]
call fcn.140064150
mov rcx, qword [rsp + 0x58]
call fcn.14005be40
jmp 0x140066b6f
movzx eax, byte [rsp + 0x70]
test eax, eax
je 0x1400667e5
mov dl, 1
mov ecx, 0x10
call fcn.140005970
movzx eax, al
test eax, eax
je 0x1400667e5
mov rcx, qword [rsp + 0x58]
call fcn.14005be70
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
jmp 0x140066b6f
movzx eax, byte [rsp + 0xc6]
test eax, eax
jne 0x140066801
movzx eax, byte [rsp + 0xed]
test eax, eax
je 0x1400669aa
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x108], 0
je 0x14006695c
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x140066846
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1400394d0
mov dword [rsp + 0x19c], eax
jmp 0x140066851
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x1a8], eax
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x14006688e
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.140039770
mov dword [rsp + 0x1a0], eax
jmp 0x14006689d
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x1a4], eax
movsxd rax, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1a8]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x18]
lea rcx, [rdx + rcx*2]
mov rdx, rax
call fcn.140007b40
inc eax
mov dword [rsp + 0x1ac], eax
movsxd rax, dword [rsp + 0x1ac]
mov rcx, rax
call fcn.14000b920
mov qword [rsp + 0x2c0], rax
movsxd rax, dword [rsp + 0x1a4]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x18]
lea rax, [rcx + rax*2]
movsxd rcx, dword [rsp + 0x1a8]
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 + 0x1ac]
mov rcx, qword [rsp + 0x2c0]
call fcn.140007a30
mov rcx, qword [rsp + 0x2c0]
call fcn.14000ba40
mov rcx, qword [rsp + 0x2c0]
call fcn.14000b980
movzx eax, byte [rsp + 0xc6]
test eax, eax
je 0x1400669a5
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
jne 0x140066983
mov rcx, qword [rsp + 0x58]
call fcn.14005be70
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.1400620c0
jmp 0x140066b6f
movzx eax, byte [rsp + 0xee]
test eax, eax
je 0x140066b6f
call fcn.14000b9e0
mov qword [rsp + 0x2c8], rax
cmp qword [rsp + 0x2c8], 0
je 0x140066b6f
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x420], rax
mov qword [rsp + 0x218], 0xffffffffffffffff
inc qword [rsp + 0x218]
mov rax, qword [rsp + 0x420]
mov rcx, qword [rsp + 0x218]
cmp byte [rax + rcx], 0
jne 0x1400669f2
mov rax, qword [rsp + 0x218]
mov dword [rsp + 0x29c], eax
mov eax, dword [rsp + 0x29c]
inc eax
cdqe
shl rax, 1
mov rcx, rax
call fcn.14000b920
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x100], 0
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
movsx eax, byte [rax]
test eax, eax
je 0x140066b10
xor r8d, r8d
mov rdx, qword [rsp + 0x220]
lea rcx, [rsp + 0x7a4]
call fcn.1400071a0
cdqe
mov rcx, qword [rsp + 0x220]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x220], rax
cmp dword [rsp + 0x7a4], 0
jne 0x140066aa7
jmp 0x140066b10
mov dword [rsp + 0x20], 5
mov r9, qword [rsp + 0x8a8]
mov r8, qword [rsp + 0x8a0]
mov edx, dword [rsp + 0x898]
lea rcx, [rsp + 0x7a4]
call fcn.1400641c0
movzx eax, al
test eax, eax
jne 0x140066adf
jmp 0x140066a58
movsxd rax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x228]
movzx edx, word [rsp + 0x7a4]
mov word [rcx + rax*2], dx
mov eax, dword [rsp + 0x100]
inc eax
mov dword [rsp + 0x100], eax
jmp 0x140066a58
movsxd rax, dword [rsp + 0x100]
xor ecx, ecx
mov rdx, qword [rsp + 0x228]
mov word [rdx + rax*2], cx
cmp dword [rsp + 0x100], 0
jle 0x140066b62
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x100]
mov r8, qword [rsp + 0x228]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.140064080
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov rcx, qword [rsp + 0x228]
call fcn.14000b980
mov rcx, qword [rsp + 0x58]
call fcn.14005be00
movzx eax, al
test eax, eax
je 0x140066b9c
xor eax, eax
test eax, eax
jne 0x140066b8f
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x140066b9c
mov dword [rsp + 0x1b0], 1
jmp 0x140066ba7
mov dword [rsp + 0x1b0], 0
movzx eax, byte [rsp + 0x61]
or eax, dword [rsp + 0x1b0]
mov byte [rsp + 0x61], al
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140067455
mov qword [rsp + 0x120], 0
mov dword [rsp + 0xcc], 0
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140066d3e
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140066d3e
mov rax, qword [rsp + 0x880]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x38]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x140066c27
inc rax
test dl, dl
jne 0x140066c14
xor eax, eax
jmp 0x140066c2c
sbb eax, eax
or eax, 1
test eax, eax
je 0x140066d3e
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x30]
dec eax
mov dword [rsp + 0xcc], eax
lea rcx, [rsp + 0x728]
call fcn.140037620
nop
cmp dword [rsp + 0xcc], 0
jle 0x140066ce3
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x120]
call fcn.140007740
inc eax
mov edx, eax
lea rcx, [rsp + 0x728]
call fcn.140038bc0
movsxd rax, dword [rsp + 0xcc]
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rsp + 0x120]
mov edx, dword [rsp + 0x728]
mov rcx, qword [rsp + 0x730]
call fcn.140007630
cmp dword [rsp + 0xcc], 0
jle 0x140066cff
mov eax, dword [rsp + 0x728]
dec eax
mov dword [rsp + 0x1b4], eax
jmp 0x140066d0a
mov dword [rsp + 0x1b4], 0
mov rax, qword [rsp + 0x58]
add rax, 0x4c
mov r9d, dword [rsp + 0x1b4]
mov r8, qword [rsp + 0x730]
mov rdx, rax
mov rcx, qword [rsp + 0x58]
call fcn.1400640c0
nop
lea rcx, [rsp + 0x728]
call fcn.1400375f0
movzx eax, byte [rsp + 0x8a]
test eax, eax
je 0x140066d71
movzx eax, byte [rsp + 0x92]
test eax, eax
je 0x140066d64
mov eax, dword [rsp + 0x898]
and eax, 0x20
test eax, eax
jne 0x140066d71
mov dword [rsp + 0x1b8], 0
jmp 0x140066d7c
mov dword [rsp + 0x1b8], 1
movzx eax, byte [rsp + 0x1b8]
mov byte [rsp + 0xf5], al
movzx eax, byte [rsp + 0xf5]
test eax, eax
je 0x140067301
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140066dfe
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x40], 1
mov rax, qword [rsp + 0x58]
add rax, 0x20
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
lea eax, [rax*4 + 1]
mov edx, eax
mov rcx, qword [rsp + 0x428]
call fcn.140037e70
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.140007a30
mov eax, dword [rsp + 0x898]
and eax, 0x801c0
test eax, eax
je 0x1400672a8
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0x11c], 0x16
mov eax, dword [rsp + 0x898]
and eax, 0x40
test eax, eax
je 0x140066e61
mov dl, 1
xor ecx, ecx
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066e61
mov dword [rsp + 0xf0], 0x40
mov dword [rsp + 0x11c], 0
jmp 0x140066f22
mov eax, dword [rsp + 0x898]
and eax, 0x80
test eax, eax
je 0x140066e9f
mov dl, 1
mov ecx, 3
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066e9f
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x11c], 3
jmp 0x140066f22
mov eax, dword [rsp + 0x898]
and eax, 0x80
test eax, eax
je 0x140066eda
mov dl, 1
mov ecx, 4
call fcn.140005970
movzx eax, al
test eax, eax
je 0x140066eda
mov dword [rsp + 0xf0], 0x80
mov dword [rsp + 0x11c], 4
jmp 0x140066f22
mov eax, dword [rsp + 0x898]
and eax, 0x80000
test eax, eax
je 0x140066f07
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7e]
test eax, eax
je 0x140066f07
mov dword [rsp + 0xf0], 0x80000
jmp 0x140066f22
mov eax, dword [rsp + 0x898]
and eax, 0x100
test eax, eax
je 0x140066f22
mov dword [rsp + 0xf0], 0x100
cmp dword [rsp + 0xf0], 0
je 0x1400672a8
lea rcx, [rsp + 0x6e8]
call fcn.1400641a0
lea rax, [rsp + 0x6e8]
mov rdi, rax
xor eax, eax
mov ecx, 0x38
rep stosb byte [rdi], al
mov eax, dword [rsp + 0xf0]
mov dword [rsp + 0x6e8], eax
mov eax, dword [rsp + 0x898]
mov dword [rsp + 0x6ec], eax
mov rax, qword [rsp + 0x8a8]
mov qword [rsp + 0x6f0], rax
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x6fc], eax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x700], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0x708], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x70c], eax
mov byte [rsp + 0x710], 0
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.140007b40
mov dword [rsp + 0x714], eax
mov eax, dword [rsp + 0x714]
mov dword [rsp + 0x2a0], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x50]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.140007b40
mov dword [rsp + 0x718], eax
mov eax, dword [rsp + 0x718]
mov dword [rsp + 0x2a4], eax
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x54]
mov rcx, qword [rsp + 0x148]
lea rax, [rcx + rax*2]
mov rdx, rax
mov rcx, qword [rsp + 0x148]
call fcn.140007b40
mov dword [rsp + 0x71c], eax
mov eax, dword [rsp + 0x71c]
mov dword [rsp + 0x2a8], eax
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x430], rax
lea rcx, [rsp + 0x6e8]
call qword [rsp + 0x430]
movzx eax, byte [rsp + 0x710]
mov byte [rsp + 0x8b], al
mov eax, dword [rsp + 0x2a0]
cmp dword [rsp + 0x714], eax
jne 0x1400670cb
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x140067105
movsxd rax, dword [rsp + 0x714]
mov rcx, qword [rsp + 0x700]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x700]
call fcn.140007740
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 1
mov eax, dword [rsp + 0x2a4]
cmp dword [rsp + 0x718], eax
jne 0x140067121
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x14006717e
mov eax, dword [rsp + 0x714]
cmp dword [rsp + 0x718], eax
jne 0x140067142
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x1bc], eax
jmp 0x14006716f
movsxd rax, dword [rsp + 0x718]
mov rcx, qword [rsp + 0x700]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x700]
call fcn.140007740
mov dword [rsp + 0x1bc], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1bc]
mov dword [rax + 0x50], ecx
mov eax, dword [rsp + 0x2a8]
cmp dword [rsp + 0x71c], eax
jne 0x14006719a
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x1400671f7
mov eax, dword [rsp + 0x718]
cmp dword [rsp + 0x71c], eax
jne 0x1400671bb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x50]
mov dword [rsp + 0x1c0], eax
jmp 0x1400671e8
movsxd rax, dword [rsp + 0x71c]
mov rcx, qword [rsp + 0x700]
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x700]
call fcn.140007740
mov dword [rsp + 0x1c0], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x1c0]
mov dword [rax + 0x54], ecx
movzx eax, byte [rsp + 0x8b]
test eax, eax
je 0x1400672a8
mov eax, dword [rsp + 0x13c]
cmp dword [rsp + 0x708], eax
jle 0x14006725d
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x14006725d
mov rax, qword [rsp + 0x58]
add rax, 0x10
mov qword [rsp + 0x438], rax
mov eax, dword [rsp + 0x13c]
mov ecx, dword [rsp + 0x708]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x58]
add eax, dword [rcx + 0x10]
mov edx, eax
mov rcx, qword [rsp + 0x438]
call fcn.140038bc0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x700]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x18]
call fcn.140007630
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 4], eax
mov rax, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x708]
mov dword [rax + 8], ecx
mov rcx, qword [rsp + 0x58]
call fcn.14005bd70
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140067301
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov rcx, qword [rsp + 0x880]
sub rcx, rax
movzx edx, byte [rax]
cmp dl, byte [rax + rcx]
jne 0x1400672d8
inc rax
test dl, dl
jne 0x1400672c5
xor eax, eax
jmp 0x1400672dd
sbb eax, eax
or eax, 1
test eax, eax
je 0x140067301
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x120], rax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 8]
mov dword [rsp + 0xcc], eax
cmp qword [rsp + 0x120], 0
je 0x140067426
movzx eax, byte [rsp + 0x91]
test eax, eax
je 0x1400673ed
lea rcx, [rsp + 0x748]
call fcn.1400641a0
mov dword [rsp + 0x748], 0x40000
mov eax, dword [rsp + 0x898]
mov dword [rsp + 0x74c], eax
mov rax, qword [rsp + 0x880]
mov qword [rsp + 0x760], rax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x768], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, eax
mov ecx, dword [rsp + 0x888]
call fcn.140039770
mov dword [rsp + 0x76c], eax
mov rax, qword [rsp + 0x8a8]
mov qword [rsp + 0x750], rax
mov rax, qword [rsp + 0x8a0]
mov qword [rsp + 0x440], rax
lea rcx, [rsp + 0x748]
call qword [rsp + 0x440]
mov rax, qword [rsp + 0x760]
mov qword [rsp + 0x880], rax
mov eax, dword [rsp + 0x76c]
mov dword [rsp + 0x888], eax
mov eax, dword [rsp + 0x888]
dec eax
mov edx, eax
mov ecx, dword [rsp + 0x768]
call fcn.1400394d0
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
inc eax
mov edx, dword [rsp + 0x888]
mov ecx, eax
call fcn.1400394d0
cdqe
mov r8, rax
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x880]
call fcn.1400066c0
mov byte [rsp + 0x93], 1
mov rax, qword [rsp + 0x58]
mov dword [rax + 0xe80], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe88], 0
mov rax, qword [rsp + 0x58]
mov qword [rax + 0xe90], 0
movzx eax, byte [rsp + 0x71]
test eax, eax
je 0x140067474
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140067474
call fcn.14000afc0
mov eax, 4
mov eax, eax
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx]
mov eax, dword [rax + rcx]
cmp dword [0x1400bd650], eax
jle 0x1400674dd
lea rcx, [0x1400bd650]
call fcn.14009a428
cmp dword [0x1400bd650], 0xffffffff
jne 0x1400674dd
mov edx, 0x10
lea rcx, [0x1400bd658]
call fcn.140068e90
lea rcx, [0x1400bd658]
call fcn.14006edf0
lea rcx, [0x14009d090]
call fcn.14009a798
nop
lea rcx, [0x1400bd650]
call fcn.14009a3bc
mov edx, 8
lea rcx, [rsp + 0x788]
call fcn.140068e90
mov rcx, qword [rsp + 0x870]
call fcn.14001c310
mov dword [rsp + 0x2ac], eax
lea r8, [rsp + 0x2ac]
lea rdx, [rsp + 0x788]
lea rcx, [0x1400bd658]
call fcn.14006ee20
lea rdx, [rsp + 0x4d8]
lea rcx, [0x1400bd658]
call fcn.14006ee80
mov rdx, rax
lea rcx, [rsp + 0x788]
call fcn.14006edb0
movzx eax, al
test eax, eax
je 0x1400675ff
mov rcx, qword [rsp + 0x870]
call fcn.14001c310
mov dword [rsp + 0x2b0], eax
lea rax, [rsp + 0x648]
mov rdi, rax
xor eax, eax
mov ecx, 0x30
rep stosb byte [rdi], al
lea rcx, [rsp + 0x648]
call fcn.140068eb0
mov qword [rsp + 0x448], rax
mov r8, qword [rsp + 0x448]
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x678]
call fcn.14006f2e0
lea r8, [rsp + 0x678]
lea rdx, [rsp + 0x5f8]
lea rcx, [0x1400bd658]
call fcn.14006f320
mov rcx, qword [rsp + 0x870]
call fcn.14001c310
mov dword [rsp + 0x2b4], eax
lea r8, [rsp + 0x2b4]
lea rdx, [rsp + 0x4f8]
lea rcx, [0x1400bd658]
call fcn.14006ee20
mov rax, qword [rax]
mov qword [rsp + 0x788], rax
mov dword [rsp + 0x20], 0x96
mov r9d, 0x32
mov r8d, 0x2d
mov edx, 0x28
lea rcx, [rsp + 0x608]
call fcn.14005ba40
mov qword [rsp + 0x450], rax
lea rdx, [rsp + 0x838]
mov rcx, qword [rsp + 0x450]
call fcn.140039bf0
mov dword [rsp + 0x20], 0x96
mov r9d, 0x37
mov r8d, 0x32
mov edx, 0x2d
lea rcx, [rsp + 0x618]
call fcn.14005ba40
mov qword [rsp + 0x458], rax
lea rdx, [rsp + 0x828]
mov rcx, qword [rsp + 0x458]
call fcn.140039bf0
mov dword [rsp + 0x20], 0x96
mov r9d, 0x41
mov r8d, 0x3c
mov edx, 0x37
lea rcx, [rsp + 0x628]
call fcn.14005ba40
mov qword [rsp + 0x460], rax
lea rdx, [rsp + 0x818]
mov rcx, qword [rsp + 0x460]
call fcn.140039bf0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400b5c50]
movss dword [rsp + 0x2b8], xmm0
call fcn.1400119d0
movzx eax, al
test eax, eax
je 0x140067701
lea rax, [rsp + 0x818]
mov qword [rsp + 0x2f0], rax
jmp 0x14006774c
movzx eax, byte [rsp + 0x72]
test eax, eax
je 0x14006771c
lea rax, [rsp + 0x828]
mov qword [rsp + 0x2e8], rax
jmp 0x14006772c
lea rax, [rsp + 0x838]
mov qword [rsp + 0x2e8], rax
mov rax, qword [rsp + 0x2e8]
mov qword [rsp + 0x468], rax
mov rax, qword [rsp + 0x468]
mov qword [rsp + 0x2f0], rax
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x478], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
add rax, 0x14
mov qword [rsp + 0x480], rax
movss xmm3, dword [rsp + 0x2b8]
mov r8, qword [rsp + 0x478]
mov rdx, qword [rsp + 0x480]
lea rcx, [rsp + 0x638]
call fcn.14005bbd0
lea rcx, [rsp + 0x5b8]
mov rdi, rcx
mov rsi, rax
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x788]
call fcn.14006ed90
lea rcx, [rsp + 0x5b8]
lea rdi, [rax + 0x14]
mov rsi, rcx
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140067861
mov r8d, 1
mov edx, dword [rsp + 0x74]
lea rcx, [rsp + 0x6c0]
call fcn.140009d20
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x40]
movss dword [rsp + 0x2d8], xmm0
movss xmm1, dword [0x1400b5bf8]
mov ecx, 7
call fcn.140008370
mov dword [rsp + 0x250], eax
movss xmm0, dword [rsp + 0x2d8]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
mov r8d, dword [rsp + 0x250]
mov rdx, qword [rsp + 0x6c8]
mov rcx, qword [rsp + 0x6c0]
call fcn.140009960
movss xmm0, dword [rsp + 0x6c4]
addss xmm0, dword [rsp + 0x6b4]
movss xmm1, dword [rsp + 0x6c0]
addss xmm1, dword [rsp + 0x6b0]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm2, dword [rsp + 0x6c4]
movss xmm1, dword [rsp + 0x6c0]
lea rcx, [rsp + 0x7c8]
call fcn.140001660
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400678df
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x118]
mov qword [rsp + 0x488], rax
lea rax, [rsp + 0x488]
mov qword [rsp + 0x2e0], rax
jmp 0x14006790b
mov rax, qword [rsp + 0xe0]
add rax, 0x38
mov r8, rax
lea rdx, [rsp + 0x6c0]
lea rcx, [rsp + 0x500]
call fcn.140002230
mov qword [rsp + 0x2e0], rax
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x490]
mov rax, qword [rax]
mov qword [rsp + 0x790], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x6e0]
call fcn.1400015c0
mov dword [rsp + 0x370], 0x200000
movzx eax, byte [rsp + 0xc7]
test eax, eax
je 0x14006796b
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x300], rax
jmp 0x14006797b
mov rax, qword [rsp + 0x880]
mov qword [rsp + 0x300], rax
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x6b8], 0
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x140067a08
mov rax, qword [rsp + 0x878]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x878]
mov qword [rsp + 0x498], rax
mov qword [rsp + 0x230], 0xffffffffffffffff
inc qword [rsp + 0x230]
mov rax, qword [rsp + 0x498]
mov rcx, qword [rsp + 0x230]
cmp byte [rax + rcx], 0
jne 0x1400679cc
mov rax, qword [rsp + 0x230]
mov rcx, qword [rsp + 0x878]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6b8], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
jne 0x140067a1e
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140068ae7
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x140067a46
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6b8], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x780]
call fcn.140001590
lea rcx, [rsp + 0x7d8]
call fcn.140001590
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x248], 0
mov dword [rsp + 0xf8], 0xfffffc18
mov dword [rsp + 0xfc], 0xfffffc18
mov dword [rsp + 0x9c], 0
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x140067afd
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 0x4c]
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 0
mov qword [rsp + rcx + 0x240], rax
mov eax, 4
imul rax, rax, 0
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x140067b5e
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1400394d0
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov ecx, 8
imul rcx, rcx, 1
mov qword [rsp + rcx + 0x240], rax
mov eax, 4
imul rax, rax, 1
mov dword [rsp + rax + 0xf8], 0xffffffff
mov eax, dword [rsp + 0x9c]
inc eax
mov dword [rsp + 0x9c], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140067b74
mov dword [rsp + 0x1c4], 1
jmp 0x140067b7f
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
mov ecx, dword [rsp + 0x9c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0xd8], 0
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x150], rax
jmp 0x140067bc9
mov rax, qword [rsp + 0x150]
add rax, 2
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
movzx eax, word [rax]
test eax, eax
je 0x140067cc7
mov rax, qword [rsp + 0x150]
movzx eax, word [rax]
cmp eax, 0xa
jne 0x140067cc2
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140067c61
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x240]
cmp qword [rsp + 0x150], rax
jb 0x140067c61
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x140067c61
jmp 0x140067cc7
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140067cc2
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x240]
cmp qword [rsp + 0x150], rax
jb 0x140067cc2
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, dword [rsp + 0x9c]
dec eax
mov dword [rsp + 0x9c], eax
cmp dword [rsp + 0x9c], 0
jg 0x140067cc2
jmp 0x140067cc7
jmp 0x140067bb5
mov eax, dword [rsp + 0xd8]
inc eax
mov dword [rsp + 0xd8], eax
mov eax, 4
imul rax, rax, 0
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140067d01
mov eax, 4
imul rax, rax, 0
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0xffffffff
jne 0x140067d2b
mov eax, 4
imul rax, rax, 1
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + rax + 0xf8], ecx
mov eax, 8
imul rax, rax, 0
mov rax, qword [rsp + rax + 0x240]
mov qword [rsp + 0x4a0], rax
mov eax, 8
imul rax, rax, 0
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + rax + 0x240]
call fcn.140006970
mov qword [rsp + 0x4a8], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x4a0]
mov rdx, qword [rsp + 0x4a8]
lea rcx, [rsp + 0x508]
call fcn.140060dc0
movss xmm0, dword [rax]
movss dword [rsp + 0x780], xmm0
mov eax, 4
imul rax, rax, 0
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x784], xmm0
mov eax, 4
imul rax, rax, 1
cmp dword [rsp + rax + 0xf8], 0
jl 0x140067e86
mov eax, 8
imul rax, rax, 1
mov rax, qword [rsp + rax + 0x240]
mov qword [rsp + 0x4b0], rax
mov eax, 8
imul rax, rax, 1
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + rax + 0x240]
call fcn.140006970
mov qword [rsp + 0x4b8], rax
mov byte [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8, qword [rsp + 0x4b0]
mov rdx, qword [rsp + 0x4b8]
lea rcx, [rsp + 0x510]
call fcn.140060dc0
movss xmm0, dword [rax]
movss dword [rsp + 0x7d8], xmm0
mov eax, 4
imul rax, rax, 1
cvtsi2ss xmm0, dword [rsp + rax + 0xf8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x7dc], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140067ec9
cvtsi2ss xmm0, dword [rsp + 0xd8]
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x6b0]
lea rcx, [rsp + 0x518]
call fcn.1400015c0
mov rax, qword [rax]
mov qword [rsp + 0x6e0], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x14006813b
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xe7c]
test eax, eax
je 0x14006813b
mov eax, dword [rsp + 0x898]
and eax, 0x1000
test eax, eax
jne 0x140067fc8
movss xmm0, dword [rsp + 0x6b0]
mulss xmm0, dword [0x1400b5b3c]
movss dword [rsp + 0x1cc], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x6b0]
subss xmm0, dword [rax + 0x38]
movss dword [rsp + 0x1c8], xmm0
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x48]
comiss xmm0, dword [rsp + 0x780]
jbe 0x140067f7c
movss xmm0, dword [rsp + 0x780]
subss xmm0, dword [rsp + 0x1cc]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.140039490
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x140067fc6
movss xmm0, dword [rsp + 0x780]
subss xmm0, dword [rsp + 0x1c8]
mov rax, qword [rsp + 0x58]
comiss xmm0, dword [rax + 0x48]
jb 0x140067fc6
movss xmm0, dword [rsp + 0x780]
subss xmm0, dword [rsp + 0x1c8]
addss xmm0, dword [rsp + 0x1cc]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x58]
movss dword [rax + 0x48], xmm0
jmp 0x140067fd5
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
movss dword [rax + 0x48], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x14006812f
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x784]
subss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x98]
comiss xmm1, xmm0
jbe 0x140068032
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x784]
subss xmm0, dword [rax + 0x1a80]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.140039490
movss dword [rsp + 0x98], xmm0
jmp 0x140068082
movss xmm0, dword [rsp + 0x784]
subss xmm0, dword [rsp + 0x6b4]
comiss xmm0, dword [rsp + 0x98]
jb 0x140068082
movss xmm0, dword [rsp + 0x784]
subss xmm0, dword [rsp + 0x6b4]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rax + 0x3c]
mulss xmm1, dword [0x1400b5c1c]
addss xmm0, xmm1
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rax + 0x3c]
mulss xmm0, dword [0x1400b5c1c]
movss xmm1, dword [rsp + 0x6e4]
addss xmm1, xmm0
movaps xmm0, xmm1
subss xmm0, dword [rsp + 0x6b4]
xorps xmm1, xmm1
call fcn.140039490
movss dword [rsp + 0x254], xmm0
movss xmm2, dword [rsp + 0x254]
xorps xmm1, xmm1
movss xmm0, dword [rsp + 0x98]
call fcn.1400395d0
movss dword [rsp + 0x98], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rax + 0xa0]
subss xmm0, dword [rsp + 0x98]
movss xmm1, dword [rsp + 0x794]
addss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rsp + 0x794], xmm0
mov rax, qword [rsp + 0xd0]
movss xmm0, dword [rsp + 0x98]
movss dword [rax + 0xa0], xmm0
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xe7c], 0
xorps xmm2, xmm2
mov rax, qword [rsp + 0x58]
movss xmm1, dword [rax + 0x48]
lea rcx, [rsp + 0x7b8]
call fcn.1400015c0
movzx eax, byte [rsp + 0x61]
test eax, eax
je 0x14006855f
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.1400394d0
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x4c0], rax
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x54]
mov rax, qword [rsp + 0x58]
mov ecx, dword [rax + 0x50]
call fcn.140039770
cdqe
mov rcx, qword [rsp + 0x140]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x2d0], rax
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x1400681d4
movss xmm0, dword [0x1400b5bf8]
movss dword [rsp + 0x1d0], xmm0
jmp 0x1400681e5
movss xmm0, dword [0x1400b5b94]
movss dword [rsp + 0x1d0], xmm0
movss xmm1, dword [rsp + 0x1d0]
mov ecx, 0x31
call fcn.140008370
mov dword [rsp + 0x264], eax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140068216
xorps xmm0, xmm0
movss dword [rsp + 0x1fc], xmm0
jmp 0x140068227
movss xmm0, dword [0x1400b5d58]
movss dword [rsp + 0x1fc], xmm0
movss xmm0, dword [rsp + 0x1fc]
movss dword [rsp + 0x260], xmm0
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140068250
xorps xmm0, xmm0
movss dword [rsp + 0x1d8], xmm0
jmp 0x140068261
movss xmm0, dword [0x1400b5c1c]
movss dword [rsp + 0x1d8], xmm0
movss xmm0, dword [rsp + 0x1d8]
movss dword [rsp + 0x25c], xmm0
lea r8, [rsp + 0x7d8]
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x520]
call fcn.140002230
lea r8, [rsp + 0x7b8]
mov rdx, rax
lea rcx, [rsp + 0x798]
call fcn.140002280
mov rax, qword [rsp + 0x4c0]
mov qword [rsp + 0x6d0], rax
mov rax, qword [rsp + 0x2d0]
cmp qword [rsp + 0x6d0], rax
jae 0x14006855f
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x7d4]
addss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x79c]
comiss xmm1, xmm0
jbe 0x1400682f7
jmp 0x14006855f
movss xmm0, dword [rsp + 0x7cc]
comiss xmm0, dword [rsp + 0x79c]
jbe 0x140068355
mov rax, qword [rsp + 0x2d0]
cmp qword [rsp + 0x6d0], rax
jae 0x140068350
mov rax, qword [rsp + 0x6d0]
movzx eax, word [rax]
mov dword [rsp + 0x258], eax
mov rax, qword [rsp + 0x6d0]
add rax, 2
mov qword [rsp + 0x6d0], rax
cmp dword [rsp + 0x258], 0xa
jne 0x14006834e
jmp 0x140068350
jmp 0x14006830a
jmp 0x140068520
mov byte [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x6d0]
mov r8, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x6d0]
lea rcx, [rsp + 0x720]
call fcn.140060dc0
xorps xmm0, xmm0
comiss xmm0, dword [rsp + 0x720]
jb 0x1400683d3
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x4c8], rax
mov dx, 0x20
mov rcx, qword [rsp + 0x4c8]
call fcn.14005bae0
mulss xmm0, dword [0x1400b5b7c]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x720], xmm0
movss xmm2, dword [rsp + 0x25c]
movss xmm1, dword [rsp + 0x720]
lea rcx, [rsp + 0x528]
call fcn.1400015c0
mov r8, rax
lea rdx, [rsp + 0x798]
lea rcx, [rsp + 0x530]
call fcn.140002230
mov qword [rsp + 0x4d0], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x260]
subss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
xorps xmm1, xmm1
lea rcx, [rsp + 0x538]
call fcn.1400015c0
mov r8, rax
lea rdx, [rsp + 0x798]
lea rcx, [rsp + 0x540]
call fcn.140002230
mov qword [rsp + 0x320], rax
mov r8, qword [rsp + 0x4d0]
mov rdx, qword [rsp + 0x320]
lea rcx, [rsp + 0x7f0]
call fcn.1400029e0
lea rdx, [rsp + 0x7c8]
lea rcx, [rsp + 0x5c8]
call fcn.140002a20
lea rdx, [rsp + 0x5c8]
lea rcx, [rsp + 0x7f0]
call fcn.1400030d0
lea rdx, [rsp + 0x7c8]
lea rcx, [rsp + 0x5d8]
call fcn.140002a20
lea rdx, [rsp + 0x5d8]
lea rcx, [rsp + 0x7f0]
call fcn.140002da0
movzx eax, al
test eax, eax
je 0x140068520
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x328], rax
mov dword [rsp + 0x28], 0
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x264]
lea r8, [rsp + 0x7f8]
lea rdx, [rsp + 0x7f0]
mov rcx, qword [rsp + 0x328]
call fcn.14004ae70
movss xmm0, dword [rsp + 0x790]
subss xmm0, dword [rsp + 0x7b8]
movss dword [rsp + 0x798], xmm0
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x79c]
addss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x79c], xmm0
jmp 0x1400682b8
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x14006858a
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x6b8]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x1400686c4
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x1400685a0
mov dword [rsp + 0x1dc], 1
jmp 0x1400685ab
mov dword [rsp + 0x1dc], 0
movss xmm1, dword [0x1400b5bf8]
mov ecx, dword [rsp + 0x1dc]
call fcn.140008370
mov dword [rsp + 0x268], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x3e0], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x1400685f4
mov qword [rsp + 0x308], 0
jmp 0x140068604
lea rax, [rsp + 0x7c8]
mov qword [rsp + 0x308], rax
mov rax, qword [rsp + 0x6b8]
mov qword [rsp + 0x330], rax
lea r8, [rsp + 0x7b8]
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x548]
call fcn.140002280
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x1a80]
movss dword [rsp + 0x26c], xmm0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x1a78]
mov qword [rsp + 0x398], rax
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x268]
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0x338]
movss xmm2, dword [rsp + 0x26c]
mov rdx, qword [rsp + 0x398]
mov rcx, qword [rsp + 0x3e0]
call fcn.14004b250
movzx eax, byte [rsp + 0x62]
test eax, eax
je 0x140068ae2
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 + 0xd1]
test eax, eax
je 0x14006874d
mov rax, qword [rsp + 0x58]
xorps xmm0, xmm0
comiss xmm0, dword [rax + 0xe78]
jae 0x14006874d
mov rax, qword [rsp + 0x58]
movss xmm0, dword [rax + 0xe78]
movss xmm1, dword [0x1400b5c00]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movss xmm1, dword [0x1400b5bc8]
comiss xmm1, xmm0
jae 0x14006874d
mov dword [rsp + 0x1e0], 0
jmp 0x140068758
mov dword [rsp + 0x1e0], 1
movzx eax, byte [rsp + 0x1e0]
mov byte [rsp + 0xf4], al
lea r8, [rsp + 0x780]
lea rdx, [rsp + 0x790]
lea rcx, [rsp + 0x550]
call fcn.140002230
lea r8, [rsp + 0x7b8]
mov rdx, rax
lea rcx, [rsp + 0x558]
call fcn.140002280
mov rdx, rax
lea rcx, [rsp + 0x6d8]
call fcn.140002870
movss xmm0, dword [rsp + 0x6dc]
subss xmm0, dword [0x1400b5c10]
movss xmm1, dword [rsp + 0x6d8]
addss xmm1, dword [0x1400b5bf8]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rsp + 0x6dc]
subss xmm2, dword [rax + 0x1a80]
addss xmm2, dword [0x1400b5b7c]
movss dword [rsp + 0x20], xmm0
movaps xmm3, xmm1
movss xmm1, dword [rsp + 0x6d8]
lea rcx, [rsp + 0x808]
call fcn.140002a90
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400b5ca0]
movss dword [rsp + 0x270], xmm0
lea rcx, [rsp + 0x788]
call fcn.14006ed90
add rax, 4
mov qword [rsp + 0x3d0], rax
movss xmm3, dword [rsp + 0x270]
lea r8, [rsp + 0x808]
mov rdx, qword [rsp + 0x3d0]
lea rcx, [rsp + 0x560]
call fcn.14005bb40
mov rax, qword [rax]
mov qword [rsp + 0x3b0], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
mov rcx, qword [rsp + 0x3b0]
mov qword [rax + 4], rcx
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rax + 0x18]
mulss xmm0, dword [0x1400b5ca0]
movss dword [rsp + 0x274], xmm0
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x808]
call fcn.140002c30
mov qword [rsp + 0x3a8], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
add rax, 0xc
mov qword [rsp + 0x3a0], rax
movss xmm3, dword [rsp + 0x274]
mov r8, qword [rsp + 0x3a8]
mov rdx, qword [rsp + 0x3a0]
lea rcx, [rsp + 0x570]
call fcn.14005bb40
mov rax, qword [rax]
mov qword [rsp + 0x390], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
mov rcx, qword [rsp + 0x390]
mov qword [rax + 0xc], rcx
movzx eax, byte [rsp + 0xf4]
test eax, eax
je 0x140068a7b
lea rdx, [rsp + 0x7c8]
lea rcx, [rsp + 0x5e8]
call fcn.140002a20
lea rdx, [rsp + 0x5e8]
lea rcx, [rsp + 0x808]
call fcn.140002da0
movzx eax, al
test eax, eax
je 0x140068a7b
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x350], rax
movss xmm1, dword [0x1400b5bf8]
xor ecx, ecx
call fcn.140008370
mov dword [rsp + 0x278], eax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x578]
call fcn.1400015c0
mov qword [rsp + 0x388], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
add rax, 0xc
mov qword [rsp + 0x380], rax
mov r8, qword [rsp + 0x388]
mov rdx, qword [rsp + 0x380]
lea rcx, [rsp + 0x580]
call fcn.140002230
mov qword [rsp + 0x360], rax
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rsp + 0x588]
call fcn.1400015c0
mov qword [rsp + 0x3b8], rax
lea rcx, [rsp + 0x788]
call fcn.14006ed90
add rax, 4
mov qword [rsp + 0x368], rax
mov r8, qword [rsp + 0x3b8]
mov rdx, qword [rsp + 0x368]
lea rcx, [rsp + 0x590]
call fcn.140002230
mov qword [rsp + 0x358], rax
movss xmm0, dword [0x1400b5bf8]
movss dword [rsp + 0x20], xmm0
mov r9d, dword [rsp + 0x278]
mov r8, qword [rsp + 0x360]
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x350]
call fcn.14004ac00
movzx eax, byte [rsp + 0x60]
test eax, eax
jne 0x140068ae2
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x108]
mov rcx, qword [rcx + 0x38]
mov qword [rax + 0x31b0], rcx
mov rax, qword [rsp + 0x68]
movss xmm0, dword [rsp + 0x6dc]
subss xmm0, dword [rax + 0x1a80]
movss xmm1, dword [rsp + 0x6d8]
subss xmm1, dword [0x1400b5bf8]
movaps xmm2, xmm0
lea rcx, [rsp + 0x598]
call fcn.1400015c0
mov rax, qword [rax]
mov rcx, qword [rsp + 0x68]
mov qword [rcx + 0x31a0], rax
jmp 0x140068ce9
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140068b3f
lea rdx, [rsp + 0x6b8]
mov rcx, qword [rsp + 0x110]
call fcn.140060d00
cvtsi2ss xmm0, eax
mov rax, qword [rsp + 0x68]
mulss xmm0, dword [rax + 0x1a80]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x6b0]
lea rcx, [rsp + 0x5a0]
call fcn.1400015c0
mov rax, qword [rax]
mov qword [rsp + 0x6e0], rax
jmp 0x140068bdb
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x140068b7a
mov rax, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x74]
cmp dword [rax + 0x1d6c], ecx
jne 0x140068b7a
mov rax, qword [rsp + 0x58]
movsxd rax, dword [rax + 8]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6b8], rax
jmp 0x140068bdb
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x140068bdb
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x348], rax
mov qword [rsp + 0x238], 0xffffffffffffffff
inc qword [rsp + 0x238]
mov rax, qword [rsp + 0x348]
mov rcx, qword [rsp + 0x238]
cmp byte [rax + rcx], 0
jne 0x140068b9f
mov rax, qword [rsp + 0x238]
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x6b8], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
jne 0x140068c06
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x6b8]
sub rcx, rax
mov rax, rcx
cmp rax, 0x200000
jge 0x140068ce9
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x140068c1c
mov dword [rsp + 0x1e4], 1
jmp 0x140068c27
mov dword [rsp + 0x1e4], 0
movss xmm1, dword [0x1400b5bf8]
mov ecx, dword [rsp + 0x1e4]
call fcn.140008370
mov dword [rsp + 0x27c], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x340], rax
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140068c70
mov qword [rsp + 0x2f8], 0
jmp 0x140068c80
lea rax, [rsp + 0x7c8]
mov qword [rsp + 0x2f8], rax
mov rax, qword [rsp + 0x2f8]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x6b8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x27c]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x790]
mov rax, qword [rsp + 0x68]
movss xmm2, dword [rax + 0x1a80]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x1a78]
mov rcx, qword [rsp + 0x340]
call fcn.14004b250
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140068d00
movzx eax, byte [rsp + 0x63]
test eax, eax
jne 0x140068d00
call fcn.14001b750
movzx eax, byte [rsp + 0x50]
test eax, eax
je 0x140068d4a
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x6e4]
addss xmm0, dword [rax + 0x3c]
movaps xmm2, xmm0
movss xmm1, dword [rsp + 0x6e0]
lea rcx, [rsp + 0x5a8]
call fcn.1400015c0
mov rcx, rax
call fcn.14005f880
call fcn.140011eb0
call fcn.14001d380
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 0x3254]
test eax, eax
je 0x140068d9c
movzx eax, byte [rsp + 0x78]
test eax, eax
je 0x140068d6c
movzx eax, byte [rsp + 0x63]
test eax, eax
je 0x140068d9c
lea rdx, [0x1400b5118]
lea rcx, [0x1400b511c]
call fcn.140025e70
mov r8, qword [rsp + 0x6b8]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x790]
call fcn.140025af0
movss xmm0, dword [rsp + 0x7b0]
comiss xmm0, dword [0x1400b5ad8]
jbe 0x140068e00
mov rax, qword [rsp + 0xe0]
movss xmm0, dword [rsp + 0x6c4]
addss xmm0, dword [rax + 0x3c]
mov rax, qword [rsp + 0xe0]
movss xmm1, dword [rsp + 0x6c8]
addss xmm1, dword [rax + 0x50]
movaps xmm2, xmm0
lea rcx, [rsp + 0x5b0]
call fcn.1400015c0
mov r9b, 1
xor r8d, r8d
mov rdx, qword [rsp + 0x870]
mov rcx, qword [rax]
call fcn.140008ae0
movzx eax, byte [rsp + 0x93]
test eax, eax
je 0x140068e25
mov eax, dword [rsp + 0x898]
and eax, 0x8000000
test eax, eax
jne 0x140068e25
mov ecx, dword [rsp + 0x74]
call fcn.14000b0c0
xor eax, eax
test eax, eax
jne 0x140068e25
mov eax, dword [rsp + 0x898]
and eax, 0x20
test eax, eax
je 0x140068e45
movzx eax, byte [rsp + 0x92]
jmp 0x140068e4d
movzx eax, byte [rsp + 0x93]
mov rcx, qword [rsp + 0x848]
xor rcx, rsp
call fcn.14009a360
add rsp, 0x858
pop rdi
pop rsi
ret