1405a7fd2:	3b c8                	cmp    %eax,%ecx
1405a7fd4:	74 14                	je     0x1405a7fea
1405a7fd6:	49 8b 51 28          	mov    0x28(%r9),%rdx
1405a7fda:	48 63 c9             	movslq %ecx,%rcx
1405a7fdd:	4a 8b 44 c2 f8       	mov    -0x8(%rdx,%r8,8),%rax
1405a7fe2:	48 89 04 ca          	mov    %rax,(%rdx,%rcx,8)
1405a7fe6:	41 ff 49 34          	decl   0x34(%r9)
1405a7fea:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1405a7fee:	48 85 c9             	test   %rcx,%rcx
1405a7ff1:	74 1f                	je     0x1405a8012
1405a7ff3:	8b 41 10             	mov    0x10(%rcx),%eax
1405a7ff6:	ff c8                	dec    %eax
1405a7ff8:	89 41 10             	mov    %eax,0x10(%rcx)
1405a7ffb:	85 c0                	test   %eax,%eax
1405a7ffd:	7f 13                	jg     0x1405a8012
1405a7fff:	78 3c                	js     0x1405a803d
1405a8001:	48 8b 01             	mov    (%rcx),%rax
1405a8004:	ba 01 00 00 00       	mov    $0x1,%edx
1405a8009:	48 8b 00             	mov    (%rax),%rax
1405a800c:	ff 15 0e ba 9d 00    	call   *0x9dba0e(%rip)        # 0x140f83a20
1405a8012:	48 8d 05 ef 31 a4 00 	lea    0xa431ef(%rip),%rax        # 0x140feb208
1405a8019:	48 89 03             	mov    %rax,(%rbx)
1405a801c:	40 f6 c7 01          	test   $0x1,%dil
1405a8020:	74 0d                	je     0x1405a802f
1405a8022:	ba 38 00 00 00       	mov    $0x38,%edx
1405a8027:	48 8b cb             	mov    %rbx,%rcx
1405a802a:	e8 15 31 87 00       	call   0x140e1b144
1405a802f:	48 8b c3             	mov    %rbx,%rax
1405a8032:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a8037:	48 83 c4 20          	add    $0x20,%rsp
1405a803b:	5f                   	pop    %rdi
1405a803c:	c3                   	ret
1405a803d:	b9 02 00 00 00       	mov    $0x2,%ecx
1405a8042:	e8 b9 26 1e 00       	call   0x14078a700
1405a8047:	cc                   	int3
1405a8048:	48 8d 15 d9 ac a6 00 	lea    0xa6acd9(%rip),%rdx        # 0x141012d28
1405a804f:	48 8b 0d a2 94 e8 00 	mov    0xe894a2(%rip),%rcx        # 0x1414314f8
1405a8056:	e8 b5 bb 1e 00       	call   0x140793c10
1405a805b:	cc                   	int3
1405a805c:	cc                   	int3
1405a805d:	cc                   	int3
1405a805e:	cc                   	int3
1405a805f:	cc                   	int3
1405a8060:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a8065:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405a806a:	57                   	push   %rdi
1405a806b:	48 83 ec 30          	sub    $0x30,%rsp
1405a806f:	0f 29 74 24 20       	movaps %xmm6,0x20(%rsp)
1405a8074:	41 0f b6 f9          	movzbl %r9b,%edi
1405a8078:	0f 28 f2             	movaps %xmm2,%xmm6
1405a807b:	48 8b f2             	mov    %rdx,%rsi
1405a807e:	48 8b d9             	mov    %rcx,%rbx
1405a8081:	f6 41 58 02          	testb  $0x2,0x58(%rcx)
1405a8085:	75 7e                	jne    0x1405a8105
1405a8087:	80 79 5c 00          	cmpb   $0x0,0x5c(%rcx)
1405a808b:	74 78                	je     0x1405a8105
1405a808d:	b9 38 00 00 00       	mov    $0x38,%ecx
1405a8092:	e8 71 30 87 00       	call   0x140e1b108
1405a8097:	48 8b d0             	mov    %rax,%rdx
1405a809a:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1405a809f:	48 85 c0             	test   %rax,%rax
1405a80a2:	74 40                	je     0x1405a80e4
1405a80a4:	f2 0f 11 70 08       	movsd  %xmm6,0x8(%rax)
1405a80a9:	c7 40 10 ff ff ff ff 	movl   $0xffffffff,0x10(%rax)
1405a80b0:	0f b6 44 24 60       	movzbl 0x60(%rsp),%eax
1405a80b5:	88 42 18             	mov    %al,0x18(%rdx)
1405a80b8:	48 8d 05 59 ac a6 00 	lea    0xa6ac59(%rip),%rax        # 0x141012d18
1405a80bf:	48 89 02             	mov    %rax,(%rdx)
1405a80c2:	48 89 5a 20          	mov    %rbx,0x20(%rdx)
1405a80c6:	48 89 72 28          	mov    %rsi,0x28(%rdx)
1405a80ca:	40 88 7a 30          	mov    %dil,0x30(%rdx)
1405a80ce:	8b 43 10             	mov    0x10(%rbx),%eax
1405a80d1:	ff c0                	inc    %eax
1405a80d3:	89 43 10             	mov    %eax,0x10(%rbx)
1405a80d6:	83 f8 01             	cmp    $0x1,%eax
1405a80d9:	7e 4a                	jle    0x1405a8125
1405a80db:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1405a80e0:	74 38                	je     0x1405a811a
1405a80e2:	eb 02                	jmp    0x1405a80e6
1405a80e4:	33 d2                	xor    %edx,%edx
1405a80e6:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
1405a80eb:	48 8b 0d 46 ad e8 00 	mov    0xe8ad46(%rip),%rcx        # 0x141432e38
1405a80f2:	e8 79 e9 1a 00       	call   0x140756a70
1405a80f7:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
1405a80fb:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
1405a8100:	e8 7b 0b f9 ff       	call   0x140538c80
1405a8105:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1405a810a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1405a810f:	0f 28 74 24 20       	movaps 0x20(%rsp),%xmm6
1405a8114:	48 83 c4 30          	add    $0x30,%rsp
1405a8118:	5f                   	pop    %rdi
1405a8119:	c3                   	ret
1405a811a:	b9 01 00 00 00       	mov    $0x1,%ecx
1405a811f:	e8 dc 25 1e 00       	call   0x14078a700
1405a8124:	cc                   	int3
1405a8125:	33 c9                	xor    %ecx,%ecx
1405a8127:	e8 d4 25 1e 00       	call   0x14078a700
1405a812c:	cc                   	int3
1405a812d:	cc                   	int3
1405a812e:	cc                   	int3
1405a812f:	cc                   	int3
1405a8130:	4c 8b 41 60          	mov    0x60(%rcx),%r8
1405a8134:	4d 8b d8             	mov    %r8,%r11
1405a8137:	49 8b 40 08          	mov    0x8(%r8),%rax
1405a813b:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1405a813f:	75 28                	jne    0x1405a8169
1405a8141:	44 8b 0a             	mov    (%rdx),%r9d
1405a8144:	44 39 48 20          	cmp    %r9d,0x20(%rax)
1405a8148:	75 06                	jne    0x1405a8150
1405a814a:	8b 4a 04             	mov    0x4(%rdx),%ecx
1405a814d:	39 48 24             	cmp    %ecx,0x24(%rax)
1405a8150:	0f 92 c1             	setb   %cl
1405a8153:	84 c9                	test   %cl,%cl
1405a8155:	74 06                	je     0x1405a815d
1405a8157:	48 8b 40 10          	mov    0x10(%rax),%rax
1405a815b:	eb 06                	jmp    0x1405a8163
1405a815d:	4c 8b c0             	mov    %rax,%r8
1405a8160:	48 8b 00             	mov    (%rax),%rax
1405a8163:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1405a8167:	74 db                	je     0x1405a8144
1405a8169:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
1405a816e:	75 20                	jne    0x1405a8190
1405a8170:	8b 02                	mov    (%rdx),%eax
1405a8172:	41 3b 40 20          	cmp    0x20(%r8),%eax
1405a8176:	75 07                	jne    0x1405a817f
1405a8178:	41 8b 48 24          	mov    0x24(%r8),%ecx
1405a817c:	39 4a 04             	cmp    %ecx,0x4(%rdx)
1405a817f:	0f 92 c0             	setb   %al
1405a8182:	84 c0                	test   %al,%al
1405a8184:	75 0a                	jne    0x1405a8190
1405a8186:	4d 3b c3             	cmp    %r11,%r8
1405a8189:	74 05                	je     0x1405a8190
1405a818b:	41 8b 40 38          	mov    0x38(%r8),%eax
1405a818f:	c3                   	ret
1405a8190:	33 c0                	xor    %eax,%eax
1405a8192:	c3                   	ret
1405a8193:	cc                   	int3
1405a8194:	cc                   	int3
1405a8195:	cc                   	int3
1405a8196:	cc                   	int3
1405a8197:	cc                   	int3
1405a8198:	cc                   	int3
1405a8199:	cc                   	int3
1405a819a:	cc                   	int3
1405a819b:	cc                   	int3
1405a819c:	cc                   	int3
1405a819d:	cc                   	int3
1405a819e:	cc                   	int3
1405a819f:	cc                   	int3
1405a81a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a81a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1405a81aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1405a81af:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1405a81b4:	41 56                	push   %r14
1405a81b6:	48 83 ec 30          	sub    $0x30,%rsp
1405a81ba:	48 8b f1             	mov    %rcx,%rsi
1405a81bd:	48 63 41 34          	movslq 0x34(%rcx),%rax
1405a81c1:	45 33 f6             	xor    %r14d,%r14d
1405a81c4:	44 89 74 24 2c       	mov    %r14d,0x2c(%rsp)
1405a81c9:	85 c0                	test   %eax,%eax
1405a81cb:	7f 0a                	jg     0x1405a81d7
1405a81cd:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
1405a81d2:	41 8b de             	mov    %r14d,%ebx
1405a81d5:	eb 24                	jmp    0x1405a81fb
1405a81d7:	89 44 24 28          	mov    %eax,0x28(%rsp)
1405a81db:	48 8b c8             	mov    %rax,%rcx
1405a81de:	48 c1 e1 03          	shl    $0x3,%rcx
1405a81e2:	e8 45 a5 88 00       	call   0x140e3272c
1405a81e7:	48 8b d8             	mov    %rax,%rbx
1405a81ea:	48 85 c0             	test   %rax,%rax
1405a81ed:	75 0c                	jne    0x1405a81fb
1405a81ef:	48 8d 0d 12 1f a3 00 	lea    0xa31f12(%rip),%rcx        # 0x140fda108
1405a81f6:	e8 25 33 2c 00       	call   0x14086b520
1405a81fb:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1405a8200:	48 8b 7e 28          	mov    0x28(%rsi),%rdi
1405a8204:	48 63 46 34          	movslq 0x34(%rsi),%rax
1405a8208:	48 8d 2c c7          	lea    (%rdi,%rax,8),%rbp
1405a820c:	48 3b fd             	cmp    %rbp,%rdi
1405a820f:	74 1b                	je     0x1405a822c
1405a8211:	48 8b d7             	mov    %rdi,%rdx
1405a8214:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1405a8219:	e8 62 0a f9 ff       	call   0x140538c80
1405a821e:	48 83 c7 08          	add    $0x8,%rdi
1405a8222:	48 3b fd             	cmp    %rbp,%rdi
1405a8225:	75 ea                	jne    0x1405a8211
1405a8227:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1405a822c:	48 63 44 24 2c       	movslq 0x2c(%rsp),%rax
1405a8231:	48 8d 3c c3          	lea    (%rbx,%rax,8),%rdi
1405a8235:	48 3b df             	cmp    %rdi,%rbx
1405a8238:	74 1e                	je     0x1405a8258
1405a823a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1405a8240:	48 8b 13             	mov    (%rbx),%rdx
1405a8243:	48 8b 0d ee ab e8 00 	mov    0xe8abee(%rip),%rcx        # 0x141432e38
1405a824a:	e8 21 ec 1a 00       	call   0x140756e70
1405a824f:	48 83 c3 08          	add    $0x8,%rbx
1405a8253:	48 3b df             	cmp    %rdi,%rbx
1405a8256:	75 e8                	jne    0x1405a8240
1405a8258:	83 4e 58 02          	orl    $0x2,0x58(%rsi)
1405a825c:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
1405a8260:	e8 2b 8e 88 00       	call   0x140e31090
1405a8265:	4c 89 76 28          	mov    %r14,0x28(%rsi)
1405a8269:	4c 89 76 30          	mov    %r14,0x30(%rsi)
1405a826d:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1405a8272:	e8 19 8e 88 00       	call   0x140e31090
1405a8277:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1405a827c:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1405a8281:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1405a8286:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1405a828b:	48 83 c4 30          	add    $0x30,%rsp
1405a828f:	41 5e                	pop    %r14
1405a8291:	c3                   	ret
1405a8292:	cc                   	int3
1405a8293:	cc                   	int3
1405a8294:	cc                   	int3
1405a8295:	cc                   	int3
1405a8296:	cc                   	int3
1405a8297:	cc                   	int3
1405a8298:	cc                   	int3
1405a8299:	cc                   	int3
1405a829a:	cc                   	int3
1405a829b:	cc                   	int3
1405a829c:	cc                   	int3
1405a829d:	cc                   	int3
1405a829e:	cc                   	int3
1405a829f:	cc                   	int3
1405a82a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1405a82a5:	57                   	push   %rdi
1405a82a6:	48 83 ec 20          	sub    $0x20,%rsp
1405a82aa:	48 8b f9             	mov    %rcx,%rdi
1405a82ad:	f6 41 58 04          	testb  $0x4,0x58(%rcx)
1405a82b1:	74 3d                	je     0x1405a82f0
1405a82b3:	48 8b 59 40          	mov    0x40(%rcx),%rbx
1405a82b7:	48 85 db             	test   %rbx,%rbx
1405a82ba:	74 34                	je     0x1405a82f0
1405a82bc:	48 8b cb             	mov    %rbx,%rcx
1405a82bf:	e8 6c d2 26 00       	call   0x140815530
1405a82c4:	84 c0                	test   %al,%al
1405a82c6:	74 28                	je     0x1405a82f0
1405a82c8:	48 8b 07             	mov    (%rdi),%rax
1405a82cb:	48 8b cf             	mov    %rdi,%rcx
1405a82ce:	48 8b 40 40          	mov    0x40(%rax),%rax
1405a82d2:	ff 15 48 b7 9d 00    	call   *0x9db748(%rip)        # 0x140f83a20
1405a82d8:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1405a82dd:	4c 8b c8             	mov    %rax,%r9
1405a82e0:	45 33 c0             	xor    %r8d,%r8d
1405a82e3:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1405a82e8:	48 8b cf             	mov    %rdi,%rcx
1405a82eb:	e8 c0 f9 ff ff       	call   0x1405a7cb0
1405a82f0:	48 8b d7             	mov    %rdi,%rdx
1405a82f3:	48 8b 0d 3e 43 e8 00 	mov    0xe8433e(%rip),%rcx        # 0x14142c638
1405a82fa:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1405a82ff:	48 83 c4 20          	add    $0x20,%rsp
1405a8303:	5f                   	pop    %rdi
1405a8304:	e9 07 f0 ff ff       	jmp    0x1405a7310
1405a8309:	cc                   	int3
1405a830a:	cc                   	int3
1405a830b:	cc                   	int3
1405a830c:	cc                   	int3
1405a830d:	cc                   	int3
1405a830e:	cc                   	int3
1405a830f:	cc                   	int3
1405a8310:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a8315:	57                   	push   %rdi
1405a8316:	48 83 ec 20          	sub    $0x20,%rsp
1405a831a:	f2 0f 10 49 18       	movsd  0x18(%rcx),%xmm1
1405a831f:	48 8b d9             	mov    %rcx,%rbx
1405a8322:	48 8b ca             	mov    %rdx,%rcx
1405a8325:	45 33 c0             	xor    %r8d,%r8d
1405a8328:	48 8b fa             	mov    %rdx,%rdi
1405a832b:	e8 b0 b9 27 00       	call   0x140823ce0
1405a8330:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1405a8336:	48 8d 15 eb cc a0 00 	lea    0xa0cceb(%rip),%rdx        # 0x140fb5028
1405a833d:	48 8b cf             	mov    %rdi,%rcx
1405a8340:	e8 4b bc 27 00       	call   0x140823f90
1405a8345:	f2 0f 10 4b 20       	movsd  0x20(%rbx),%xmm1
1405a834a:	45 33 c0             	xor    %r8d,%r8d
1405a834d:	48 8b cf             	mov    %rdi,%rcx
1405a8350:	e8 8b b9 27 00       	call   0x140823ce0
1405a8355:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1405a835b:	48 8d 15 42 cd a0 00 	lea    0xa0cd42(%rip),%rdx        # 0x140fb50a4
1405a8362:	48 8b cf             	mov    %rdi,%rcx
1405a8365:	e8 26 bc 27 00       	call   0x140823f90
1405a836a:	83 3f 01             	cmpl   $0x1,(%rdi)
1405a836d:	74 12                	je     0x1405a8381
1405a836f:	45 33 c0             	xor    %r8d,%r8d
1405a8372:	48 8d 15 cb fb a2 00 	lea    0xa2fbcb(%rip),%rdx        # 0x140fd7f44
1405a8379:	48 8b cf             	mov    %rdi,%rcx
1405a837c:	e8 0f bc 27 00       	call   0x140823f90
1405a8381:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a8386:	48 83 c4 20          	add    $0x20,%rsp
1405a838a:	5f                   	pop    %rdi
1405a838b:	c3                   	ret
1405a838c:	cc                   	int3
1405a838d:	cc                   	int3
1405a838e:	cc                   	int3
1405a838f:	cc                   	int3
1405a8390:	40 53                	rex push %rbx
1405a8392:	48 83 ec 20          	sub    $0x20,%rsp
1405a8396:	48 8b d9             	mov    %rcx,%rbx
1405a8399:	45 84 c0             	test   %r8b,%r8b
1405a839c:	74 06                	je     0x1405a83a4
1405a839e:	80 79 30 00          	cmpb   $0x0,0x30(%rcx)
1405a83a2:	74 61                	je     0x1405a8405
1405a83a4:	4c 8b 49 20          	mov    0x20(%rcx),%r9
1405a83a8:	45 33 c0             	xor    %r8d,%r8d
1405a83ab:	49 63 49 34          	movslq 0x34(%r9),%rcx
1405a83af:	85 c9                	test   %ecx,%ecx
1405a83b1:	7e 15                	jle    0x1405a83c8
1405a83b3:	49 8b 41 28          	mov    0x28(%r9),%rax
1405a83b7:	48 3b 18             	cmp    (%rax),%rbx
1405a83ba:	74 0c                	je     0x1405a83c8
1405a83bc:	41 ff c0             	inc    %r8d
1405a83bf:	48 83 c0 08          	add    $0x8,%rax
1405a83c3:	44 3b c1             	cmp    %ecx,%r8d
1405a83c6:	7c ef                	jl     0x1405a83b7
1405a83c8:	44 3b c1             	cmp    %ecx,%r8d
1405a83cb:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1405a83d0:	44 0f 44 c0          	cmove  %eax,%r8d
1405a83d4:	44 3b c0             	cmp    %eax,%r8d
1405a83d7:	74 14                	je     0x1405a83ed
1405a83d9:	49 8b 51 28          	mov    0x28(%r9),%rdx
1405a83dd:	48 8b 44 ca f8       	mov    -0x8(%rdx,%rcx,8),%rax
1405a83e2:	49 63 c8             	movslq %r8d,%rcx
1405a83e5:	48 89 04 ca          	mov    %rax,(%rdx,%rcx,8)
1405a83e9:	41 ff 49 34          	decl   0x34(%r9)
1405a83ed:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1405a83f1:	48 8b 43 28          	mov    0x28(%rbx),%rax
1405a83f5:	ff 15 25 b6 9d 00    	call   *0x9db625(%rip)        # 0x140f83a20
1405a83fb:	48 8b 43 20          	mov    0x20(%rbx),%rax
1405a83ff:	83 78 10 01          	cmpl   $0x1,0x10(%rax)
1405a8403:	7c 06                	jl     0x1405a840b
1405a8405:	48 83 c4 20          	add    $0x20,%rsp
1405a8409:	5b                   	pop    %rbx
1405a840a:	c3                   	ret
1405a840b:	48 8b 0d e6 90 e8 00 	mov    0xe890e6(%rip),%rcx        # 0x1414314f8
1405a8412:	48 8d 15 3f a9 a6 00 	lea    0xa6a93f(%rip),%rdx        # 0x141012d58
1405a8419:	e8 f2 b7 1e 00       	call   0x140793c10
1405a841e:	cc                   	int3
1405a841f:	cc                   	int3
1405a8420:	40 53                	rex push %rbx
1405a8422:	48 83 ec 30          	sub    $0x30,%rsp
1405a8426:	f6 41 58 01          	testb  $0x1,0x58(%rcx)
1405a842a:	48 8b d9             	mov    %rcx,%rbx
1405a842d:	75 45                	jne    0x1405a8474
1405a842f:	48 8b 49 48          	mov    0x48(%rcx),%rcx
1405a8433:	48 85 c9             	test   %rcx,%rcx
1405a8436:	74 3c                	je     0x1405a8474
1405a8438:	e8 f3 d0 26 00       	call   0x140815530
1405a843d:	84 c0                	test   %al,%al
1405a843f:	74 33                	je     0x1405a8474