140307030:	48 2b c1             	sub    %rcx,%rax
140307033:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
140307037:	48 3b c6             	cmp    %rsi,%rax
14030703a:	72 18                	jb     0x140307054
14030703c:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140307040:	48 2b ca             	sub    %rdx,%rcx
140307043:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140307047:	48 83 f8 1f          	cmp    $0x1f,%rax
14030704b:	0f 87 a5 00 00 00    	ja     0x1403070f6
140307051:	48 8b ca             	mov    %rdx,%rcx
140307054:	ff 15 66 58 80 00    	call   *0x805866(%rip)        # 0x140b0c8c0
14030705a:	48 83 63 58 00       	andq   $0x0,0x58(%rbx)
14030705f:	48 83 63 60 00       	andq   $0x0,0x60(%rbx)
140307064:	48 83 63 68 00       	andq   $0x0,0x68(%rbx)
140307069:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
14030706d:	48 85 c9             	test   %rcx,%rcx
140307070:	74 39                	je     0x1403070ab
140307072:	48 8b 43 30          	mov    0x30(%rbx),%rax
140307076:	48 2b c1             	sub    %rcx,%rax
140307079:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
14030707d:	48 3b c6             	cmp    %rsi,%rax
140307080:	72 14                	jb     0x140307096
140307082:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140307086:	48 2b ca             	sub    %rdx,%rcx
140307089:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14030708d:	48 83 f8 1f          	cmp    $0x1f,%rax
140307091:	77 63                	ja     0x1403070f6
140307093:	48 8b ca             	mov    %rdx,%rcx
140307096:	ff 15 24 58 80 00    	call   *0x805824(%rip)        # 0x140b0c8c0
14030709c:	48 83 63 20 00       	andq   $0x0,0x20(%rbx)
1403070a1:	48 83 63 28 00       	andq   $0x0,0x28(%rbx)
1403070a6:	48 83 63 30 00       	andq   $0x0,0x30(%rbx)
1403070ab:	48 8b 0b             	mov    (%rbx),%rcx
1403070ae:	48 85 c9             	test   %rcx,%rcx
1403070b1:	74 38                	je     0x1403070eb
1403070b3:	48 8b 43 10          	mov    0x10(%rbx),%rax
1403070b7:	48 2b c1             	sub    %rcx,%rax
1403070ba:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1403070be:	48 3b c6             	cmp    %rsi,%rax
1403070c1:	72 14                	jb     0x1403070d7
1403070c3:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
1403070c7:	48 2b ca             	sub    %rdx,%rcx
1403070ca:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403070ce:	48 83 f8 1f          	cmp    $0x1f,%rax
1403070d2:	77 22                	ja     0x1403070f6
1403070d4:	48 8b ca             	mov    %rdx,%rcx
1403070d7:	ff 15 e3 57 80 00    	call   *0x8057e3(%rip)        # 0x140b0c8c0
1403070dd:	48 83 23 00          	andq   $0x0,(%rbx)
1403070e1:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
1403070e6:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
1403070eb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1403070f0:	48 83 c4 20          	add    $0x20,%rsp
1403070f4:	5e                   	pop    %rsi
1403070f5:	c3                   	ret
1403070f6:	ff 15 9c 58 80 00    	call   *0x80589c(%rip)        # 0x140b0c998
1403070fc:	cc                   	int3
1403070fd:	90                   	nop
1403070fe:	90                   	nop
1403070ff:	90                   	nop
140307100:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140307105:	55                   	push   %rbp
140307106:	56                   	push   %rsi
140307107:	57                   	push   %rdi
140307108:	41 54                	push   %r12
14030710a:	41 55                	push   %r13
14030710c:	41 56                	push   %r14
14030710e:	41 57                	push   %r15
140307110:	48 8d 6c 24 b0       	lea    -0x50(%rsp),%rbp
140307115:	48 81 ec 50 01 00 00 	sub    $0x150,%rsp
14030711c:	48 8b 05 1d 7f 9b 00 	mov    0x9b7f1d(%rip),%rax        # 0x140cbf040
140307123:	48 33 c4             	xor    %rsp,%rax
140307126:	48 89 45 40          	mov    %rax,0x40(%rbp)
14030712a:	49 8b d9             	mov    %r9,%rbx
14030712d:	49 8b f8             	mov    %r8,%rdi
140307130:	4c 8b fa             	mov    %rdx,%r15
140307133:	48 83 f9 08          	cmp    $0x8,%rcx
140307137:	0f 85 71 02 00 00    	jne    0x1403073ae
14030713d:	48 8b 0a             	mov    (%rdx),%rcx
140307140:	48 8b 01             	mov    (%rcx),%rax
140307143:	48 8b 40 20          	mov    0x20(%rax),%rax
140307147:	ff 15 eb 5a 80 00    	call   *0x805aeb(%rip)        # 0x140b0cc38
14030714d:	44 8b f0             	mov    %eax,%r14d
140307150:	48 8b 0f             	mov    (%rdi),%rcx
140307153:	48 8b 79 18          	mov    0x18(%rcx),%rdi
140307157:	44 8b 61 08          	mov    0x8(%rcx),%r12d
14030715b:	8b 71 0c             	mov    0xc(%rcx),%esi
14030715e:	44 8b 69 10          	mov    0x10(%rcx),%r13d
140307162:	0f 57 c0             	xorps  %xmm0,%xmm0
140307165:	f3 0f 7f 44 24 50    	movdqu %xmm0,0x50(%rsp)
14030716b:	48 83 64 24 60 00    	andq   $0x0,0x60(%rsp)
140307171:	49 8b 0f             	mov    (%r15),%rcx
140307174:	48 8b 11             	mov    (%rcx),%rdx
140307177:	48 8b 42 28          	mov    0x28(%rdx),%rax
14030717b:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140307180:	ff 15 b2 5a 80 00    	call   *0x805ab2(%rip)        # 0x140b0cc38
140307186:	84 c0                	test   %al,%al
140307188:	0f 84 01 02 00 00    	je     0x14030738f
14030718e:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
140307193:	0f 57 c0             	xorps  %xmm0,%xmm0
140307196:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
14030719c:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
1403071a2:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1403071a7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1403071ac:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
1403071b1:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
1403071b6:	48 8b d3             	mov    %rbx,%rdx
1403071b9:	41 8b ce             	mov    %r14d,%ecx
1403071bc:	e8 f7 e9 ff ff       	call   0x140305bb8
1403071c1:	83 7c 24 30 01       	cmpl   $0x1,0x30(%rsp)
1403071c6:	0f 84 09 01 00 00    	je     0x1403072d5
1403071cc:	41 8b de             	mov    %r14d,%ebx
1403071cf:	49 0f af dc          	imul   %r12,%rbx
1403071d3:	83 7c 24 30 02       	cmpl   $0x2,0x30(%rsp)
1403071d8:	75 53                	jne    0x14030722d
1403071da:	48 85 f6             	test   %rsi,%rsi
1403071dd:	0f 84 f2 00 00 00    	je     0x1403072d5
1403071e3:	4c 8b c3             	mov    %rbx,%r8
1403071e6:	41 83 e0 03          	and    $0x3,%r8d
1403071ea:	49 2b d8             	sub    %r8,%rbx
1403071ed:	48 8b cf             	mov    %rdi,%rcx
1403071f0:	48 85 db             	test   %rbx,%rbx
1403071f3:	74 17                	je     0x14030720c
1403071f5:	48 8d 53 ff          	lea    -0x1(%rbx),%rdx
1403071f9:	48 c1 ea 02          	shr    $0x2,%rdx
1403071fd:	48 ff c2             	inc    %rdx
140307200:	f7 11                	notl   (%rcx)
140307202:	48 83 c1 04          	add    $0x4,%rcx
140307206:	48 83 ea 01          	sub    $0x1,%rdx
14030720a:	75 f4                	jne    0x140307200
14030720c:	4d 85 c0             	test   %r8,%r8
14030720f:	74 0e                	je     0x14030721f
140307211:	49 8b d0             	mov    %r8,%rdx
140307214:	f6 11                	notb   (%rcx)
140307216:	48 ff c1             	inc    %rcx
140307219:	48 83 ea 01          	sub    $0x1,%rdx
14030721d:	75 f5                	jne    0x140307214
14030721f:	49 03 fd             	add    %r13,%rdi
140307222:	48 83 ee 01          	sub    $0x1,%rsi
140307226:	75 c5                	jne    0x1403071ed
140307228:	e9 a8 00 00 00       	jmp    0x1403072d5
14030722d:	41 b9 ff 00 00 00    	mov    $0xff,%r9d
140307233:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
140307238:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
14030723d:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140307242:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140307247:	e8 50 1c 00 00       	call   0x140308e9c
14030724c:	45 33 c0             	xor    %r8d,%r8d
14030724f:	48 85 f6             	test   %rsi,%rsi
140307252:	74 76                	je     0x1403072ca
140307254:	4c 8b 5d e8          	mov    -0x18(%rbp),%r11
140307258:	4c 8b cf             	mov    %rdi,%r9
14030725b:	33 d2                	xor    %edx,%edx
14030725d:	48 85 db             	test   %rbx,%rbx
140307260:	74 5d                	je     0x1403072bf
140307262:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
140307266:	49 2b cb             	sub    %r11,%rcx
140307269:	48 c1 f9 03          	sar    $0x3,%rcx
14030726d:	48 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rax
140307274:	aa aa aa
140307277:	48 0f af c8          	imul   %rax,%rcx
14030727b:	45 33 d2             	xor    %r10d,%r10d
14030727e:	48 63 c2             	movslq %edx,%rax
140307281:	48 3b c1             	cmp    %rcx,%rax
140307284:	0f 83 86 00 00 00    	jae    0x140307310
14030728a:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14030728e:	45 0f b6 39          	movzbl (%r9),%r15d
140307292:	4d 8b 24 c3          	mov    (%r11,%rax,8),%r12
140307296:	49 8b 44 c3 08       	mov    0x8(%r11,%rax,8),%rax
14030729b:	49 2b c4             	sub    %r12,%rax
14030729e:	4c 3b f8             	cmp    %rax,%r15
1403072a1:	73 6d                	jae    0x140307310
1403072a3:	43 8a 04 3c          	mov    (%r12,%r15,1),%al
1403072a7:	41 88 01             	mov    %al,(%r9)
1403072aa:	49 ff c1             	inc    %r9
1403072ad:	49 ff c2             	inc    %r10
1403072b0:	8d 42 01             	lea    0x1(%rdx),%eax
1403072b3:	41 3b c6             	cmp    %r14d,%eax
1403072b6:	1b d2                	sbb    %edx,%edx
1403072b8:	23 d0                	and    %eax,%edx
1403072ba:	4c 3b d3             	cmp    %rbx,%r10
1403072bd:	72 bf                	jb     0x14030727e
1403072bf:	49 ff c0             	inc    %r8
1403072c2:	49 03 fd             	add    %r13,%rdi
1403072c5:	4c 3b c6             	cmp    %rsi,%r8
1403072c8:	72 8e                	jb     0x140307258
1403072ca:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1403072cf:	e8 3c fc ff ff       	call   0x140306f10
1403072d4:	90                   	nop
1403072d5:	bb 00 10 00 00       	mov    $0x1000,%ebx
1403072da:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1403072df:	48 85 c9             	test   %rcx,%rcx
1403072e2:	74 48                	je     0x14030732c
1403072e4:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1403072e9:	48 2b c1             	sub    %rcx,%rax
1403072ec:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1403072f0:	48 8b d1             	mov    %rcx,%rdx
1403072f3:	48 3b c3             	cmp    %rbx,%rax
1403072f6:	72 1f                	jb     0x140307317
1403072f8:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1403072fc:	48 2b d1             	sub    %rcx,%rdx
1403072ff:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140307303:	48 83 f8 1f          	cmp    $0x1f,%rax
140307307:	76 0e                	jbe    0x140307317
140307309:	ff 15 89 56 80 00    	call   *0x805689(%rip)        # 0x140b0c998
14030730f:	90                   	nop
140307310:	ff 15 82 56 80 00    	call   *0x805682(%rip)        # 0x140b0c998
140307316:	90                   	nop
140307317:	ff 15 a3 55 80 00    	call   *0x8055a3(%rip)        # 0x140b0c8c0
14030731d:	0f 57 c0             	xorps  %xmm0,%xmm0
140307320:	f3 0f 7f 44 24 38    	movdqu %xmm0,0x38(%rsp)
140307326:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
14030732c:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140307331:	48 85 c9             	test   %rcx,%rcx
140307334:	74 32                	je     0x140307368
140307336:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14030733b:	48 2b c1             	sub    %rcx,%rax
14030733e:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140307342:	48 8b d1             	mov    %rcx,%rdx
140307345:	48 3b c3             	cmp    %rbx,%rax
140307348:	72 18                	jb     0x140307362
14030734a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14030734e:	48 2b d1             	sub    %rcx,%rdx
140307351:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140307355:	48 83 f8 1f          	cmp    $0x1f,%rax
140307359:	76 07                	jbe    0x140307362
14030735b:	ff 15 37 56 80 00    	call   *0x805637(%rip)        # 0x140b0c998
140307361:	cc                   	int3
140307362:	ff 15 58 55 80 00    	call   *0x805558(%rip)        # 0x140b0c8c0
140307368:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
14030736c:	48 33 cc             	xor    %rsp,%rcx
14030736f:	e8 6c 82 7e 00       	call   0x140aef5e0
140307374:	48 8b 9c 24 90 01 00 	mov    0x190(%rsp),%rbx
14030737b:	00
14030737c:	48 81 c4 50 01 00 00 	add    $0x150,%rsp
140307383:	41 5f                	pop    %r15
140307385:	41 5e                	pop    %r14
140307387:	41 5d                	pop    %r13
140307389:	41 5c                	pop    %r12
14030738b:	5f                   	pop    %rdi
14030738c:	5e                   	pop    %rsi
14030738d:	5d                   	pop    %rbp
14030738e:	c3                   	ret
14030738f:	ba 00 84 04 80       	mov    $0x80048400,%edx
140307394:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
140307398:	e8 fb ec fe ff       	call   0x1402f6098
14030739d:	48 8d 15 64 f1 92 00 	lea    0x92f164(%rip),%rdx        # 0x140c36508
1403073a4:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
1403073a8:	e8 d1 90 7e 00       	call   0x140af047e
1403073ad:	90                   	nop
1403073ae:	ba 00 84 04 80       	mov    $0x80048400,%edx
1403073b3:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
1403073b7:	e8 dc ec fe ff       	call   0x1402f6098
1403073bc:	48 8d 15 45 f1 92 00 	lea    0x92f145(%rip),%rdx        # 0x140c36508
1403073c3:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
1403073c7:	e8 b2 90 7e 00       	call   0x140af047e
1403073cc:	cc                   	int3
1403073cd:	90                   	nop
1403073ce:	90                   	nop
1403073cf:	90                   	nop
1403073d0:	40 55                	rex push %rbp
1403073d2:	53                   	push   %rbx
1403073d3:	56                   	push   %rsi
1403073d4:	57                   	push   %rdi
1403073d5:	41 54                	push   %r12
1403073d7:	41 55                	push   %r13
1403073d9:	41 56                	push   %r14
1403073db:	41 57                	push   %r15
1403073dd:	48 8d 6c 24 f9       	lea    -0x7(%rsp),%rbp
1403073e2:	48 81 ec d8 00 00 00 	sub    $0xd8,%rsp
1403073e9:	48 8b 05 50 7c 9b 00 	mov    0x9b7c50(%rip),%rax        # 0x140cbf040
1403073f0:	48 33 c4             	xor    %rsp,%rax
1403073f3:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
1403073f7:	4d 8b e9             	mov    %r9,%r13
1403073fa:	4d 8b e0             	mov    %r8,%r12
1403073fd:	48 8b f2             	mov    %rdx,%rsi
140307400:	48 8b f9             	mov    %rcx,%rdi
140307403:	48 89 4d 97          	mov    %rcx,-0x69(%rbp)
140307407:	48 89 55 9f          	mov    %rdx,-0x61(%rbp)
14030740b:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
14030740f:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140307414:	4c 8b 7d 7f          	mov    0x7f(%rbp),%r15
140307418:	33 db                	xor    %ebx,%ebx
14030741a:	89 5c 24 48          	mov    %ebx,0x48(%rsp)
14030741e:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140307423:	48 89 19             	mov    %rbx,(%rcx)
140307426:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%rsp)
14030742d:	00
14030742e:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140307433:	48 89 5d a7          	mov    %rbx,-0x59(%rbp)
140307437:	49 8b 0f             	mov    (%r15),%rcx
14030743a:	48 8b 01             	mov    (%rcx),%rax
14030743d:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140307442:	48 8b 40 70          	mov    0x70(%rax),%rax
140307446:	ff 15 ec 57 80 00    	call   *0x8057ec(%rip)        # 0x140b0cc38
14030744c:	48 8d 0d c5 31 84 00 	lea    0x8431c5(%rip),%rcx        # 0x140b4a618
140307453:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140307458:	85 c0                	test   %eax,%eax
14030745a:	0f 88 49 02 00 00    	js     0x1403076a9
140307460:	48 8b d6             	mov    %rsi,%rdx
140307463:	48 8d 4d 87          	lea    -0x79(%rbp),%rcx
140307467:	e8 fc 2c 00 00       	call   0x14030a168
14030746c:	48 8b 4d 87          	mov    -0x79(%rbp),%rcx
140307470:	48 85 c9             	test   %rcx,%rcx
140307473:	0f 84 40 02 00 00    	je     0x1403076b9
140307479:	48 8b 01             	mov    (%rcx),%rax
14030747c:	48 8b 40 10          	mov    0x10(%rax),%rax
140307480:	ff 15 b2 57 80 00    	call   *0x8057b2(%rip)        # 0x140b0cc38
140307486:	48 8b d0             	mov    %rax,%rdx
140307489:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14030748e:	48 8b 01             	mov    (%rcx),%rax
140307491:	4c 8b 90 80 00 00 00 	mov    0x80(%rax),%r10
140307498:	44 8b 42 08          	mov    0x8(%rdx),%r8d
14030749c:	44 2b 02             	sub    (%rdx),%r8d
14030749f:	4c 8b 0a             	mov    (%rdx),%r9
1403074a2:	4c 39 4a 08          	cmp    %r9,0x8(%rdx)
1403074a6:	75 07                	jne    0x1403074af
1403074a8:	ff 15 ea 54 80 00    	call   *0x8054ea(%rip)        # 0x140b0c998
1403074ae:	cc                   	int3
1403074af:	49 8b d1             	mov    %r9,%rdx
1403074b2:	49 8b c2             	mov    %r10,%rax
1403074b5:	ff 15 7d 57 80 00    	call   *0x80577d(%rip)        # 0x140b0cc38
1403074bb:	48 8d 0d 76 31 84 00 	lea    0x843176(%rip),%rcx        # 0x140b4a638
1403074c2:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1403074c7:	85 c0                	test   %eax,%eax
1403074c9:	0f 88 09 02 00 00    	js     0x1403076d8
1403074cf:	49 8b 1f             	mov    (%r15),%rbx
1403074d2:	48 8b 03             	mov    (%rbx),%rax
1403074d5:	4c 8b 70 20          	mov    0x20(%rax),%r14
1403074d9:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1403074de:	48 85 c9             	test   %rcx,%rcx
1403074e1:	74 13                	je     0x1403074f6
1403074e3:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
1403074e9:	48 8b 01             	mov    (%rcx),%rax
1403074ec:	48 8b 40 10          	mov    0x10(%rax),%rax
1403074f0:	ff 15 42 57 80 00    	call   *0x805742(%rip)        # 0x140b0cc38
1403074f6:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
1403074fb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140307500:	45 33 c9             	xor    %r9d,%r9d
140307503:	45 33 c0             	xor    %r8d,%r8d
140307506:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14030750b:	48 8b cb             	mov    %rbx,%rcx
14030750e:	49 8b c6             	mov    %r14,%rax
140307511:	ff 15 21 57 80 00    	call   *0x805721(%rip)        # 0x140b0cc38
140307517:	48 8d 0d 3a 31 84 00 	lea    0x84313a(%rip),%rcx        # 0x140b4a658
14030751e:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140307523:	85 c0                	test   %eax,%eax
140307525:	0f 88 ba 01 00 00    	js     0x1403076e5
14030752b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140307530:	48 8b 03             	mov    (%rbx),%rax
140307533:	4c 8b 70 68          	mov    0x68(%rax),%r14