1408b8168:	48 99                	cqto
1408b816a:	48 f7 f9             	idiv   %rcx
1408b816d:	48 8b d0             	mov    %rax,%rdx
1408b8170:	b8 00 ca 9a 3b       	mov    $0x3b9aca00,%eax
1408b8175:	48 3b d0             	cmp    %rax,%rdx
1408b8178:	48 0f 4f d0          	cmovg  %rax,%rdx
1408b817c:	49 8b 0a             	mov    (%r10),%rcx
1408b817f:	48 85 c9             	test   %rcx,%rcx
1408b8182:	74 0c                	je     0x1408b8190
1408b8184:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1408b8188:	41 ff c0             	inc    %r8d
1408b818b:	48 85 c9             	test   %rcx,%rcx
1408b818e:	75 f4                	jne    0x1408b8184
1408b8190:	85 d2                	test   %edx,%edx
1408b8192:	74 1a                	je     0x1408b81ae
1408b8194:	48 63 ca             	movslq %edx,%rcx
1408b8197:	49 63 c0             	movslq %r8d,%rax
1408b819a:	48 6b c0 64          	imul   $0x64,%rax,%rax
1408b819e:	48 99                	cqto
1408b81a0:	48 f7 f9             	idiv   %rcx
1408b81a3:	83 f8 19             	cmp    $0x19,%eax
1408b81a6:	41 0f 9d c1          	setge  %r9b
1408b81aa:	41 8b c1             	mov    %r9d,%eax
1408b81ad:	c3                   	ret
1408b81ae:	41 8b c1             	mov    %r9d,%eax
1408b81b1:	83 f8 19             	cmp    $0x19,%eax
1408b81b4:	41 0f 9d c1          	setge  %r9b
1408b81b8:	41 8b c1             	mov    %r9d,%eax
1408b81bb:	c3                   	ret
1408b81bc:	33 c0                	xor    %eax,%eax
1408b81be:	c3                   	ret
1408b81bf:	cc                   	int3
1408b81c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408b81c5:	57                   	push   %rdi
1408b81c6:	48 83 ec 20          	sub    $0x20,%rsp
1408b81ca:	48 8b d9             	mov    %rcx,%rbx
1408b81cd:	33 c0                	xor    %eax,%eax
1408b81cf:	0f b6 49 16          	movzbl 0x16(%rcx),%ecx
1408b81d3:	8b fa                	mov    %edx,%edi
1408b81d5:	3b ca                	cmp    %edx,%ecx
1408b81d7:	7c 05                	jl     0x1408b81de
1408b81d9:	80 f9 05             	cmp    $0x5,%cl
1408b81dc:	75 29                	jne    0x1408b8207
1408b81de:	38 43 11             	cmp    %al,0x11(%rbx)
1408b81e1:	75 15                	jne    0x1408b81f8
1408b81e3:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
1408b81e7:	48 8b 01             	mov    (%rcx),%rax
1408b81ea:	48 8b 40 38          	mov    0x38(%rax),%rax
1408b81ee:	ff 15 2c b8 6c 00    	call   *0x6cb82c(%rip)        # 0x140f83a20
1408b81f4:	85 c0                	test   %eax,%eax
1408b81f6:	75 0f                	jne    0x1408b8207
1408b81f8:	80 7b 16 05          	cmpb   $0x5,0x16(%rbx)
1408b81fc:	75 05                	jne    0x1408b8203
1408b81fe:	83 ff 04             	cmp    $0x4,%edi
1408b8201:	75 04                	jne    0x1408b8207
1408b8203:	40 88 7b 16          	mov    %dil,0x16(%rbx)
1408b8207:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1408b820c:	48 83 c4 20          	add    $0x20,%rsp
1408b8210:	5f                   	pop    %rdi
1408b8211:	c3                   	ret
1408b8212:	cc                   	int3
1408b8213:	cc                   	int3
1408b8214:	cc                   	int3
1408b8215:	cc                   	int3
1408b8216:	cc                   	int3
1408b8217:	cc                   	int3
1408b8218:	cc                   	int3
1408b8219:	cc                   	int3
1408b821a:	cc                   	int3
1408b821b:	cc                   	int3
1408b821c:	cc                   	int3
1408b821d:	cc                   	int3
1408b821e:	cc                   	int3
1408b821f:	cc                   	int3
1408b8220:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408b8225:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1408b822a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1408b822f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1408b8234:	41 54                	push   %r12
1408b8236:	41 56                	push   %r14
1408b8238:	41 57                	push   %r15
1408b823a:	48 83 ec 20          	sub    $0x20,%rsp
1408b823e:	4c 63 b1 80 00 00 00 	movslq 0x80(%rcx),%r14
1408b8245:	48 8b f9             	mov    %rcx,%rdi
1408b8248:	48 8b 49 78          	mov    0x78(%rcx),%rcx
1408b824c:	48 63 da             	movslq %edx,%rbx
1408b824f:	48 6b d3 38          	imul   $0x38,%rbx,%rdx
1408b8253:	4c 8b e3             	mov    %rbx,%r12
1408b8256:	e8 d5 f8 03 00       	call   0x1408f7b30
1408b825b:	48 8b e8             	mov    %rax,%rbp
1408b825e:	48 85 c0             	test   %rax,%rax
1408b8261:	0f 84 e4 00 00 00    	je     0x1408b834b
1408b8267:	4d 6b fe 38          	imul   $0x38,%r14,%r15
1408b826b:	41 2b de             	sub    %r14d,%ebx
1408b826e:	33 d2                	xor    %edx,%edx
1408b8270:	48 63 cb             	movslq %ebx,%rcx
1408b8273:	4c 03 f8             	add    %rax,%r15
1408b8276:	4c 6b c1 38          	imul   $0x38,%rcx,%r8
1408b827a:	49 8b cf             	mov    %r15,%rcx
1408b827d:	49 8b f6             	mov    %r14,%rsi
1408b8280:	e8 2b 74 62 00       	call   0x140edf6b0
1408b8285:	48 89 6f 78          	mov    %rbp,0x78(%rdi)
1408b8289:	4d 3b f4             	cmp    %r12,%r14
1408b828c:	0f 8d aa 00 00 00    	jge    0x1408b833c
1408b8292:	41 8d 6e 01          	lea    0x1(%r14),%ebp
1408b8296:	49 8d 5f 2c          	lea    0x2c(%r15),%rbx
1408b829a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1408b82a0:	8b 47 20             	mov    0x20(%rdi),%eax
1408b82a3:	89 43 ec             	mov    %eax,-0x14(%rbx)
1408b82a6:	48 8b 47 50          	mov    0x50(%rdi),%rax
1408b82aa:	48 83 38 00          	cmpq   $0x0,(%rax)
1408b82ae:	74 09                	je     0x1408b82b9
1408b82b0:	48 8b 47 60          	mov    0x60(%rdi),%rax
1408b82b4:	48 85 c0             	test   %rax,%rax
1408b82b7:	7f 06                	jg     0x1408b82bf
1408b82b9:	8b 87 b8 00 00 00    	mov    0xb8(%rdi),%eax
1408b82bf:	48 89 43 d4          	mov    %rax,-0x2c(%rbx)
1408b82c3:	b9 00 02 00 00       	mov    $0x200,%ecx
1408b82c8:	8b 47 3c             	mov    0x3c(%rdi),%eax
1408b82cb:	89 43 f0             	mov    %eax,-0x10(%rbx)
1408b82ce:	44 8b 7f 20          	mov    0x20(%rdi),%r15d
1408b82d2:	e8 89 54 03 00       	call   0x1408ed760
1408b82d7:	4c 8b f0             	mov    %rax,%r14
1408b82da:	48 85 c0             	test   %rax,%rax
1408b82dd:	74 61                	je     0x1408b8340
1408b82df:	48 8d 48 04          	lea    0x4(%rax),%rcx
1408b82e3:	33 d2                	xor    %edx,%edx
1408b82e5:	41 b8 fc 01 00 00    	mov    $0x1fc,%r8d
1408b82eb:	e8 c0 73 62 00       	call   0x140edf6b0
1408b82f0:	45 89 3e             	mov    %r15d,(%r14)
1408b82f3:	4c 89 73 e4          	mov    %r14,-0x1c(%rbx)
1408b82f7:	c7 43 f4 01 00 00 00 	movl   $0x1,-0xc(%rbx)
1408b82fe:	48 8b 8f 28 01 00 00 	mov    0x128(%rdi),%rcx
1408b8305:	48 85 c9             	test   %rcx,%rcx
1408b8308:	74 1a                	je     0x1408b8324
1408b830a:	8b 41 58             	mov    0x58(%rcx),%eax
1408b830d:	89 43 f8             	mov    %eax,-0x8(%rbx)
1408b8310:	8b 41 60             	mov    0x60(%rcx),%eax
1408b8313:	89 43 fc             	mov    %eax,-0x4(%rbx)
1408b8316:	8b 41 64             	mov    0x64(%rcx),%eax
1408b8319:	89 03                	mov    %eax,(%rbx)
1408b831b:	8b 81 88 00 00 00    	mov    0x88(%rcx),%eax
1408b8321:	89 43 04             	mov    %eax,0x4(%rbx)
1408b8324:	89 af 80 00 00 00    	mov    %ebp,0x80(%rdi)
1408b832a:	48 ff c6             	inc    %rsi
1408b832d:	ff c5                	inc    %ebp
1408b832f:	48 83 c3 38          	add    $0x38,%rbx
1408b8333:	49 3b f4             	cmp    %r12,%rsi
1408b8336:	0f 8c 64 ff ff ff    	jl     0x1408b82a0
1408b833c:	33 c0                	xor    %eax,%eax
1408b833e:	eb 10                	jmp    0x1408b8350
1408b8340:	4c 89 73 e4          	mov    %r14,-0x1c(%rbx)
1408b8344:	c7 43 f4 01 00 00 00 	movl   $0x1,-0xc(%rbx)
1408b834b:	b8 07 00 00 00       	mov    $0x7,%eax
1408b8350:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1408b8355:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1408b835a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1408b835f:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1408b8364:	48 83 c4 20          	add    $0x20,%rsp
1408b8368:	41 5f                	pop    %r15
1408b836a:	41 5e                	pop    %r14
1408b836c:	41 5c                	pop    %r12
1408b836e:	c3                   	ret
1408b836f:	cc                   	int3
1408b8370:	40 56                	rex push %rsi
1408b8372:	57                   	push   %rdi
1408b8373:	48 83 ec 48          	sub    $0x48,%rsp
1408b8377:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
1408b837b:	48 8b f9             	mov    %rcx,%rdi
1408b837e:	74 0f                	je     0x1408b838f
1408b8380:	e8 8b fc ff ff       	call   0x1408b8010
1408b8385:	8b f0                	mov    %eax,%esi
1408b8387:	85 c0                	test   %eax,%eax
1408b8389:	0f 85 69 01 00 00    	jne    0x1408b84f8
1408b838f:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
1408b8394:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
1408b8399:	48 8b 2f             	mov    (%rdi),%rbp
1408b839c:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1408b83a1:	44 0f b6 67 08       	movzbl 0x8(%rdi),%r12d
1408b83a6:	4c 89 6c 24 40       	mov    %r13,0x40(%rsp)
1408b83ab:	4c 8b af d0 00 00 00 	mov    0xd0(%rdi),%r13
1408b83b2:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
1408b83b7:	4c 8b 77 48          	mov    0x48(%rdi),%r14
1408b83bb:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
1408b83c0:	4c 8b bf 30 01 00 00 	mov    0x130(%rdi),%r15
1408b83c7:	48 c7 87 28 01 00 00 	movq   $0x0,0x128(%rdi)
1408b83ce:	00 00 00 00
1408b83d2:	48 63 75 04          	movslq 0x4(%rbp),%rsi
1408b83d6:	48 8d 8e 90 00 00 00 	lea    0x90(%rsi),%rcx
1408b83dd:	e8 7e 53 03 00       	call   0x1408ed760
1408b83e2:	48 8b d8             	mov    %rax,%rbx
1408b83e5:	48 85 c0             	test   %rax,%rax
1408b83e8:	0f 84 e7 00 00 00    	je     0x1408b84d5
1408b83ee:	4c 8d 86 90 00 00 00 	lea    0x90(%rsi),%r8
1408b83f5:	33 d2                	xor    %edx,%edx
1408b83f7:	48 8b c8             	mov    %rax,%rcx
1408b83fa:	e8 b1 72 62 00       	call   0x140edf6b0
1408b83ff:	48 89 2b             	mov    %rbp,(%rbx)
1408b8402:	48 8d 8b 90 00 00 00 	lea    0x90(%rbx),%rcx
1408b8409:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
1408b840d:	41 f6 dc             	neg    %r12b
1408b8410:	4c 89 73 08          	mov    %r14,0x8(%rbx)
1408b8414:	41 b9 06 00 08 00    	mov    $0x80006,%r9d
1408b841a:	1a c0                	sbb    %al,%al
1408b841c:	66 c7 43 3c ff ff    	movw   $0xffff,0x3c(%rbx)
1408b8422:	24 02                	and    $0x2,%al
1408b8424:	4c 89 6b 20          	mov    %r13,0x20(%rbx)
1408b8428:	88 43 3f             	mov    %al,0x3f(%rbx)
1408b842b:	49 8b d7             	mov    %r15,%rdx
1408b842e:	4c 89 bb 80 00 00 00 	mov    %r15,0x80(%rbx)
1408b8435:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
1408b843a:	66 c7 43 44 01 01    	movw   $0x101,0x44(%rbx)
1408b8440:	48 8b cd             	mov    %rbp,%rcx
1408b8443:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1408b8448:	48 8b 45 28          	mov    0x28(%rbp),%rax
1408b844c:	c7 44 24 60 06 00 08 	movl   $0x80006,0x60(%rsp)
1408b8453:	00
1408b8454:	4c 8b 43 10          	mov    0x10(%rbx),%r8
1408b8458:	ff 15 c2 b5 6c 00    	call   *0x6cb5c2(%rip)        # 0x140f83a20
1408b845e:	8b f0                	mov    %eax,%esi
1408b8460:	85 c0                	test   %eax,%eax
1408b8462:	75 3d                	jne    0x1408b84a1
1408b8464:	f6 44 24 60 01       	testb  $0x1,0x60(%rsp)
1408b8469:	74 04                	je     0x1408b846f
1408b846b:	c6 43 42 01          	movb   $0x1,0x42(%rbx)
1408b846f:	49 8b 06             	mov    (%r14),%rax
1408b8472:	48 85 c0             	test   %rax,%rax
1408b8475:	74 21                	je     0x1408b8498
1408b8477:	48 8b 40 60          	mov    0x60(%rax),%rax
1408b847b:	49 8b ce             	mov    %r14,%rcx
1408b847e:	ff 15 9c b5 6c 00    	call   *0x6cb59c(%rip)        # 0x140f83a20
1408b8484:	0f ba e0 0a          	bt     $0xa,%eax
1408b8488:	73 04                	jae    0x1408b848e
1408b848a:	c6 43 44 00          	movb   $0x0,0x44(%rbx)
1408b848e:	0f ba e0 0c          	bt     $0xc,%eax
1408b8492:	73 04                	jae    0x1408b8498
1408b8494:	c6 43 45 00          	movb   $0x0,0x45(%rbx)
1408b8498:	48 89 9f 28 01 00 00 	mov    %rbx,0x128(%rdi)
1408b849f:	eb 39                	jmp    0x1408b84da
1408b84a1:	33 d2                	xor    %edx,%edx
1408b84a3:	48 8b cb             	mov    %rbx,%rcx
1408b84a6:	e8 25 51 07 00       	call   0x14092d5d0
1408b84ab:	4c 8b 73 10          	mov    0x10(%rbx),%r14
1408b84af:	49 8b 06             	mov    (%r14),%rax
1408b84b2:	48 85 c0             	test   %rax,%rax
1408b84b5:	74 14                	je     0x1408b84cb
1408b84b7:	48 8b 40 08          	mov    0x8(%rax),%rax
1408b84bb:	49 8b ce             	mov    %r14,%rcx
1408b84be:	ff 15 5c b5 6c 00    	call   *0x6cb55c(%rip)        # 0x140f83a20
1408b84c4:	49 c7 06 00 00 00 00 	movq   $0x0,(%r14)
1408b84cb:	48 8b cb             	mov    %rbx,%rcx
1408b84ce:	e8 7d 36 fd ff       	call   0x14088bb50
1408b84d3:	eb 05                	jmp    0x1408b84da
1408b84d5:	be 07 00 00 00       	mov    $0x7,%esi
1408b84da:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
1408b84df:	4c 8b 6c 24 40       	mov    0x40(%rsp),%r13
1408b84e4:	4c 8b 64 24 78       	mov    0x78(%rsp),%r12
1408b84e9:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1408b84ee:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1408b84f3:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
1408b84f8:	48 8b cf             	mov    %rdi,%rcx
1408b84fb:	e8 a0 fb ff ff       	call   0x1408b80a0
1408b8500:	8b c6                	mov    %esi,%eax
1408b8502:	48 83 c4 48          	add    $0x48,%rsp
1408b8506:	5f                   	pop    %rdi
1408b8507:	5e                   	pop    %rsi
1408b8508:	c3                   	ret
1408b8509:	cc                   	int3
1408b850a:	cc                   	int3
1408b850b:	cc                   	int3
1408b850c:	cc                   	int3
1408b850d:	cc                   	int3
1408b850e:	cc                   	int3
1408b850f:	cc                   	int3
1408b8510:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1408b8515:	57                   	push   %rdi
1408b8516:	48 83 ec 20          	sub    $0x20,%rsp
1408b851a:	48 8b 81 28 01 00 00 	mov    0x128(%rcx),%rax
1408b8521:	48 8b fa             	mov    %rdx,%rdi
1408b8524:	48 8b d9             	mov    %rcx,%rbx
1408b8527:	48 85 c0             	test   %rax,%rax
1408b852a:	74 10                	je     0x1408b853c
1408b852c:	66 83 78 3c 00       	cmpw   $0x0,0x3c(%rax)
1408b8531:	7c 09                	jl     0x1408b853c
1408b8533:	8b 40 5c             	mov    0x5c(%rax),%eax
1408b8536:	85 c0                	test   %eax,%eax
1408b8538:	75 43                	jne    0x1408b857d
1408b853a:	eb 02                	jmp    0x1408b853e
1408b853c:	33 c0                	xor    %eax,%eax
1408b853e:	48 8b 49 48          	mov    0x48(%rcx),%rcx
1408b8542:	4c 8b 01             	mov    (%rcx),%r8
1408b8545:	4d 85 c0             	test   %r8,%r8
1408b8548:	74 33                	je     0x1408b857d
1408b854a:	48 c7 44 24 30 00 00 	movq   $0x0,0x30(%rsp)
1408b8551:	00 00
1408b8553:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1408b8558:	49 8b 40 30          	mov    0x30(%r8),%rax
1408b855c:	ff 15 be b4 6c 00    	call   *0x6cb4be(%rip)        # 0x140f83a20
1408b8562:	85 c0                	test   %eax,%eax
1408b8564:	75 29                	jne    0x1408b858f
1408b8566:	48 8b 8b c8 00 00 00 	mov    0xc8(%rbx),%rcx
1408b856d:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1408b8572:	48 ff c8             	dec    %rax
1408b8575:	48 03 c1             	add    %rcx,%rax
1408b8578:	48 99                	cqto
1408b857a:	48 f7 f9             	idiv   %rcx
1408b857d:	3b 83 bc 00 00 00    	cmp    0xbc(%rbx),%eax
1408b8583:	76 06                	jbe    0x1408b858b
1408b8585:	89 83 bc 00 00 00    	mov    %eax,0xbc(%rbx)
1408b858b:	89 07                	mov    %eax,(%rdi)
1408b858d:	33 c0                	xor    %eax,%eax
1408b858f:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1408b8594:	48 83 c4 20          	add    $0x20,%rsp
1408b8598:	5f                   	pop    %rdi
1408b8599:	c3                   	ret
1408b859a:	cc                   	int3
1408b859b:	cc                   	int3
1408b859c:	cc                   	int3
1408b859d:	cc                   	int3
1408b859e:	cc                   	int3
1408b859f:	cc                   	int3
1408b85a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408b85a5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1408b85aa:	55                   	push   %rbp
1408b85ab:	56                   	push   %rsi
1408b85ac:	57                   	push   %rdi
1408b85ad:	41 54                	push   %r12
1408b85af:	41 55                	push   %r13
1408b85b1:	41 56                	push   %r14
1408b85b3:	41 57                	push   %r15
1408b85b5:	48 83 ec 50          	sub    $0x50,%rsp
1408b85b9:	45 33 ff             	xor    %r15d,%r15d
1408b85bc:	4c 8b ea             	mov    %rdx,%r13
1408b85bf:	48 8b d9             	mov    %rcx,%rbx
1408b85c2:	41 8b ff             	mov    %r15d,%edi
1408b85c5:	48 85 d2             	test   %rdx,%rdx
1408b85c8:	0f 84 b9 00 00 00    	je     0x1408b8687
1408b85ce:	8b 72 18             	mov    0x18(%rdx),%esi
1408b85d1:	b9 00 02 00 00       	mov    $0x200,%ecx
1408b85d6:	e8 85 51 03 00       	call   0x1408ed760
1408b85db:	4c 8b f0             	mov    %rax,%r14
1408b85de:	48 85 c0             	test   %rax,%rax
1408b85e1:	0f 84 96 00 00 00    	je     0x1408b867d
1408b85e7:	48 8d 48 04          	lea    0x4(%rax),%rcx
1408b85eb:	33 d2                	xor    %edx,%edx
1408b85ed:	41 b8 fc 01 00 00    	mov    $0x1fc,%r8d
1408b85f3:	e8 b8 70 62 00       	call   0x140edf6b0
1408b85f8:	41 89 36             	mov    %esi,(%r14)
1408b85fb:	48 8d 73 60          	lea    0x60(%rbx),%rsi
1408b85ff:	41 8b 45 18          	mov    0x18(%r13),%eax