1800a1f56:	cc                   	int3
1800a1f57:	cc                   	int3
1800a1f58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800a1f5d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800a1f62:	57                   	push   %rdi
1800a1f63:	48 83 ec 20          	sub    $0x20,%rsp
1800a1f67:	48 8b c2             	mov    %rdx,%rax
1800a1f6a:	48 8b f9             	mov    %rcx,%rdi
1800a1f6d:	48 8b c8             	mov    %rax,%rcx
1800a1f70:	48 8d 15 21 04 0b 00 	lea    0xb0421(%rip),%rdx        # 0x180152398
1800a1f77:	e8 e4 90 07 00       	call   0x18011b060
1800a1f7c:	33 f6                	xor    %esi,%esi
1800a1f7e:	48 8b d0             	mov    %rax,%rdx
1800a1f81:	48 85 c0             	test   %rax,%rax
1800a1f84:	74 60                	je     0x1800a1fe6
1800a1f86:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
1800a1f8a:	48 8b c3             	mov    %rbx,%rax
1800a1f8d:	48 ff c0             	inc    %rax
1800a1f90:	66 39 34 42          	cmp    %si,(%rdx,%rax,2)
1800a1f94:	75 f7                	jne    0x1800a1f8d
1800a1f96:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
1800a1f9a:	3b 47 3c             	cmp    0x3c(%rdi),%eax
1800a1f9d:	73 0e                	jae    0x1800a1fad
1800a1f9f:	44 8d 40 01          	lea    0x1(%rax),%r8d
1800a1fa3:	4d 03 c0             	add    %r8,%r8
1800a1fa6:	e8 15 3a 09 00       	call   0x1801359c0
1800a1fab:	eb 19                	jmp    0x1800a1fc6
1800a1fad:	44 8b 47 3c          	mov    0x3c(%rdi),%r8d
1800a1fb1:	4d 03 c0             	add    %r8,%r8
1800a1fb4:	e8 07 3a 09 00       	call   0x1801359c0
1800a1fb9:	8b 4f 3c             	mov    0x3c(%rdi),%ecx
1800a1fbc:	48 8b 47 50          	mov    0x50(%rdi),%rax
1800a1fc0:	ff c9                	dec    %ecx
1800a1fc2:	66 89 34 48          	mov    %si,(%rax,%rcx,2)
1800a1fc6:	48 8b 4f 50          	mov    0x50(%rdi),%rcx
1800a1fca:	48 ff c3             	inc    %rbx
1800a1fcd:	66 39 34 59          	cmp    %si,(%rcx,%rbx,2)
1800a1fd1:	75 f7                	jne    0x1800a1fca
1800a1fd3:	48 8b cf             	mov    %rdi,%rcx
1800a1fd6:	89 5f 40             	mov    %ebx,0x40(%rdi)
1800a1fd9:	89 5f 44             	mov    %ebx,0x44(%rdi)
1800a1fdc:	e8 0b de ff ff       	call   0x18009fdec
1800a1fe1:	b8 01 00 00 00       	mov    $0x1,%eax
1800a1fe6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800a1feb:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800a1ff0:	48 83 c4 20          	add    $0x20,%rsp
1800a1ff4:	5f                   	pop    %rdi
1800a1ff5:	c3                   	ret
1800a1ff6:	cc                   	int3
1800a1ff7:	cc                   	int3
1800a1ff8:	48 8b c4             	mov    %rsp,%rax
1800a1ffb:	4c 89 40 18          	mov    %r8,0x18(%rax)
1800a1fff:	48 89 48 08          	mov    %rcx,0x8(%rax)
1800a2003:	53                   	push   %rbx
1800a2004:	55                   	push   %rbp
1800a2005:	56                   	push   %rsi
1800a2006:	57                   	push   %rdi
1800a2007:	41 54                	push   %r12
1800a2009:	41 55                	push   %r13
1800a200b:	41 56                	push   %r14
1800a200d:	41 57                	push   %r15
1800a200f:	48 83 ec 58          	sub    $0x58,%rsp
1800a2013:	44 8b 62 0c          	mov    0xc(%rdx),%r12d
1800a2017:	49 8b f9             	mov    %r9,%rdi
1800a201a:	45 8b 78 04          	mov    0x4(%r8),%r15d
1800a201e:	4d 8b f0             	mov    %r8,%r14
1800a2021:	44 89 78 ac          	mov    %r15d,-0x54(%rax)
1800a2025:	48 8b f1             	mov    %rcx,%rsi
1800a2028:	44 89 60 94          	mov    %r12d,-0x6c(%rax)
1800a202c:	8b 5a 08             	mov    0x8(%rdx),%ebx
1800a202f:	44 89 60 b4          	mov    %r12d,-0x4c(%rax)
1800a2033:	8b 02                	mov    (%rdx),%eax
1800a2035:	89 44 24 40          	mov    %eax,0x40(%rsp)
1800a2039:	89 5c 24 48          	mov    %ebx,0x48(%rsp)
1800a203d:	89 41 10             	mov    %eax,0x10(%rcx)
1800a2040:	44 89 79 14          	mov    %r15d,0x14(%rcx)
1800a2044:	89 59 18             	mov    %ebx,0x18(%rcx)
1800a2047:	44 89 61 1c          	mov    %r12d,0x1c(%rcx)
1800a204b:	49 8b 00             	mov    (%r8),%rax
1800a204e:	48 89 41 20          	mov    %rax,0x20(%rcx)
1800a2052:	4c 89 49 28          	mov    %r9,0x28(%rcx)
1800a2056:	c7 41 30 01 00 00 00 	movl   $0x1,0x30(%rcx)
1800a205d:	45 39 60 04          	cmp    %r12d,0x4(%r8)
1800a2061:	0f 83 25 05 00 00    	jae    0x1800a258c
1800a2067:	83 79 68 01          	cmpl   $0x1,0x68(%rcx)
1800a206b:	49 8b 01             	mov    (%r9),%rax
1800a206e:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a2072:	75 07                	jne    0x1800a207b
1800a2074:	ba 2a 00 00 00       	mov    $0x2a,%edx
1800a2079:	eb 10                	jmp    0x1800a208b
1800a207b:	83 79 68 03          	cmpl   $0x3,0x68(%rcx)
1800a207f:	ba 30 00 00 00       	mov    $0x30,%edx
1800a2084:	74 05                	je     0x1800a208b
1800a2086:	ba 25 00 00 00       	mov    $0x25,%edx
1800a208b:	48 8b cf             	mov    %rdi,%rcx
1800a208e:	ff d0                	call   *%rax
1800a2090:	0f 1f 00             	nopl   (%rax)
1800a2093:	89 44 24 24          	mov    %eax,0x24(%rsp)
1800a2097:	ba 5b 00 00 00       	mov    $0x5b,%edx
1800a209c:	48 8b 07             	mov    (%rdi),%rax
1800a209f:	48 8b cf             	mov    %rdi,%rcx
1800a20a2:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a20a6:	ff d0                	call   *%rax
1800a20a8:	0f 1f 00             	nopl   (%rax)
1800a20ab:	8b e8                	mov    %eax,%ebp
1800a20ad:	ba 20 00 00 00       	mov    $0x20,%edx
1800a20b2:	48 8b 07             	mov    (%rdi),%rax
1800a20b5:	48 8b cf             	mov    %rdi,%rcx
1800a20b8:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a20bc:	ff d0                	call   *%rax
1800a20be:	0f 1f 00             	nopl   (%rax)
1800a20c1:	03 e8                	add    %eax,%ebp
1800a20c3:	41 8b c4             	mov    %r12d,%eax
1800a20c6:	89 ac 24 b8 00 00 00 	mov    %ebp,0xb8(%rsp)
1800a20cd:	41 2b c7             	sub    %r15d,%eax
1800a20d0:	03 ed                	add    %ebp,%ebp
1800a20d2:	3b c5                	cmp    %ebp,%eax
1800a20d4:	0f 82 b2 04 00 00    	jb     0x1800a258c
1800a20da:	8b 46 38             	mov    0x38(%rsi),%eax
1800a20dd:	41 8b cc             	mov    %r12d,%ecx
1800a20e0:	2b cd                	sub    %ebp,%ecx
1800a20e2:	49 83 cd ff          	or     $0xffffffffffffffff,%r13
1800a20e6:	41 2b cf             	sub    %r15d,%ecx
1800a20e9:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
1800a20ed:	41 3b c5             	cmp    %r13d,%eax
1800a20f0:	75 0f                	jne    0x1800a2101
1800a20f2:	33 d2                	xor    %edx,%edx
1800a20f4:	8b c1                	mov    %ecx,%eax
1800a20f6:	f7 74 24 24          	divl   0x24(%rsp)
1800a20fa:	8b e9                	mov    %ecx,%ebp
1800a20fc:	89 46 38             	mov    %eax,0x38(%rsi)
1800a20ff:	eb 07                	jmp    0x1800a2108
1800a2101:	8b e8                	mov    %eax,%ebp
1800a2103:	0f af 6c 24 24       	imul   0x24(%rsp),%ebp
1800a2108:	83 f8 05             	cmp    $0x5,%eax
1800a210b:	0f 8e 7b 04 00 00    	jle    0x1800a258c
1800a2111:	33 c0                	xor    %eax,%eax
1800a2113:	39 46 60             	cmp    %eax,0x60(%rsi)
1800a2116:	74 11                	je     0x1800a2129
1800a2118:	48 8b 07             	mov    (%rdi),%rax
1800a211b:	33 d2                	xor    %edx,%edx
1800a211d:	48 8b cf             	mov    %rdi,%rcx
1800a2120:	48 8b 40 60          	mov    0x60(%rax),%rax
1800a2124:	ff d0                	call   *%rax
1800a2126:	0f 1f 00             	nopl   (%rax)
1800a2129:	48 8b 07             	mov    (%rdi),%rax
1800a212c:	48 8b cf             	mov    %rdi,%rcx
1800a212f:	45 8b 46 04          	mov    0x4(%r14),%r8d
1800a2133:	41 8b 16             	mov    (%r14),%edx
1800a2136:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a213a:	ff d0                	call   *%rax
1800a213c:	0f 1f 00             	nopl   (%rax)
1800a213f:	48 8b 07             	mov    (%rdi),%rax
1800a2142:	48 8b cf             	mov    %rdi,%rcx
1800a2145:	48 8b 40 50          	mov    0x50(%rax),%rax
1800a2149:	ff d0                	call   *%rax
1800a214b:	0f 1f 00             	nopl   (%rax)
1800a214e:	0f 10 44 24 40       	movups 0x40(%rsp),%xmm0
1800a2153:	66 89 84 24 a8 00 00 	mov    %ax,0xa8(%rsp)
1800a215a:	00
1800a215b:	48 8b cf             	mov    %rdi,%rcx
1800a215e:	f3 0f 7f 46 10       	movdqu %xmm0,0x10(%rsi)
1800a2163:	49 8b 06             	mov    (%r14),%rax
1800a2166:	48 89 46 20          	mov    %rax,0x20(%rsi)
1800a216a:	48 89 7e 28          	mov    %rdi,0x28(%rsi)
1800a216e:	c7 46 30 01 00 00 00 	movl   $0x1,0x30(%rsi)
1800a2175:	48 8b 07             	mov    (%rdi),%rax
1800a2178:	48 8b 40 20          	mov    0x20(%rax),%rax
1800a217c:	ff d0                	call   *%rax
1800a217e:	0f 1f 00             	nopl   (%rax)
1800a2181:	45 8b c4             	mov    %r12d,%r8d
1800a2184:	89 44 24 20          	mov    %eax,0x20(%rsp)
1800a2188:	44 2b c5             	sub    %ebp,%r8d
1800a218b:	45 39 46 04          	cmp    %r8d,0x4(%r14)
1800a218f:	7e 33                	jle    0x1800a21c4
1800a2191:	41 8b 16             	mov    (%r14),%edx
1800a2194:	03 d0                	add    %eax,%edx
1800a2196:	45 89 7e 04          	mov    %r15d,0x4(%r14)
1800a219a:	41 89 16             	mov    %edx,(%r14)
1800a219d:	3b d3                	cmp    %ebx,%edx
1800a219f:	0f 83 e7 03 00 00    	jae    0x1800a258c
1800a21a5:	45 3b f8             	cmp    %r8d,%r15d
1800a21a8:	0f 8f de 03 00 00    	jg     0x1800a258c
1800a21ae:	48 8b 07             	mov    (%rdi),%rax
1800a21b1:	45 8b c7             	mov    %r15d,%r8d
1800a21b4:	48 8b cf             	mov    %rdi,%rcx
1800a21b7:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a21bb:	ff d0                	call   *%rax
1800a21bd:	0f 1f 00             	nopl   (%rax)
1800a21c0:	03 5c 24 20          	add    0x20(%rsp),%ebx
1800a21c4:	8b 4e 38             	mov    0x38(%rsi),%ecx
1800a21c7:	33 d2                	xor    %edx,%edx
1800a21c9:	8b 46 3c             	mov    0x3c(%rsi),%eax
1800a21cc:	83 e9 04             	sub    $0x4,%ecx
1800a21cf:	41 2b 1e             	sub    (%r14),%ebx
1800a21d2:	f7 f1                	div    %ecx
1800a21d4:	33 d2                	xor    %edx,%edx
1800a21d6:	8d 48 01             	lea    0x1(%rax),%ecx
1800a21d9:	8b c3                	mov    %ebx,%eax
1800a21db:	f7 74 24 20          	divl   0x20(%rsp)
1800a21df:	3b c8                	cmp    %eax,%ecx
1800a21e1:	0f 87 a5 03 00 00    	ja     0x1800a258c
1800a21e7:	48 8b 07             	mov    (%rdi),%rax
1800a21ea:	33 db                	xor    %ebx,%ebx
1800a21ec:	48 8b cf             	mov    %rdi,%rcx
1800a21ef:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a21f3:	39 5e 60             	cmp    %ebx,0x60(%rsi)
1800a21f6:	74 34                	je     0x1800a222c
1800a21f8:	0f b7 56 6c          	movzwl 0x6c(%rsi),%edx
1800a21fc:	ff d0                	call   *%rax
1800a21fe:	0f 1f 00             	nopl   (%rax)
1800a2201:	48 8b 07             	mov    (%rdi),%rax
1800a2204:	48 8d 15 c5 03 0b 00 	lea    0xb03c5(%rip),%rdx        # 0x1801525d0
1800a220b:	48 8b cf             	mov    %rdi,%rcx
1800a220e:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a2212:	ff d0                	call   *%rax
1800a2214:	0f 1f 00             	nopl   (%rax)
1800a2217:	48 8b 07             	mov    (%rdi),%rax
1800a221a:	48 8b cf             	mov    %rdi,%rcx
1800a221d:	0f b7 56 6e          	movzwl 0x6e(%rsi),%edx
1800a2221:	48 8b 40 48          	mov    0x48(%rax),%rax
1800a2225:	ff d0                	call   *%rax
1800a2227:	0f 1f 00             	nopl   (%rax)
1800a222a:	eb 1f                	jmp    0x1800a224b
1800a222c:	0f b7 56 6e          	movzwl 0x6e(%rsi),%edx
1800a2230:	ff d0                	call   *%rax
1800a2232:	0f 1f 00             	nopl   (%rax)
1800a2235:	48 8b 07             	mov    (%rdi),%rax
1800a2238:	48 8d 15 89 03 0b 00 	lea    0xb0389(%rip),%rdx        # 0x1801525c8
1800a223f:	48 8b cf             	mov    %rdi,%rcx
1800a2242:	48 8b 40 78          	mov    0x78(%rax),%rax
1800a2246:	ff d0                	call   *%rax
1800a2248:	0f 1f 00             	nopl   (%rax)
1800a224b:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
1800a2252:	41 8b d4             	mov    %r12d,%edx
1800a2255:	44 8b 46 3c          	mov    0x3c(%rsi),%r8d
1800a2259:	2b d0                	sub    %eax,%edx
1800a225b:	44 0f af 44 24 24    	imul   0x24(%rsp),%r8d
1800a2261:	45 33 c9             	xor    %r9d,%r9d
1800a2264:	41 8b 4e 04          	mov    0x4(%r14),%ecx
1800a2268:	41 8b 2e             	mov    (%r14),%ebp
1800a226b:	89 54 24 28          	mov    %edx,0x28(%rsp)
1800a226f:	44 89 44 24 30       	mov    %r8d,0x30(%rsp)
1800a2274:	8d 1c 01             	lea    (%rcx,%rax,1),%ebx
1800a2277:	45 85 c0             	test   %r8d,%r8d
1800a227a:	0f 84 e4 00 00 00    	je     0x1800a2364
1800a2280:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
1800a2285:	44 8b e0             	mov    %eax,%r12d
1800a2288:	45 8b e9             	mov    %r9d,%r13d
1800a228b:	8b f2                	mov    %edx,%esi
1800a228d:	48 8b 07             	mov    (%rdi),%rax
1800a2290:	ba 20 00 00 00       	mov    $0x20,%edx
1800a2295:	48 8b cf             	mov    %rdi,%rcx
1800a2298:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a229c:	ff d0                	call   *%rax
1800a229e:	0f 1f 00             	nopl   (%rax)
1800a22a1:	44 03 e8             	add    %eax,%r13d
1800a22a4:	ba 20 00 00 00       	mov    $0x20,%edx
1800a22a9:	48 8b 07             	mov    (%rdi),%rax
1800a22ac:	48 8b cf             	mov    %rdi,%rcx
1800a22af:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a22b3:	ff d0                	call   *%rax
1800a22b5:	0f 1f 00             	nopl   (%rax)
1800a22b8:	03 d8                	add    %eax,%ebx
1800a22ba:	3b de                	cmp    %esi,%ebx
1800a22bc:	76 5a                	jbe    0x1800a2318
1800a22be:	48 8b 1f             	mov    (%rdi),%rbx
1800a22c1:	ba 20 00 00 00       	mov    $0x20,%edx
1800a22c6:	48 8b cf             	mov    %rdi,%rcx
1800a22c9:	48 8b 43 28          	mov    0x28(%rbx),%rax
1800a22cd:	ff d0                	call   *%rax
1800a22cf:	0f 1f 00             	nopl   (%rax)
1800a22d2:	44 8b c6             	mov    %esi,%r8d
1800a22d5:	8b d5                	mov    %ebp,%edx
1800a22d7:	44 2b c0             	sub    %eax,%r8d
1800a22da:	48 8b cf             	mov    %rdi,%rcx
1800a22dd:	48 8b 43 58          	mov    0x58(%rbx),%rax
1800a22e1:	ff d0                	call   *%rax
1800a22e3:	0f 1f 00             	nopl   (%rax)
1800a22e6:	48 8b 07             	mov    (%rdi),%rax
1800a22e9:	ba 20 00 00 00       	mov    $0x20,%edx
1800a22ee:	48 8b cf             	mov    %rdi,%rcx
1800a22f1:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a22f8:	ff d0                	call   *%rax
1800a22fa:	0f 1f 00             	nopl   (%rax)
1800a22fd:	48 8b 07             	mov    (%rdi),%rax
1800a2300:	43 8d 1c 3c          	lea    (%r12,%r15,1),%ebx
1800a2304:	41 03 ee             	add    %r14d,%ebp
1800a2307:	44 8b c3             	mov    %ebx,%r8d
1800a230a:	8b d5                	mov    %ebp,%edx
1800a230c:	48 8b cf             	mov    %rdi,%rcx
1800a230f:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a2313:	ff d0                	call   *%rax
1800a2315:	0f 1f 00             	nopl   (%rax)
1800a2318:	48 8b 07             	mov    (%rdi),%rax
1800a231b:	ba 20 00 00 00       	mov    $0x20,%edx
1800a2320:	48 8b cf             	mov    %rdi,%rcx
1800a2323:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800a232a:	ff d0                	call   *%rax
1800a232c:	0f 1f 00             	nopl   (%rax)
1800a232f:	44 3b 6c 24 30       	cmp    0x30(%rsp),%r13d
1800a2334:	0f 82 53 ff ff ff    	jb     0x1800a228d
1800a233a:	4c 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%r14
1800a2341:	00
1800a2342:	49 83 cd ff          	or     $0xffffffffffffffff,%r13
1800a2346:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
1800a234d:	00
1800a234e:	45 33 c9             	xor    %r9d,%r9d
1800a2351:	44 8b 64 24 2c       	mov    0x2c(%rsp),%r12d
1800a2356:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
1800a235d:	41 8b 4e 04          	mov    0x4(%r14),%ecx
1800a2361:	41 8b 2e             	mov    (%r14),%ebp
1800a2364:	48 8b 56 50          	mov    0x50(%rsi),%rdx
1800a2368:	49 ff c5             	inc    %r13
1800a236b:	66 46 39 0c 6a       	cmp    %r9w,(%rdx,%r13,2)
1800a2370:	75 f6                	jne    0x1800a2368
1800a2372:	8d 1c 01             	lea    (%rcx,%rax,1),%ebx
1800a2375:	8b d5                	mov    %ebp,%edx
1800a2377:	48 8b 07             	mov    (%rdi),%rax
1800a237a:	44 8b c3             	mov    %ebx,%r8d
1800a237d:	48 8b cf             	mov    %rdi,%rcx
1800a2380:	48 8b 40 58          	mov    0x58(%rax),%rax
1800a2384:	ff d0                	call   *%rax
1800a2386:	0f 1f 00             	nopl   (%rax)
1800a2389:	33 c0                	xor    %eax,%eax
1800a238b:	45 85 ed             	test   %r13d,%r13d
1800a238e:	0f 84 ef 00 00 00    	je     0x1800a2483
1800a2394:	83 7e 68 01          	cmpl   $0x1,0x68(%rsi)
1800a2398:	45 8b ed             	mov    %r13d,%r13d
1800a239b:	75 6d                	jne    0x1800a240a
1800a239d:	44 8b a4 24 b8 00 00 	mov    0xb8(%rsp),%r12d
1800a23a4:	00
1800a23a5:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
1800a23aa:	8b 74 24 28          	mov    0x28(%rsp),%esi
1800a23ae:	48 8b 07             	mov    (%rdi),%rax
1800a23b1:	ba 2a 00 00 00       	mov    $0x2a,%edx
1800a23b6:	48 8b cf             	mov    %rdi,%rcx
1800a23b9:	48 8b 40 28          	mov    0x28(%rax),%rax
1800a23bd:	ff d0                	call   *%rax
1800a23bf:	0f 1f 00             	nopl   (%rax)
1800a23c2:	03 d8                	add    %eax,%ebx
1800a23c4:	3b de                	cmp    %esi,%ebx
1800a23c6:	76 1b                	jbe    0x1800a23e3
1800a23c8:	48 8b 07             	mov    (%rdi),%rax
1800a23cb:	43 8d 1c 3c          	lea    (%r12,%r15,1),%ebx
1800a23cf:	41 03 ee             	add    %r14d,%ebp
1800a23d2:	44 8b c3             	mov    %ebx,%r8d
1800a23d5:	8b d5                	mov    %ebp,%edx
1800a23d7:	48 8b cf             	mov    %rdi,%rcx
1800a23da:	48 8b 40 58          	mov    0x58(%rax),%rax