180095d78:	41 5d                	pop    %r13
180095d7a:	41 5c                	pop    %r12
180095d7c:	5f                   	pop    %rdi
180095d7d:	5e                   	pop    %rsi
180095d7e:	5d                   	pop    %rbp
180095d7f:	5b                   	pop    %rbx
180095d80:	c3                   	ret
180095d81:	cc                   	int3
180095d82:	cc                   	int3
180095d83:	cc                   	int3
180095d84:	48 8b c4             	mov    %rsp,%rax
180095d87:	48 89 58 18          	mov    %rbx,0x18(%rax)
180095d8b:	44 89 48 20          	mov    %r9d,0x20(%rax)
180095d8f:	48 89 50 10          	mov    %rdx,0x10(%rax)
180095d93:	89 48 08             	mov    %ecx,0x8(%rax)
180095d96:	55                   	push   %rbp
180095d97:	56                   	push   %rsi
180095d98:	57                   	push   %rdi
180095d99:	41 54                	push   %r12
180095d9b:	41 55                	push   %r13
180095d9d:	41 56                	push   %r14
180095d9f:	41 57                	push   %r15
180095da1:	48 83 ec 40          	sub    $0x40,%rsp
180095da5:	44 8a a4 24 a8 00 00 	mov    0xa8(%rsp),%r12b
180095dac:	00
180095dad:	33 db                	xor    %ebx,%ebx
180095daf:	66 89 58 b8          	mov    %bx,-0x48(%rax)
180095db3:	4d 8b f8             	mov    %r8,%r15
180095db6:	44 0f b7 eb          	movzwl %bx,%r13d
180095dba:	44 8b f3             	mov    %ebx,%r14d
180095dbd:	8d 43 64             	lea    0x64(%rbx),%eax
180095dc0:	48 85 d2             	test   %rdx,%rdx
180095dc3:	0f 84 ff 02 00 00    	je     0x1800960c8
180095dc9:	4d 85 c0             	test   %r8,%r8
180095dcc:	0f 84 f6 02 00 00    	je     0x1800960c8
180095dd2:	8b bc 24 a0 00 00 00 	mov    0xa0(%rsp),%edi
180095dd9:	8d 6b 01             	lea    0x1(%rbx),%ebp
180095ddc:	c7 05 40 ab 0d 00 00 	movl   $0x400,0xdab40(%rip)        # 0x180170926
180095de3:	04 00 00
180095de6:	0f b7 f3             	movzwl %bx,%esi
180095de9:	c7 05 2d ab 0d 00 04 	movl   $0x4,0xdab2d(%rip)        # 0x180170920
180095df0:	00 00 00
180095df3:	0f b7 cb             	movzwl %bx,%ecx
180095df6:	66 89 1d 27 ab 0d 00 	mov    %bx,0xdab27(%rip)        # 0x180170924
180095dfd:	4c 8d 0d 2c ab 0f 00 	lea    0xfab2c(%rip),%r9        # 0x180190930
180095e04:	66 89 2d 21 ab 0e 00 	mov    %bp,0xeab21(%rip)        # 0x18018092c
180095e0b:	85 ff                	test   %edi,%edi
180095e0d:	74 1c                	je     0x180095e2b
180095e0f:	66 03 cd             	add    %bp,%cx
180095e12:	0f b7 c1             	movzwl %cx,%eax
180095e15:	3b c7                	cmp    %edi,%eax
180095e17:	72 f6                	jb     0x180095e0f
180095e19:	44 0f b7 c7          	movzwl %di,%r8d
180095e1d:	33 d2                	xor    %edx,%edx
180095e1f:	49 c1 e0 02          	shl    $0x2,%r8
180095e23:	49 8b c9             	mov    %r9,%rcx
180095e26:	e8 55 fe 09 00       	call   0x180135c80
180095e2b:	45 84 e4             	test   %r12b,%r12b
180095e2e:	74 10                	je     0x180095e40
180095e30:	33 d2                	xor    %edx,%edx
180095e32:	33 c9                	xor    %ecx,%ecx
180095e34:	e8 bb d5 ff ff       	call   0x1800933f4
180095e39:	0f b7 35 e4 aa 0d 00 	movzwl 0xdaae4(%rip),%esi        # 0x180170924
180095e40:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180095e45:	66 83 fe 0c          	cmp    $0xc,%si
180095e49:	0f 83 46 02 00 00    	jae    0x180096095
180095e4f:	44 8b 05 ca aa 0d 00 	mov    0xdaaca(%rip),%r8d        # 0x180170920
180095e56:	48 8d 15 c9 aa 0d 00 	lea    0xdaac9(%rip),%rdx        # 0x180170926
180095e5d:	8b 8c 24 80 00 00 00 	mov    0x80(%rsp),%ecx
180095e64:	45 33 c9             	xor    %r9d,%r9d
180095e67:	e8 24 0e f9 ff       	call   0x180026c90
180095e6c:	45 33 c9             	xor    %r9d,%r9d
180095e6f:	8b d8                	mov    %eax,%ebx
180095e71:	85 c0                	test   %eax,%eax
180095e73:	0f 85 1c 02 00 00    	jne    0x180096095
180095e79:	4d 3b f7             	cmp    %r15,%r14
180095e7c:	0f 84 41 02 00 00    	je     0x1800960c3
180095e82:	41 8b f1             	mov    %r9d,%esi
180095e85:	41 8b e9             	mov    %r9d,%ebp
180095e88:	85 ff                	test   %edi,%edi
180095e8a:	0f 84 ac 00 00 00    	je     0x180095f3c
180095e90:	8b 8c 24 80 00 00 00 	mov    0x80(%rsp),%ecx
180095e97:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
180095e9c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180095ea1:	48 8d 15 80 aa 0e 00 	lea    0xeaa80(%rip),%rdx        # 0x180180928
180095ea8:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
180095ead:	44 8b c7             	mov    %edi,%r8d
180095eb0:	41 b9 d0 07 00 00    	mov    $0x7d0,%r9d
180095eb6:	e8 91 09 00 00       	call   0x18009684c
180095ebb:	45 33 c9             	xor    %r9d,%r9d
180095ebe:	8b d8                	mov    %eax,%ebx
180095ec0:	85 c0                	test   %eax,%eax
180095ec2:	0f 85 78 01 00 00    	jne    0x180096040
180095ec8:	0f b7 54 24 30       	movzwl 0x30(%rsp),%edx
180095ecd:	4c 8d 05 5c aa 0f 00 	lea    0xfaa5c(%rip),%r8        # 0x180190930
180095ed4:	45 39 0c 90          	cmp    %r9d,(%r8,%rdx,4)
180095ed8:	75 5a                	jne    0x180095f34
180095eda:	8b 0d 48 aa 0e 00    	mov    0xeaa48(%rip),%ecx        # 0x180180928
180095ee0:	ff c6                	inc    %esi
180095ee2:	83 c1 fc             	add    $0xfffffffc,%ecx
180095ee5:	03 e9                	add    %ecx,%ebp
180095ee7:	41 89 0c 90          	mov    %ecx,(%r8,%rdx,4)
180095eeb:	85 c9                	test   %ecx,%ecx
180095eed:	74 3b                	je     0x180095f2a
180095eef:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax
180095ef4:	0f af 84 24 98 00 00 	imul   0x98(%rsp),%eax
180095efb:	00
180095efc:	44 8b c1             	mov    %ecx,%r8d
180095eff:	8b d0                	mov    %eax,%edx
180095f01:	48 03 c1             	add    %rcx,%rax
180095f04:	49 03 c6             	add    %r14,%rax
180095f07:	49 3b c7             	cmp    %r15,%rax
180095f0a:	0f 87 4f 01 00 00    	ja     0x18009605f
180095f10:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
180095f17:	00
180095f18:	48 03 ca             	add    %rdx,%rcx
180095f1b:	48 8d 15 10 aa 0e 00 	lea    0xeaa10(%rip),%rdx        # 0x180180932
180095f22:	e8 99 fa 09 00       	call   0x1801359c0
180095f27:	45 33 c9             	xor    %r9d,%r9d
180095f2a:	8b c5                	mov    %ebp,%eax
180095f2c:	49 03 c6             	add    %r14,%rax
180095f2f:	49 3b c7             	cmp    %r15,%rax
180095f32:	74 08                	je     0x180095f3c
180095f34:	3b f7                	cmp    %edi,%esi
180095f36:	0f 82 54 ff ff ff    	jb     0x180095e90
180095f3c:	41 8b d1             	mov    %r9d,%edx
180095f3f:	41 0f b7 c9          	movzwl %r9w,%ecx
180095f43:	85 ff                	test   %edi,%edi
180095f45:	74 2d                	je     0x180095f74
180095f47:	41 bc 01 00 00 00    	mov    $0x1,%r12d
180095f4d:	4c 8d 05 dc a9 0f 00 	lea    0xfa9dc(%rip),%r8        # 0x180190930
180095f54:	0f b7 c1             	movzwl %cx,%eax
180095f57:	45 39 0c 80          	cmp    %r9d,(%r8,%rax,4)
180095f5b:	74 0f                	je     0x180095f6c
180095f5d:	41 03 14 80          	add    (%r8,%rax,4),%edx
180095f61:	66 41 03 cc          	add    %r12w,%cx
180095f65:	0f b7 c1             	movzwl %cx,%eax
180095f68:	3b c7                	cmp    %edi,%eax
180095f6a:	72 e8                	jb     0x180095f54
180095f6c:	44 8a a4 24 a8 00 00 	mov    0xa8(%rsp),%r12b
180095f73:	00
180095f74:	0f b7 35 b1 a9 0e 00 	movzwl 0xea9b1(%rip),%esi        # 0x18018092c
180095f7b:	bd 01 00 00 00       	mov    $0x1,%ebp
180095f80:	8b c2                	mov    %edx,%eax
180095f82:	66 03 f1             	add    %cx,%si
180095f85:	48 01 84 24 88 00 00 	add    %rax,0x88(%rsp)
180095f8c:	00
180095f8d:	4c 03 f0             	add    %rax,%r14
180095f90:	66 89 35 95 a9 0e 00 	mov    %si,0xea995(%rip)        # 0x18018092c
180095f97:	45 84 e4             	test   %r12b,%r12b
180095f9a:	74 2d                	je     0x180095fc9
180095f9c:	66 44 03 ed          	add    %bp,%r13w
180095fa0:	8d 45 63             	lea    0x63(%rbp),%eax
180095fa3:	66 44 3b e8          	cmp    %ax,%r13w
180095fa7:	72 20                	jb     0x180095fc9
180095fa9:	33 d2                	xor    %edx,%edx
180095fab:	45 8b e9             	mov    %r9d,%r13d
180095fae:	49 6b c6 64          	imul   $0x64,%r14,%rax
180095fb2:	49 f7 f7             	div    %r15
180095fb5:	33 d2                	xor    %edx,%edx
180095fb7:	48 8b c8             	mov    %rax,%rcx
180095fba:	e8 35 d4 ff ff       	call   0x1800933f4
180095fbf:	0f b7 35 66 a9 0e 00 	movzwl 0xea966(%rip),%esi        # 0x18018092c
180095fc6:	45 33 c9             	xor    %r9d,%r9d
180095fc9:	41 0f b7 c9          	movzwl %r9w,%ecx
180095fcd:	85 ff                	test   %edi,%edi
180095fcf:	74 23                	je     0x180095ff4
180095fd1:	66 03 cd             	add    %bp,%cx
180095fd4:	0f b7 c1             	movzwl %cx,%eax
180095fd7:	3b c7                	cmp    %edi,%eax
180095fd9:	72 f6                	jb     0x180095fd1
180095fdb:	44 0f b7 c7          	movzwl %di,%r8d
180095fdf:	48 8d 0d 4a a9 0f 00 	lea    0xfa94a(%rip),%rcx        # 0x180190930
180095fe6:	49 c1 e0 02          	shl    $0x2,%r8
180095fea:	33 d2                	xor    %edx,%edx
180095fec:	e8 8f fc 09 00       	call   0x180135c80
180095ff1:	45 33 c9             	xor    %r9d,%r9d
180095ff4:	b8 00 04 00 00       	mov    $0x400,%eax
180095ff9:	c7 05 1d a9 0d 00 04 	movl   $0x4,0xda91d(%rip)        # 0x180170920
180096000:	00 00 00
180096003:	66 89 05 1c a9 0d 00 	mov    %ax,0xda91c(%rip)        # 0x180170926
18009600a:	b9 ff 00 00 00       	mov    $0xff,%ecx
18009600f:	0f b7 c6             	movzwl %si,%eax
180096012:	66 2b f5             	sub    %bp,%si
180096015:	66 2b c5             	sub    %bp,%ax
180096018:	66 c1 e6 08          	shl    $0x8,%si
18009601c:	66 c1 f8 08          	sar    $0x8,%ax
180096020:	66 23 c1             	and    %cx,%ax
180096023:	66 0b c6             	or     %si,%ax
180096026:	66 89 05 fb a8 0d 00 	mov    %ax,0xda8fb(%rip)        # 0x180170928
18009602d:	41 8b c1             	mov    %r9d,%eax
180096030:	66 89 05 ed a8 0d 00 	mov    %ax,0xda8ed(%rip)        # 0x180170924
180096037:	66 83 f8 0c          	cmp    $0xc,%ax
18009603b:	e9 09 fe ff ff       	jmp    0x180095e49
180096040:	3d 01 00 00 c0       	cmp    $0xc0000001,%eax
180096045:	0f 85 f1 fe ff ff    	jne    0x180095f3c
18009604b:	85 f6                	test   %esi,%esi
18009604d:	0f 85 e9 fe ff ff    	jne    0x180095f3c
180096053:	0f b7 05 ca a8 0d 00 	movzwl 0xda8ca(%rip),%eax        # 0x180170924
18009605a:	66 ff c0             	inc    %ax
18009605d:	eb d1                	jmp    0x180096030
18009605f:	8b 8c 24 80 00 00 00 	mov    0x80(%rsp),%ecx
180096066:	48 8d 15 b9 a8 0d 00 	lea    0xda8b9(%rip),%rdx        # 0x180170926
18009606d:	41 b8 05 00 00 00    	mov    $0x5,%r8d
180096073:	c7 05 a9 a8 0d 00 00 	movl   $0x500,0xda8a9(%rip)        # 0x180170926
18009607a:	05 00 00
18009607d:	44 89 05 9c a8 0d 00 	mov    %r8d,0xda89c(%rip)        # 0x180170920
180096084:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180096089:	44 88 0d 9a a8 0d 00 	mov    %r9b,0xda89a(%rip)        # 0x18017092a
180096090:	e8 fb 0b f9 ff       	call   0x180026c90
180096095:	b8 64 00 00 00       	mov    $0x64,%eax
18009609a:	45 84 e4             	test   %r12b,%r12b
18009609d:	74 09                	je     0x1800960a8
18009609f:	33 d2                	xor    %edx,%edx
1800960a1:	8b c8                	mov    %eax,%ecx
1800960a3:	e8 4c d3 ff ff       	call   0x1800933f4
1800960a8:	8b c3                	mov    %ebx,%eax
1800960aa:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
1800960b1:	00
1800960b2:	48 83 c4 40          	add    $0x40,%rsp
1800960b6:	41 5f                	pop    %r15
1800960b8:	41 5e                	pop    %r14
1800960ba:	41 5d                	pop    %r13
1800960bc:	41 5c                	pop    %r12
1800960be:	5f                   	pop    %rdi
1800960bf:	5e                   	pop    %rsi
1800960c0:	5d                   	pop    %rbp
1800960c1:	c3                   	ret
1800960c2:	cc                   	int3
1800960c3:	41 8b d9             	mov    %r9d,%ebx
1800960c6:	eb cd                	jmp    0x180096095
1800960c8:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
1800960cd:	eb cb                	jmp    0x18009609a
1800960cf:	cc                   	int3
1800960d0:	48 8b c4             	mov    %rsp,%rax
1800960d3:	44 89 48 20          	mov    %r9d,0x20(%rax)
1800960d7:	4c 89 40 18          	mov    %r8,0x18(%rax)
1800960db:	48 89 50 10          	mov    %rdx,0x10(%rax)
1800960df:	89 48 08             	mov    %ecx,0x8(%rax)
1800960e2:	53                   	push   %rbx
1800960e3:	55                   	push   %rbp
1800960e4:	56                   	push   %rsi
1800960e5:	57                   	push   %rdi
1800960e6:	41 54                	push   %r12
1800960e8:	41 55                	push   %r13
1800960ea:	41 56                	push   %r14
1800960ec:	41 57                	push   %r15
1800960ee:	48 83 ec 78          	sub    $0x78,%rsp
1800960f2:	45 33 db             	xor    %r11d,%r11d
1800960f5:	0f 29 70 a8          	movaps %xmm6,-0x58(%rax)
1800960f9:	44 38 1d 6c f3 0f 00 	cmp    %r11b,0xff36c(%rip)        # 0x18019546c
180096100:	44 8b d1             	mov    %ecx,%r10d
180096103:	41 8a c3             	mov    %r11b,%al
180096106:	44 89 5c 24 40       	mov    %r11d,0x40(%rsp)
18009610b:	49 8b f8             	mov    %r8,%rdi
18009610e:	89 44 24 48          	mov    %eax,0x48(%rsp)
180096112:	41 8d 4b 01          	lea    0x1(%r11),%ecx
180096116:	44 88 5c 24 30       	mov    %r11b,0x30(%rsp)
18009611b:	40 8a e9             	mov    %cl,%bpl
18009611e:	4c 8b ea             	mov    %rdx,%r13
180096121:	74 04                	je     0x180096127
180096123:	8a c1                	mov    %cl,%al
180096125:	eb 10                	jmp    0x180096137
180096127:	e8 f8 b4 02 00       	call   0x1800c1624
18009612c:	88 05 3a f3 0f 00    	mov    %al,0xff33a(%rip)        # 0x18019546c
180096132:	b9 01 00 00 00       	mov    $0x1,%ecx
180096137:	f6 d8                	neg    %al
180096139:	66 44 89 5c 24 34    	mov    %r11w,0x34(%rsp)
18009613f:	b8 dc 05 00 00       	mov    $0x5dc,%eax
180096144:	44 88 5c 24 31       	mov    %r11b,0x31(%rsp)
180096149:	45 1a ff             	sbb    %r15b,%r15b
18009614c:	89 44 24 44          	mov    %eax,0x44(%rsp)
180096150:	41 80 e7 c4          	and    $0xc4,%r15b
180096154:	c7 44 24 38 e0 2e 00 	movl   $0x2ee0,0x38(%rsp)
18009615b:	00
18009615c:	41 80 c7 40          	add    $0x40,%r15b
180096160:	44 89 5c 24 3c       	mov    %r11d,0x3c(%rsp)
180096165:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
18009616a:	44 8b f0             	mov    %eax,%r14d
18009616d:	44 88 5c 24 32       	mov    %r11b,0x32(%rsp)
180096172:	4d 8b e3             	mov    %r11,%r12
180096175:	b3 04                	mov    $0x4,%bl
180096177:	b8 64 00 00 00       	mov    $0x64,%eax
18009617c:	4d 85 ed             	test   %r13,%r13
18009617f:	0f 84 5c 05 00 00    	je     0x1800966e1
180096185:	48 85 ff             	test   %rdi,%rdi
180096188:	0f 84 53 05 00 00    	je     0x1800966e1
18009618e:	41 0f b7 c3          	movzwl %r11w,%eax
180096192:	66 89 0d 93 a7 0e 00 	mov    %cx,0xea793(%rip)        # 0x18018092c
180096199:	41 0f b7 cb          	movzwl %r11w,%ecx
18009619d:	0f 57 c0             	xorps  %xmm0,%xmm0
1800961a0:	89 4c 24 4c          	mov    %ecx,0x4c(%rsp)
1800961a4:	c7 05 78 a7 0d 00 00 	movl   $0x400,0xda778(%rip)        # 0x180170926
1800961ab:	04 00 00
1800961ae:	c7 05 68 a7 0d 00 05 	movl   $0x5,0xda768(%rip)        # 0x180170920
1800961b5:	00 00 00
1800961b8:	88 1d 6c a7 0d 00    	mov    %bl,0xda76c(%rip)        # 0x18017092a
1800961be:	66 89 05 5f a7 0d 00 	mov    %ax,0xda75f(%rip)        # 0x180170924
1800961c5:	0f 11 05 64 a7 0f 00 	movups %xmm0,0xfa764(%rip)        # 0x180190930
1800961cc:	44 38 9c 24 e0 00 00 	cmp    %r11b,0xe0(%rsp)
1800961d3:	00
1800961d4:	74 18                	je     0x1800961ee
1800961d6:	33 d2                	xor    %edx,%edx
1800961d8:	33 c9                	xor    %ecx,%ecx
1800961da:	e8 15 d2 ff ff       	call   0x1800933f4
1800961df:	0f b7 05 3e a7 0d 00 	movzwl 0xda73e(%rip),%eax        # 0x180170924
1800961e6:	44 8b 94 24 c0 00 00 	mov    0xc0(%rsp),%r10d
1800961ed:	00
1800961ee:	be 01 00 00 c0       	mov    $0xc0000001,%esi
1800961f3:	66 83 f8 0c          	cmp    $0xc,%ax
1800961f7:	0f 83 ab 04 00 00    	jae    0x1800966a8
1800961fd:	f2 0f 10 35 2b 81 0c 	movsd  0xc812b(%rip),%xmm6        # 0x18015e330
180096204:	00
180096205:	44 8b 05 14 a7 0d 00 	mov    0xda714(%rip),%r8d        # 0x180170920
18009620c:	48 8d 15 13 a7 0d 00 	lea    0xda713(%rip),%rdx        # 0x180170926
180096213:	45 33 c9             	xor    %r9d,%r9d
180096216:	41 8b ca             	mov    %r10d,%ecx
180096219:	49 bd cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%r13
180096220:	9b c4 20
180096223:	e8 68 0a f9 ff       	call   0x180026c90
180096228:	45 33 db             	xor    %r11d,%r11d
18009622b:	8b f0                	mov    %eax,%esi
18009622d:	85 c0                	test   %eax,%eax
18009622f:	0f 85 76 04 00 00    	jne    0x1800966ab
180096235:	0f 31                	rdtsc
180096237:	48 c1 e2 20          	shl    $0x20,%rdx
18009623b:	48 0b c2             	or     %rdx,%rax
18009623e:	48 8b c8             	mov    %rax,%rcx
180096241:	49 8b c5             	mov    %r13,%rax
180096244:	48 f7 2d 35 d5 10 00 	imulq  0x10d535(%rip)        # 0x1801a3780
18009624b:	48 8b c1             	mov    %rcx,%rax
18009624e:	4c 8b ca             	mov    %rdx,%r9
180096251:	48 99                	cqto
180096253:	49 c1 f9 07          	sar    $0x7,%r9
180096257:	4d 8b c1             	mov    %r9,%r8
18009625a:	49 c1 e8 3f          	shr    $0x3f,%r8
18009625e:	4d 03 c8             	add    %r8,%r9
180096261:	49 f7 f9             	idiv   %r9
180096264:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
180096269:	4c 3b e7             	cmp    %rdi,%r12
18009626c:	0f 84 6a 04 00 00    	je     0x1800966dc
180096272:	0f b6 fb             	movzbl %bl,%edi
180096275:	45 8b eb             	mov    %r11d,%r13d
180096278:	45 8b e3             	mov    %r11d,%r12d
18009627b:	84 db                	test   %bl,%bl
18009627d:	0f 84 6d 01 00 00    	je     0x1800963f0
180096283:	44 39 5c 24 40       	cmp    %r11d,0x40(%rsp)
180096288:	48 8d 44 24 34       	lea    0x34(%rsp),%rax
18009628d:	8b 8c 24 c0 00 00 00 	mov    0xc0(%rsp),%ecx
180096294:	48 8d 15 8d a6 0e 00 	lea    0xea68d(%rip),%rdx        # 0x180180928