140440202:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140440207:	e8 14 54 f8 ff       	call   0x1403c5620
14044020c:	49 8b ec             	mov    %r12,%rbp
14044020f:	45 85 ff             	test   %r15d,%r15d
140440212:	0f 84 a0 00 00 00    	je     0x1404402b8
140440218:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14044021f:	00
140440220:	b9 20 00 00 00       	mov    $0x20,%ecx
140440225:	e8 de ae 9d 00       	call   0x140e1b108
14044022a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14044022f:	48 8b c8             	mov    %rax,%rcx
140440232:	48 85 c0             	test   %rax,%rax
140440235:	74 29                	je     0x140440260
140440237:	48 8b 47 58          	mov    0x58(%rdi),%rax
14044023b:	83 78 30 00          	cmpl   $0x0,0x30(%rax)
14044023f:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%rcx)
140440245:	0f 95 c0             	setne  %al
140440248:	48 89 59 08          	mov    %rbx,0x8(%rcx)
14044024c:	88 41 18             	mov    %al,0x18(%rcx)
14044024f:	41 8b c4             	mov    %r12d,%eax
140440252:	41 2b c5             	sub    %r13d,%eax
140440255:	48 89 59 10          	mov    %rbx,0x10(%rcx)
140440259:	ff c0                	inc    %eax
14044025b:	89 41 1c             	mov    %eax,0x1c(%rcx)
14044025e:	eb 03                	jmp    0x140440263
140440260:	48 8b cb             	mov    %rbx,%rcx
140440263:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
140440268:	4c 8b c6             	mov    %rsi,%r8
14044026b:	48 8b d5             	mov    %rbp,%rdx
14044026e:	48 89 4f 28          	mov    %rcx,0x28(%rdi)
140440272:	e8 e9 da 00 00       	call   0x14044dd60
140440277:	4c 8b 4f 20          	mov    0x20(%rdi),%r9
14044027b:	4c 63 e0             	movslq %eax,%r12
14044027e:	49 8b 51 08          	mov    0x8(%r9),%rdx
140440282:	49 3b 51 10          	cmp    0x10(%r9),%rdx
140440286:	74 0e                	je     0x140440296
140440288:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
14044028c:	48 89 0a             	mov    %rcx,(%rdx)
14044028f:	49 83 41 08 08       	addq   $0x8,0x8(%r9)
140440294:	eb 0c                	jmp    0x1404402a2
140440296:	4c 8d 47 28          	lea    0x28(%rdi),%r8
14044029a:	49 8b c9             	mov    %r9,%rcx
14044029d:	e8 1e 52 f8 ff       	call   0x1403c54c0
1404402a2:	49 03 ec             	add    %r12,%rbp
1404402a5:	48 89 5f 28          	mov    %rbx,0x28(%rdi)
1404402a9:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1404402ae:	49 83 ef 01          	sub    $0x1,%r15
1404402b2:	0f 85 68 ff ff ff    	jne    0x140440220
1404402b8:	41 2b ec             	sub    %r12d,%ebp
1404402bb:	8b c3                	mov    %ebx,%eax
1404402bd:	4c 63 e5             	movslq %ebp,%r12
1404402c0:	4c 03 64 24 20       	add    0x20(%rsp),%r12
1404402c5:	66 83 7f 0a 00       	cmpw   $0x0,0xa(%rdi)
1404402ca:	0f 95 c0             	setne  %al
1404402cd:	44 8b f8             	mov    %eax,%r15d
1404402d0:	48 8b c6             	mov    %rsi,%rax
1404402d3:	49 2b c4             	sub    %r12,%rax
1404402d6:	4c 3b f8             	cmp    %rax,%r15
1404402d9:	0f 8f 01 03 00 00    	jg     0x1404405e0
1404402df:	b9 18 00 00 00       	mov    $0x18,%ecx
1404402e4:	48 89 5f 38          	mov    %rbx,0x38(%rdi)
1404402e8:	e8 1b ae 9d 00       	call   0x140e1b108
1404402ed:	48 8b c8             	mov    %rax,%rcx
1404402f0:	48 85 c0             	test   %rax,%rax
1404402f3:	74 0d                	je     0x140440302
1404402f5:	48 89 18             	mov    %rbx,(%rax)
1404402f8:	48 89 58 08          	mov    %rbx,0x8(%rax)
1404402fc:	48 89 58 10          	mov    %rbx,0x10(%rax)
140440300:	eb 03                	jmp    0x140440305
140440302:	48 8b cb             	mov    %rbx,%rcx
140440305:	48 89 4f 30          	mov    %rcx,0x30(%rdi)
140440309:	48 8b 41 10          	mov    0x10(%rcx),%rax
14044030d:	48 2b 01             	sub    (%rcx),%rax
140440310:	48 c1 f8 03          	sar    $0x3,%rax
140440314:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140440319:	4c 3b f8             	cmp    %rax,%r15
14044031c:	76 0a                	jbe    0x140440328
14044031e:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140440323:	e8 f8 52 f8 ff       	call   0x1403c5620
140440328:	49 8b ec             	mov    %r12,%rbp
14044032b:	45 85 ff             	test   %r15d,%r15d
14044032e:	0f 84 a1 00 00 00    	je     0x1404403d5
140440334:	b9 20 00 00 00       	mov    $0x20,%ecx
140440339:	e8 ca ad 9d 00       	call   0x140e1b108
14044033e:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140440343:	4c 8b d0             	mov    %rax,%r10
140440346:	48 85 c0             	test   %rax,%rax
140440349:	74 2d                	je     0x140440378
14044034b:	48 8b 47 58          	mov    0x58(%rdi),%rax
14044034f:	8b 48 30             	mov    0x30(%rax),%ecx
140440352:	85 c9                	test   %ecx,%ecx
140440354:	41 c7 02 ff ff ff ff 	movl   $0xffffffff,(%r10)
14044035b:	0f 95 c0             	setne  %al
14044035e:	49 89 5a 08          	mov    %rbx,0x8(%r10)
140440362:	41 88 42 18          	mov    %al,0x18(%r10)
140440366:	41 8b c4             	mov    %r12d,%eax
140440369:	41 2b c5             	sub    %r13d,%eax
14044036c:	49 89 5a 10          	mov    %rbx,0x10(%r10)
140440370:	ff c0                	inc    %eax
140440372:	41 89 42 1c          	mov    %eax,0x1c(%r10)
140440376:	eb 03                	jmp    0x14044037b
140440378:	4c 8b d3             	mov    %rbx,%r10
14044037b:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
140440380:	4c 8b c6             	mov    %rsi,%r8
140440383:	48 8b d5             	mov    %rbp,%rdx
140440386:	4c 89 57 38          	mov    %r10,0x38(%rdi)
14044038a:	49 8b ca             	mov    %r10,%rcx
14044038d:	e8 ce d9 00 00       	call   0x14044dd60
140440392:	4c 8b 4f 30          	mov    0x30(%rdi),%r9
140440396:	89 44 24 20          	mov    %eax,0x20(%rsp)
14044039a:	49 8b 51 08          	mov    0x8(%r9),%rdx
14044039e:	49 3b 51 10          	cmp    0x10(%r9),%rdx
1404403a2:	74 0e                	je     0x1404403b2
1404403a4:	48 8b 4f 38          	mov    0x38(%rdi),%rcx
1404403a8:	48 89 0a             	mov    %rcx,(%rdx)
1404403ab:	49 83 41 08 08       	addq   $0x8,0x8(%r9)
1404403b0:	eb 10                	jmp    0x1404403c2
1404403b2:	4c 8d 47 38          	lea    0x38(%rdi),%r8
1404403b6:	49 8b c9             	mov    %r9,%rcx
1404403b9:	e8 02 51 f8 ff       	call   0x1403c54c0
1404403be:	8b 44 24 20          	mov    0x20(%rsp),%eax
1404403c2:	48 98                	cltq
1404403c4:	48 03 e8             	add    %rax,%rbp
1404403c7:	48 89 5f 38          	mov    %rbx,0x38(%rdi)
1404403cb:	49 83 ef 01          	sub    $0x1,%r15
1404403cf:	0f 85 5f ff ff ff    	jne    0x140440334
1404403d5:	48 8b 07             	mov    (%rdi),%rax
1404403d8:	41 2b ec             	sub    %r12d,%ebp
1404403db:	4c 63 c5             	movslq %ebp,%r8
1404403de:	4d 03 c4             	add    %r12,%r8
1404403e1:	0f b7 50 02          	movzwl 0x2(%rax),%edx
1404403e5:	44 8b ca             	mov    %edx,%r9d
1404403e8:	66 85 d2             	test   %dx,%dx
1404403eb:	74 23                	je     0x140440410
1404403ed:	0f b7 4f 60          	movzwl 0x60(%rdi),%ecx
1404403f1:	8b c1                	mov    %ecx,%eax
1404403f3:	49 2b c5             	sub    %r13,%rax
1404403f6:	48 83 c0 02          	add    $0x2,%rax
1404403fa:	49 03 c0             	add    %r8,%rax
1404403fd:	48 3b d0             	cmp    %rax,%rdx
140440400:	7d 0e                	jge    0x140440410
140440402:	8b c1                	mov    %ecx,%eax
140440404:	8b ca                	mov    %edx,%ecx
140440406:	2b c8                	sub    %eax,%ecx
140440408:	41 2b c8             	sub    %r8d,%ecx
14044040b:	41 03 cd             	add    %r13d,%ecx
14044040e:	eb 02                	jmp    0x140440412
140440410:	8b cb                	mov    %ebx,%ecx
140440412:	48 63 e9             	movslq %ecx,%rbp
140440415:	49 03 e8             	add    %r8,%rbp
140440418:	48 3b ee             	cmp    %rsi,%rbp
14044041b:	0f 87 e2 00 00 00    	ja     0x140440503
140440421:	49 3b e8             	cmp    %r8,%rbp
140440424:	0f 82 d9 00 00 00    	jb     0x140440503
14044042a:	66 85 d2             	test   %dx,%dx
14044042d:	74 29                	je     0x140440458
14044042f:	0f b7 4f 60          	movzwl 0x60(%rdi),%ecx
140440433:	8b c1                	mov    %ecx,%eax
140440435:	49 2b c5             	sub    %r13,%rax
140440438:	48 83 c0 02          	add    $0x2,%rax
14044043c:	49 03 c0             	add    %r8,%rax
14044043f:	4c 3b c8             	cmp    %rax,%r9
140440442:	7d 14                	jge    0x140440458
140440444:	8b c1                	mov    %ecx,%eax
140440446:	8b ca                	mov    %edx,%ecx
140440448:	2b c8                	sub    %eax,%ecx
14044044a:	41 2b c8             	sub    %r8d,%ecx
14044044d:	41 03 cd             	add    %r13d,%ecx
140440450:	0f 88 dc 00 00 00    	js     0x140440532
140440456:	eb 02                	jmp    0x14044045a
140440458:	8b cb                	mov    %ebx,%ecx
14044045a:	8b c1                	mov    %ecx,%eax
14044045c:	b9 20 00 00 00       	mov    $0x20,%ecx
140440461:	49 03 c0             	add    %r8,%rax
140440464:	4c 89 47 40          	mov    %r8,0x40(%rdi)
140440468:	48 89 47 48          	mov    %rax,0x48(%rdi)
14044046c:	e8 97 ac 9d 00       	call   0x140e1b108
140440471:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140440476:	4c 8b d0             	mov    %rax,%r10
140440479:	48 85 c0             	test   %rax,%rax
14044047c:	74 31                	je     0x1404404af
14044047e:	48 8b 07             	mov    (%rdi),%rax
140440481:	0f b7 4f 60          	movzwl 0x60(%rdi),%ecx
140440485:	66 41 2b cd          	sub    %r13w,%cx
140440489:	66 03 cd             	add    %bp,%cx
14044048c:	0f b6 10             	movzbl (%rax),%edx
14044048f:	48 8b 47 58          	mov    0x58(%rdi),%rax
140440493:	49 89 42 10          	mov    %rax,0x10(%r10)
140440497:	41 c6 02 ff          	movb   $0xff,(%r10)
14044049b:	49 89 5a 08          	mov    %rbx,0x8(%r10)
14044049f:	41 c6 42 18 00       	movb   $0x0,0x18(%r10)
1404404a4:	66 41 89 4a 1a       	mov    %cx,0x1a(%r10)
1404404a9:	41 88 52 1c          	mov    %dl,0x1c(%r10)
1404404ad:	eb 03                	jmp    0x1404404b2
1404404af:	4c 8b d3             	mov    %rbx,%r10
1404404b2:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
1404404b7:	4c 8b c6             	mov    %rsi,%r8
1404404ba:	48 8b d5             	mov    %rbp,%rdx
1404404bd:	4c 89 57 50          	mov    %r10,0x50(%rdi)
1404404c1:	49 8b ca             	mov    %r10,%rcx
1404404c4:	e8 e7 d7 00 00       	call   0x14044dcb0
1404404c9:	4c 8b 64 24 70       	mov    0x70(%rsp),%r12
1404404ce:	41 2b ed             	sub    %r13d,%ebp
1404404d1:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
1404404d6:	03 c5                	add    %ebp,%eax
1404404d8:	f6 47 08 01          	testb  $0x1,0x8(%rdi)
1404404dc:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
1404404e1:	0f 97 c1             	seta   %cl
1404404e4:	88 4f 62             	mov    %cl,0x62(%rdi)
1404404e7:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1404404ec:	48 33 cc             	xor    %rsp,%rcx
1404404ef:	e8 0c b0 9d 00       	call   0x140e1b500
1404404f4:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
1404404fb:	41 5e                	pop    %r14
1404404fd:	41 5d                	pop    %r13
1404404ff:	5f                   	pop    %rdi
140440500:	5e                   	pop    %rsi
140440501:	5d                   	pop    %rbp
140440502:	c3                   	ret
140440503:	45 2b c5             	sub    %r13d,%r8d
140440506:	48 8d 15 0b 4b bb 00 	lea    0xbb4b0b(%rip),%rdx        # 0x140ff5018
14044050d:	44 03 c1             	add    %ecx,%r8d
140440510:	41 2b f5             	sub    %r13d,%esi
140440513:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440518:	44 8b ce             	mov    %esi,%r9d
14044051b:	e8 d0 8b d6 ff       	call   0x1401a90f0
140440520:	48 8d 15 a9 04 f6 00 	lea    0xf604a9(%rip),%rdx        # 0x1413a09d0
140440527:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14044052c:	e8 e7 c2 9d 00       	call   0x140e1c818
140440531:	cc                   	int3
140440532:	44 8b c1             	mov    %ecx,%r8d
140440535:	48 8d 15 24 4b bb 00 	lea    0xbb4b24(%rip),%rdx        # 0x140ff5060
14044053c:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440541:	e8 aa 8a d6 ff       	call   0x1401a8ff0
140440546:	48 8d 15 43 05 f6 00 	lea    0xf60543(%rip),%rdx        # 0x1413a0a90
14044054d:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440552:	e8 c1 c2 9d 00       	call   0x140e1c818
140440557:	cc                   	int3
140440558:	41 2b f5             	sub    %r13d,%esi
14044055b:	48 8d 15 d6 49 bb 00 	lea    0xbb49d6(%rip),%rdx        # 0x140ff4f38
140440562:	44 8b ce             	mov    %esi,%r9d
140440565:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14044056a:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140440570:	e8 7b 8b d6 ff       	call   0x1401a90f0
140440575:	48 8d 15 54 04 f6 00 	lea    0xf60454(%rip),%rdx        # 0x1413a09d0
14044057c:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440581:	e8 92 c2 9d 00       	call   0x140e1c818
140440586:	cc                   	int3
140440587:	41 2b f5             	sub    %r13d,%esi
14044058a:	48 8d 15 df 49 bb 00 	lea    0xbb49df(%rip),%rdx        # 0x140ff4f70
140440591:	45 8b c7             	mov    %r15d,%r8d
140440594:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440599:	44 8d 4e f8          	lea    -0x8(%rsi),%r9d
14044059d:	e8 4e 8b d6 ff       	call   0x1401a90f0
1404405a2:	48 8d 15 27 04 f6 00 	lea    0xf60427(%rip),%rdx        # 0x1413a09d0
1404405a9:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404405ae:	e8 65 c2 9d 00       	call   0x140e1c818
1404405b3:	cc                   	int3
1404405b4:	41 2b f4             	sub    %r12d,%esi
1404405b7:	48 8d 15 ea 49 bb 00 	lea    0xbb49ea(%rip),%rdx        # 0x140ff4fa8
1404405be:	44 8b ce             	mov    %esi,%r9d
1404405c1:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404405c6:	45 8b c7             	mov    %r15d,%r8d
1404405c9:	e8 22 8b d6 ff       	call   0x1401a90f0
1404405ce:	48 8d 15 fb 03 f6 00 	lea    0xf603fb(%rip),%rdx        # 0x1413a09d0
1404405d5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404405da:	e8 39 c2 9d 00       	call   0x140e1c818
1404405df:	cc                   	int3
1404405e0:	41 2b f4             	sub    %r12d,%esi
1404405e3:	48 8d 15 f6 49 bb 00 	lea    0xbb49f6(%rip),%rdx        # 0x140ff4fe0
1404405ea:	44 8b ce             	mov    %esi,%r9d
1404405ed:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1404405f2:	45 8b c7             	mov    %r15d,%r8d
1404405f5:	e8 f6 8a d6 ff       	call   0x1401a90f0
1404405fa:	48 8d 15 cf 03 f6 00 	lea    0xf603cf(%rip),%rdx        # 0x1413a09d0
140440601:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140440606:	e8 0d c2 9d 00       	call   0x140e1c818
14044060b:	cc                   	int3
14044060c:	cc                   	int3
14044060d:	cc                   	int3
14044060e:	cc                   	int3
14044060f:	cc                   	int3
140440610:	40 53                	rex push %rbx
140440612:	56                   	push   %rsi
140440613:	57                   	push   %rdi
140440614:	41 54                	push   %r12
140440616:	41 56                	push   %r14
140440618:	41 57                	push   %r15
14044061a:	48 83 ec 58          	sub    $0x58,%rsp
14044061e:	48 8b 05 db 88 f7 00 	mov    0xf788db(%rip),%rax        # 0x1413b8f00
140440625:	48 33 c4             	xor    %rsp,%rax
140440628:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14044062d:	4c 8d 7a 0a          	lea    0xa(%rdx),%r15
140440631:	4d 8b e1             	mov    %r9,%r12
140440634:	49 8b d8             	mov    %r8,%rbx
140440637:	48 8b f2             	mov    %rdx,%rsi
14044063a:	48 8b f9             	mov    %rcx,%rdi
14044063d:	4d 3b f8             	cmp    %r8,%r15
140440640:	0f 87 ed 02 00 00    	ja     0x140440933
140440646:	4c 8d 72 08          	lea    0x8(%rdx),%r14
14044064a:	4d 3b fe             	cmp    %r14,%r15
14044064d:	0f 82 e0 02 00 00    	jb     0x140440933
140440653:	b9 08 00 00 00       	mov    $0x8,%ecx
140440658:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14044065d:	e8 a6 aa 9d 00       	call   0x140e1b108
140440662:	33 ed                	xor    %ebp,%ebp
140440664:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140440669:	48 85 c0             	test   %rax,%rax
14044066c:	74 0b                	je     0x140440679
14044066e:	89 28                	mov    %ebp,(%rax)
140440670:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%rax)
140440677:	eb 03                	jmp    0x14044067c
140440679:	48 8b c5             	mov    %rbp,%rax
14044067c:	4c 8b c3             	mov    %rbx,%r8
14044067f:	48 89 07             	mov    %rax,(%rdi)
140440682:	48 8b d6             	mov    %rsi,%rdx
140440685:	48 8b c8             	mov    %rax,%rcx
140440688:	e8 93 d5 00 00       	call   0x14044dc20
14044068d:	83 bc 24 b0 00 00 00 	cmpl   $0x1,0xb0(%rsp)
140440694:	01
140440695:	0f b7 46 04          	movzwl 0x4(%rsi),%eax
140440699:	75 12                	jne    0x1404406ad
14044069b:	66 89 47 08          	mov    %ax,0x8(%rdi)
14044069f:	0f b7 46 06          	movzwl 0x6(%rsi),%eax
1404406a3:	66 89 47 0a          	mov    %ax,0xa(%rdi)
1404406a7:	41 0f b7 0e          	movzwl (%r14),%ecx
1404406ab:	eb 1c                	jmp    0x1404406c9
1404406ad:	66 c1 c8 08          	ror    $0x8,%ax
1404406b1:	66 89 47 08          	mov    %ax,0x8(%rdi)
1404406b5:	0f b7 46 06          	movzwl 0x6(%rsi),%eax
1404406b9:	66 c1 c8 08          	ror    $0x8,%ax
1404406bd:	66 89 47 0a          	mov    %ax,0xa(%rdi)
1404406c1:	41 0f b7 0e          	movzwl (%r14),%ecx
1404406c5:	66 c1 c9 08          	ror    $0x8,%cx
1404406c9:	44 0f b7 c0          	movzwl %ax,%r8d
1404406cd:	4c 8d 76 0a          	lea    0xa(%rsi),%r14
1404406d1:	4d 03 f0             	add    %r8,%r14
1404406d4:	66 89 4f 0c          	mov    %cx,0xc(%rdi)
1404406d8:	4c 3b f3             	cmp    %rbx,%r14
1404406db:	0f 87 00 02 00 00    	ja     0x1404408e1
1404406e1:	4d 3b f7             	cmp    %r15,%r14
1404406e4:	0f 82 f7 01 00 00    	jb     0x1404408e1
1404406ea:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1404406ee:	49 8b d7             	mov    %r15,%rdx
1404406f1:	e8 6a dc d6 ff       	call   0x1401ae360
1404406f6:	b9 20 00 00 00       	mov    $0x20,%ecx
1404406fb:	e8 08 aa 9d 00       	call   0x140e1b108
140440700:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140440705:	48 8b c8             	mov    %rax,%rcx
140440708:	48 85 c0             	test   %rax,%rax