180045dad:	4d 85 c0             	test   %r8,%r8
180045db0:	75 27                	jne    0x180045dd9
180045db2:	48 8b 46 08          	mov    0x8(%rsi),%rax
180045db6:	4c 3b 48 68          	cmp    0x68(%rax),%r9
180045dba:	75 1d                	jne    0x180045dd9
180045dbc:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
180045dc3:	00
180045dc4:	48 8b ce             	mov    %rsi,%rcx
180045dc7:	4d 89 6b d0          	mov    %r13,-0x30(%r11)
180045dcb:	49 89 43 c8          	mov    %rax,-0x38(%r11)
180045dcf:	e8 f4 f9 ff ff       	call   0x1800457c8
180045dd4:	e9 b8 00 00 00       	jmp    0x180045e91
180045dd9:	4d 85 d2             	test   %r10,%r10
180045ddc:	bd 01 00 00 00       	mov    $0x1,%ebp
180045de1:	49 0f 45 ea          	cmovne %r10,%rbp
180045de5:	48 03 ef             	add    %rdi,%rbp
180045de8:	48 3b fd             	cmp    %rbp,%rdi
180045deb:	0f 83 84 00 00 00    	jae    0x180045e75
180045df1:	4c 8d 46 20          	lea    0x20(%rsi),%r8
180045df5:	48 8b 4e 60          	mov    0x60(%rsi),%rcx
180045df9:	33 d2                	xor    %edx,%edx
180045dfb:	48 8b c7             	mov    %rdi,%rax
180045dfe:	4c 8b fd             	mov    %rbp,%r15
180045e01:	48 f7 f1             	div    %rcx
180045e04:	4c 2b ff             	sub    %rdi,%r15
180045e07:	48 2b ca             	sub    %rdx,%rcx
180045e0a:	48 89 94 24 88 00 00 	mov    %rdx,0x88(%rsp)
180045e11:	00
180045e12:	4c 3b f9             	cmp    %rcx,%r15
180045e15:	48 8b d0             	mov    %rax,%rdx
180045e18:	4c 0f 43 f9          	cmovae %rcx,%r15
180045e1c:	49 8b c8             	mov    %r8,%rcx
180045e1f:	e8 b8 da ff ff       	call   0x1800438dc
180045e24:	48 8b c8             	mov    %rax,%rcx
180045e27:	48 85 c0             	test   %rax,%rax
180045e2a:	75 05                	jne    0x180045e31
180045e2c:	4d 03 e7             	add    %r15,%r12
180045e2f:	eb 34                	jmp    0x180045e65
180045e31:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
180045e38:	00
180045e39:	4d 8b cf             	mov    %r15,%r9
180045e3c:	48 8b 00             	mov    (%rax),%rax
180045e3f:	4c 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8
180045e46:	00
180045e47:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
180045e4c:	41 8b d6             	mov    %r14d,%edx
180045e4f:	48 8b 40 60          	mov    0x60(%rax),%rax
180045e53:	ff d0                	call   *%rax
180045e55:	0f 1f 00             	nopl   (%rax)
180045e58:	8b d8                	mov    %eax,%ebx
180045e5a:	85 c0                	test   %eax,%eax
180045e5c:	78 17                	js     0x180045e75
180045e5e:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
180045e63:	74 0e                	je     0x180045e73
180045e65:	49 03 ff             	add    %r15,%rdi
180045e68:	4c 8d 46 20          	lea    0x20(%rsi),%r8
180045e6c:	48 3b fd             	cmp    %rbp,%rdi
180045e6f:	72 84                	jb     0x180045df5
180045e71:	eb 02                	jmp    0x180045e75
180045e73:	33 db                	xor    %ebx,%ebx
180045e75:	4d 89 65 00          	mov    %r12,0x0(%r13)
180045e79:	eb 45                	jmp    0x180045ec0
180045e7b:	4c 8b 8c 24 80 00 00 	mov    0x80(%rsp),%r9
180045e82:	00
180045e83:	4d 8b c2             	mov    %r10,%r8
180045e86:	48 8b d7             	mov    %rdi,%rdx
180045e89:	48 8b ce             	mov    %rsi,%rcx
180045e8c:	e8 6f 00 00 00       	call   0x180045f00
180045e91:	8b d8                	mov    %eax,%ebx
180045e93:	eb 2b                	jmp    0x180045ec0
180045e95:	33 d2                	xor    %edx,%edx
180045e97:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
180045e9b:	48 8b c7             	mov    %rdi,%rax
180045e9e:	48 f7 76 60          	divq   0x60(%rsi)
180045ea2:	48 8b d0             	mov    %rax,%rdx
180045ea5:	e8 32 da ff ff       	call   0x1800438dc
180045eaa:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180045eb1:	00
180045eb2:	48 85 c0             	test   %rax,%rax
180045eb5:	48 89 01             	mov    %rax,(%rcx)
180045eb8:	b9 25 02 00 c0       	mov    $0xc0000225,%ecx
180045ebd:	0f 44 d9             	cmove  %ecx,%ebx
180045ec0:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180045ec5:	8b c3                	mov    %ebx,%eax
180045ec7:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180045ecc:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180045ed1:	48 83 c4 30          	add    $0x30,%rsp
180045ed5:	41 5f                	pop    %r15
180045ed7:	41 5e                	pop    %r14
180045ed9:	41 5d                	pop    %r13
180045edb:	41 5c                	pop    %r12
180045edd:	5f                   	pop    %rdi
180045ede:	c3                   	ret
180045edf:	cc                   	int3
180045ee0:	48 83 ec 28          	sub    $0x28,%rsp
180045ee4:	48 8b c2             	mov    %rdx,%rax
180045ee7:	33 d2                	xor    %edx,%edx
180045ee9:	48 f7 71 60          	divq   0x60(%rcx)
180045eed:	48 83 c1 20          	add    $0x20,%rcx
180045ef1:	48 8b d0             	mov    %rax,%rdx
180045ef4:	e8 e3 d9 ff ff       	call   0x1800438dc
180045ef9:	48 83 c4 28          	add    $0x28,%rsp
180045efd:	c3                   	ret
180045efe:	cc                   	int3
180045eff:	cc                   	int3
180045f00:	48 8b c4             	mov    %rsp,%rax
180045f03:	48 89 58 08          	mov    %rbx,0x8(%rax)
180045f07:	48 89 68 18          	mov    %rbp,0x18(%rax)
180045f0b:	48 89 70 20          	mov    %rsi,0x20(%rax)
180045f0f:	57                   	push   %rdi
180045f10:	41 54                	push   %r12
180045f12:	41 55                	push   %r13
180045f14:	41 56                	push   %r14
180045f16:	41 57                	push   %r15
180045f18:	48 83 ec 20          	sub    $0x20,%rsp
180045f1c:	48 83 60 10 00       	andq   $0x0,0x10(%rax)
180045f21:	4e 8d 34 02          	lea    (%rdx,%r8,1),%r14
180045f25:	33 f6                	xor    %esi,%esi
180045f27:	4d 8b e9             	mov    %r9,%r13
180045f2a:	48 8b fa             	mov    %rdx,%rdi
180045f2d:	48 8b e9             	mov    %rcx,%rbp
180045f30:	49 3b d6             	cmp    %r14,%rdx
180045f33:	0f 83 b4 00 00 00    	jae    0x180045fed
180045f39:	4c 8d 79 20          	lea    0x20(%rcx),%r15
180045f3d:	4c 8b 45 60          	mov    0x60(%rbp),%r8
180045f41:	33 d2                	xor    %edx,%edx
180045f43:	48 8b c7             	mov    %rdi,%rax
180045f46:	4d 8b e6             	mov    %r14,%r12
180045f49:	49 f7 f0             	div    %r8
180045f4c:	49 8b c0             	mov    %r8,%rax
180045f4f:	4c 2b e7             	sub    %rdi,%r12
180045f52:	48 2b c2             	sub    %rdx,%rax
180045f55:	49 8b cf             	mov    %r15,%rcx
180045f58:	4c 3b e0             	cmp    %rax,%r12
180045f5b:	4c 0f 43 e0          	cmovae %rax,%r12
180045f5f:	33 d2                	xor    %edx,%edx
180045f61:	48 8b c7             	mov    %rdi,%rax
180045f64:	49 f7 f0             	div    %r8
180045f67:	48 8b d0             	mov    %rax,%rdx
180045f6a:	48 8b d8             	mov    %rax,%rbx
180045f6d:	e8 6a d9 ff ff       	call   0x1800438dc
180045f72:	48 85 c0             	test   %rax,%rax
180045f75:	75 6a                	jne    0x180045fe1
180045f77:	45 33 c0             	xor    %r8d,%r8d
180045f7a:	48 8b d3             	mov    %rbx,%rdx
180045f7d:	49 8b cf             	mov    %r15,%rcx
180045f80:	e8 9b d9 ff ff       	call   0x180043920
180045f85:	8b f0                	mov    %eax,%esi
180045f87:	85 c0                	test   %eax,%eax
180045f89:	78 62                	js     0x180045fed
180045f8b:	4c 8b 45 08          	mov    0x8(%rbp),%r8
180045f8f:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
180045f94:	33 d2                	xor    %edx,%edx
180045f96:	48 8b c7             	mov    %rdi,%rax
180045f99:	48 f7 75 60          	divq   0x60(%rbp)
180045f9d:	48 8b c7             	mov    %rdi,%rax
180045fa0:	49 8b cd             	mov    %r13,%rcx
180045fa3:	48 2b c2             	sub    %rdx,%rax
180045fa6:	48 8b d0             	mov    %rax,%rdx
180045fa9:	e8 36 b6 00 00       	call   0x1800515e4
180045fae:	8b f0                	mov    %eax,%esi
180045fb0:	85 c0                	test   %eax,%eax
180045fb2:	78 39                	js     0x180045fed
180045fb4:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180045fb9:	33 d2                	xor    %edx,%edx
180045fbb:	48 8b cb             	mov    %rbx,%rcx
180045fbe:	48 8b 03             	mov    (%rbx),%rax
180045fc1:	48 8b 40 70          	mov    0x70(%rax),%rax
180045fc5:	ff d0                	call   *%rax
180045fc7:	0f 1f 00             	nopl   (%rax)
180045fca:	33 d2                	xor    %edx,%edx
180045fcc:	48 8b c7             	mov    %rdi,%rax
180045fcf:	48 f7 75 60          	divq   0x60(%rbp)
180045fd3:	4c 8b c3             	mov    %rbx,%r8
180045fd6:	49 8b cf             	mov    %r15,%rcx
180045fd9:	48 8b d0             	mov    %rax,%rdx
180045fdc:	e8 3f d9 ff ff       	call   0x180043920
180045fe1:	49 03 fc             	add    %r12,%rdi
180045fe4:	49 3b fe             	cmp    %r14,%rdi
180045fe7:	0f 82 50 ff ff ff    	jb     0x180045f3d
180045fed:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180045ff2:	8b c6                	mov    %esi,%eax
180045ff4:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180045ff9:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180045ffe:	48 83 c4 20          	add    $0x20,%rsp
180046002:	41 5f                	pop    %r15
180046004:	41 5e                	pop    %r14
180046006:	41 5d                	pop    %r13
180046008:	41 5c                	pop    %r12
18004600a:	5f                   	pop    %rdi
18004600b:	c3                   	ret
18004600c:	cc                   	int3
18004600d:	cc                   	int3
18004600e:	cc                   	int3
18004600f:	cc                   	int3
180046010:	40 53                	rex push %rbx
180046012:	48 83 ec 20          	sub    $0x20,%rsp
180046016:	48 8d 05 13 d4 0f 00 	lea    0xfd413(%rip),%rax        # 0x180143430
18004601d:	48 8b d9             	mov    %rcx,%rbx
180046020:	48 89 01             	mov    %rax,(%rcx)
180046023:	f6 c2 01             	test   $0x1,%dl
180046026:	74 05                	je     0x18004602d
180046028:	e8 2f 09 00 00       	call   0x18004695c
18004602d:	48 8b c3             	mov    %rbx,%rax
180046030:	48 83 c4 20          	add    $0x20,%rsp
180046034:	5b                   	pop    %rbx
180046035:	c3                   	ret
180046036:	cc                   	int3
180046037:	cc                   	int3
180046038:	48 83 ec 28          	sub    $0x28,%rsp
18004603c:	41 b0 21             	mov    $0x21,%r8b
18004603f:	e8 cc 14 00 00       	call   0x180047510
180046044:	48 83 c4 28          	add    $0x28,%rsp
180046048:	c3                   	ret
180046049:	cc                   	int3
18004604a:	cc                   	int3
18004604b:	cc                   	int3
18004604c:	48 83 ec 28          	sub    $0x28,%rsp
180046050:	45 0f b6 d0          	movzbl %r8b,%r10d
180046054:	41 83 ea 21          	sub    $0x21,%r10d
180046058:	74 17                	je     0x180046071
18004605a:	41 83 fa 01          	cmp    $0x1,%r10d
18004605e:	74 07                	je     0x180046067
180046060:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180046065:	eb 12                	jmp    0x180046079
180046067:	4d 8b c1             	mov    %r9,%r8
18004606a:	e8 21 07 00 00       	call   0x180046790
18004606f:	eb 08                	jmp    0x180046079
180046071:	4d 8b c1             	mov    %r9,%r8
180046074:	e8 7b 00 00 00       	call   0x1800460f4
180046079:	48 83 c4 28          	add    $0x28,%rsp
18004607d:	c3                   	ret
18004607e:	cc                   	int3
18004607f:	cc                   	int3
180046080:	48 83 ec 28          	sub    $0x28,%rsp
180046084:	45 0f b6 c8          	movzbl %r8b,%r9d
180046088:	41 83 e9 21          	sub    $0x21,%r9d
18004608c:	74 1f                	je     0x1800460ad
18004608e:	41 83 f9 01          	cmp    $0x1,%r9d
180046092:	75 13                	jne    0x1800460a7
180046094:	48 8b 8a d8 00 00 00 	mov    0xd8(%rdx),%rcx
18004609b:	48 8b 01             	mov    (%rcx),%rax
18004609e:	48 8b 40 08          	mov    0x8(%rax),%rax
1800460a2:	ff d0                	call   *%rax
1800460a4:	0f 1f 00             	nopl   (%rax)
1800460a7:	48 83 c4 28          	add    $0x28,%rsp
1800460ab:	c3                   	ret
1800460ac:	cc                   	int3
1800460ad:	48 8b 42 70          	mov    0x70(%rdx),%rax
1800460b1:	48 85 c0             	test   %rax,%rax
1800460b4:	74 de                	je     0x180046094
1800460b6:	83 38 03             	cmpl   $0x3,(%rax)
1800460b9:	75 d9                	jne    0x180046094
1800460bb:	41 b0 22             	mov    $0x22,%r8b
1800460be:	48 89 8a d8 00 00 00 	mov    %rcx,0xd8(%rdx)
1800460c5:	e8 46 14 00 00       	call   0x180047510
1800460ca:	eb db                	jmp    0x1800460a7
1800460cc:	48 83 ec 28          	sub    $0x28,%rsp
1800460d0:	44 8b 82 a0 00 00 00 	mov    0xa0(%rdx),%r8d
1800460d7:	8a 82 99 00 00 00    	mov    0x99(%rdx),%al
1800460dd:	2c 21                	sub    $0x21,%al
1800460df:	3c 01                	cmp    $0x1,%al
1800460e1:	77 08                	ja     0x1800460eb
1800460e3:	e8 34 05 00 00       	call   0x18004661c
1800460e8:	44 8b c0             	mov    %eax,%r8d
1800460eb:	41 8b c0             	mov    %r8d,%eax
1800460ee:	48 83 c4 28          	add    $0x28,%rsp
1800460f2:	c3                   	ret
1800460f3:	cc                   	int3
1800460f4:	48 8b c4             	mov    %rsp,%rax
1800460f7:	48 89 58 10          	mov    %rbx,0x10(%rax)
1800460fb:	48 89 68 18          	mov    %rbp,0x18(%rax)
1800460ff:	48 89 70 20          	mov    %rsi,0x20(%rax)
180046103:	48 89 48 08          	mov    %rcx,0x8(%rax)
180046107:	57                   	push   %rdi
180046108:	41 54                	push   %r12
18004610a:	41 55                	push   %r13
18004610c:	41 56                	push   %r14
18004610e:	41 57                	push   %r15
180046110:	48 83 ec 60          	sub    $0x60,%rsp
180046114:	4c 8b aa e0 00 00 00 	mov    0xe0(%rdx),%r13
18004611b:	33 db                	xor    %ebx,%ebx
18004611d:	48 89 58 a8          	mov    %rbx,-0x58(%rax)
180046121:	0f 57 c0             	xorps  %xmm0,%xmm0
180046124:	89 58 d4             	mov    %ebx,-0x2c(%rax)
180046127:	4c 8b f2             	mov    %rdx,%r14
18004612a:	4c 8b d1             	mov    %rcx,%r10
18004612d:	f3 0f 7f 40 c4       	movdqu %xmm0,-0x3c(%rax)
180046132:	4d 85 c0             	test   %r8,%r8
180046135:	74 0a                	je     0x180046141
180046137:	bf 02 00 00 c0       	mov    $0xc0000002,%edi
18004613c:	e9 3c 02 00 00       	jmp    0x18004637d
180046141:	48 8b 8a e8 00 00 00 	mov    0xe8(%rdx),%rcx
180046148:	44 8b e3             	mov    %ebx,%r12d
18004614b:	4c 8b ba a8 00 00 00 	mov    0xa8(%rdx),%r15
180046152:	8b aa 80 00 00 00    	mov    0x80(%rdx),%ebp
180046158:	4c 03 f9             	add    %rcx,%r15
18004615b:	2b aa a8 00 00 00    	sub    0xa8(%rdx),%ebp
180046161:	89 8a 84 00 00 00    	mov    %ecx,0x84(%rdx)
180046167:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
18004616c:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
180046171:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
180046175:	41 39 5d 04          	cmp    %ebx,0x4(%r13)
180046179:	0f 86 22 01 00 00    	jbe    0x1800462a1
18004617f:	41 8b c4             	mov    %r12d,%eax
180046182:	4c 6b f0 38          	imul   $0x38,%rax,%r14
180046186:	49 8b 42 10          	mov    0x10(%r10),%rax
18004618a:	4d 03 f5             	add    %r13,%r14
18004618d:	48 8b 48 68          	mov    0x68(%rax),%rcx
180046191:	49 8b 56 28          	mov    0x28(%r14),%rdx
180046195:	48 3b d1             	cmp    %rcx,%rdx
180046198:	0f 83 fa 00 00 00    	jae    0x180046298
18004619e:	41 8b 46 1c          	mov    0x1c(%r14),%eax
1800461a2:	48 2b ca             	sub    %rdx,%rcx
1800461a5:	48 3b c8             	cmp    %rax,%rcx
1800461a8:	0f 82 d5 00 00 00    	jb     0x180046283
1800461ae:	41 8b 76 24          	mov    0x24(%r14),%esi
1800461b2:	49 3b f7             	cmp    %r15,%rsi
1800461b5:	76 53                	jbe    0x18004620a
1800461b7:	49 2b f7             	sub    %r15,%rsi
1800461ba:	8b c5                	mov    %ebp,%eax
1800461bc:	48 3b f0             	cmp    %rax,%rsi
1800461bf:	0f 83 d3 00 00 00    	jae    0x180046298
1800461c5:	45 33 c0             	xor    %r8d,%r8d
1800461c8:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1800461cd:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1800461d2:	44 8b ce             	mov    %esi,%r9d
1800461d5:	49 8b ca             	mov    %r10,%rcx
1800461d8:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1800461dd:	41 8d 50 01          	lea    0x1(%r8),%edx
1800461e1:	e8 c2 01 00 00       	call   0x1800463a8
1800461e6:	8b f8                	mov    %eax,%edi
1800461e8:	85 c0                	test   %eax,%eax
1800461ea:	0f 88 8d 01 00 00    	js     0x18004637d
1800461f0:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
1800461f5:	0f 84 82 01 00 00    	je     0x18004637d
1800461fb:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
180046202:	00
180046203:	2b ee                	sub    %esi,%ebp
180046205:	8b c6                	mov    %esi,%eax
180046207:	4c 03 f8             	add    %rax,%r15
18004620a:	85 ed                	test   %ebp,%ebp
18004620c:	0f 84 69 01 00 00    	je     0x18004637b
180046212:	41 8b 46 24          	mov    0x24(%r14),%eax
180046216:	49 3b c7             	cmp    %r15,%rax
180046219:	77 60                	ja     0x18004627b
18004621b:	41 8b 76 1c          	mov    0x1c(%r14),%esi
18004621f:	49 8b d7             	mov    %r15,%rdx
180046222:	48 2b d0             	sub    %rax,%rdx
180046225:	48 3b d6             	cmp    %rsi,%rdx