140891667:	48 8b f9             	mov    %rcx,%rdi
14089166a:	0f 84 d3 00 00 00    	je     0x140891743
140891670:	4c 8b 01             	mov    (%rcx),%r8
140891673:	41 f6 40 2c 04       	testb  $0x4,0x2c(%r8)
140891678:	0f 85 c5 00 00 00    	jne    0x140891743
14089167e:	48 8b 81 a0 00 00 00 	mov    0xa0(%rcx),%rax
140891685:	48 8b f1             	mov    %rcx,%rsi
140891688:	48 85 c0             	test   %rax,%rax
14089168b:	49 8b ce             	mov    %r14,%rcx
14089168e:	48 0f 45 f0          	cmovne %rax,%rsi
140891692:	49 8b 40 20          	mov    0x20(%r8),%rax
140891696:	48 c1 e1 05          	shl    $0x5,%rcx
14089169a:	48 8b 4c 01 18       	mov    0x18(%rcx,%rax,1),%rcx
14089169f:	48 8b 41 68          	mov    0x68(%rcx),%rax
1408916a3:	48 85 c0             	test   %rax,%rax
1408916a6:	0f 84 8b 00 00 00    	je     0x140891737
1408916ac:	f6 40 30 80          	testb  $0x80,0x30(%rax)
1408916b0:	0f 85 81 00 00 00    	jne    0x140891737
1408916b6:	80 78 3f 01          	cmpb   $0x1,0x3f(%rax)
1408916ba:	74 7b                	je     0x140891737
1408916bc:	66 83 78 36 02       	cmpw   $0x2,0x36(%rax)
1408916c1:	75 74                	jne    0x140891737
1408916c3:	48 8b 9e 98 00 00 00 	mov    0x98(%rsi),%rbx
1408916ca:	48 85 db             	test   %rbx,%rbx
1408916cd:	74 0f                	je     0x1408916de
1408916cf:	90                   	nop
1408916d0:	48 39 6b 08          	cmp    %rbp,0x8(%rbx)
1408916d4:	74 5c                	je     0x140891732
1408916d6:	48 8b 1b             	mov    (%rbx),%rbx
1408916d9:	48 85 db             	test   %rbx,%rbx
1408916dc:	75 f2                	jne    0x1408916d0
1408916de:	ba 18 00 00 00       	mov    $0x18,%edx
1408916e3:	49 8b c8             	mov    %r8,%rcx
1408916e6:	e8 15 4f 04 00       	call   0x1408d6600
1408916eb:	4c 8b c0             	mov    %rax,%r8
1408916ee:	48 8d 15 9b 4d 04 00 	lea    0x44d9b(%rip),%rdx        # 0x1408d6490
1408916f5:	48 8b ce             	mov    %rsi,%rcx
1408916f8:	48 8b d8             	mov    %rax,%rbx
1408916fb:	e8 20 fe 05 00       	call   0x1408f1520
140891700:	48 8b 07             	mov    (%rdi),%rax
140891703:	80 78 67 00          	cmpb   $0x0,0x67(%rax)
140891707:	75 38                	jne    0x140891741
140891709:	48 8b 86 98 00 00 00 	mov    0x98(%rsi),%rax
140891710:	48 89 03             	mov    %rax,(%rbx)
140891713:	48 89 9e 98 00 00 00 	mov    %rbx,0x98(%rsi)
14089171a:	48 89 6b 08          	mov    %rbp,0x8(%rbx)
14089171e:	44 89 73 10          	mov    %r14d,0x10(%rbx)
140891722:	8b 46 38             	mov    0x38(%rsi),%eax
140891725:	83 c0 02             	add    $0x2,%eax
140891728:	89 46 38             	mov    %eax,0x38(%rsi)
14089172b:	89 43 14             	mov    %eax,0x14(%rbx)
14089172e:	83 46 38 02          	addl   $0x2,0x38(%rsi)
140891732:	8b 43 14             	mov    0x14(%rbx),%eax
140891735:	eb 0c                	jmp    0x140891743
140891737:	ff 47 30             	incl   0x30(%rdi)
14089173a:	c7 47 18 0b 02 00 00 	movl   $0x20b,0x18(%rdi)
140891741:	33 c0                	xor    %eax,%eax
140891743:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140891748:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14089174d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140891752:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140891757:	48 83 c4 20          	add    $0x20,%rsp
14089175b:	41 5e                	pop    %r14
14089175d:	c3                   	ret
14089175e:	cc                   	int3
14089175f:	cc                   	int3
140891760:	48 83 ec 38          	sub    $0x38,%rsp
140891764:	45 8b c8             	mov    %r8d,%r9d
140891767:	85 d2                	test   %edx,%edx
140891769:	7e 60                	jle    0x1408917cb
14089176b:	4c 8b 51 10          	mov    0x10(%rcx),%r10
14089176f:	45 33 c0             	xor    %r8d,%r8d
140891772:	49 63 8a 90 00 00 00 	movslq 0x90(%r10),%rcx
140891779:	41 39 8a 94 00 00 00 	cmp    %ecx,0x94(%r10)
140891780:	7f 1a                	jg     0x14089179c
140891782:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
140891787:	49 8b ca             	mov    %r10,%rcx
14089178a:	44 8b c2             	mov    %edx,%r8d
14089178d:	ba 9f 00 00 00       	mov    $0x9f,%edx
140891792:	e8 09 b6 01 00       	call   0x1408acda0
140891797:	48 83 c4 38          	add    $0x38,%rsp
14089179b:	c3                   	ret
14089179c:	8d 41 01             	lea    0x1(%rcx),%eax
14089179f:	41 89 82 90 00 00 00 	mov    %eax,0x90(%r10)
1408917a6:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
1408917aa:	49 8b 82 88 00 00 00 	mov    0x88(%r10),%rax
1408917b1:	c7 04 c8 9f 00 00 00 	movl   $0x9f,(%rax,%rcx,8)
1408917b8:	89 54 c8 04          	mov    %edx,0x4(%rax,%rcx,8)
1408917bc:	44 89 4c c8 08       	mov    %r9d,0x8(%rax,%rcx,8)
1408917c1:	44 89 44 c8 0c       	mov    %r8d,0xc(%rax,%rcx,8)
1408917c6:	4c 89 44 c8 10       	mov    %r8,0x10(%rax,%rcx,8)
1408917cb:	48 83 c4 38          	add    $0x38,%rsp
1408917cf:	c3                   	ret
1408917d0:	40 53                	rex push %rbx
1408917d2:	56                   	push   %rsi
1408917d3:	57                   	push   %rdi
1408917d4:	41 54                	push   %r12
1408917d6:	48 83 ec 38          	sub    $0x38,%rsp
1408917da:	48 8b b1 98 00 00 00 	mov    0x98(%rcx),%rsi
1408917e1:	48 8b d9             	mov    %rcx,%rbx
1408917e4:	48 8b 79 10          	mov    0x10(%rcx),%rdi
1408917e8:	4c 8b 21             	mov    (%rcx),%r12
1408917eb:	48 85 f6             	test   %rsi,%rsi
1408917ee:	0f 84 d5 01 00 00    	je     0x1408919c9
1408917f4:	4c 89 6c 24 68       	mov    %r13,0x68(%rsp)
1408917f9:	45 33 ed             	xor    %r13d,%r13d
1408917fc:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
140891801:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140891806:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
14089180b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140891810:	4c 63 76 10          	movslq 0x10(%rsi),%r14
140891814:	0f b6 43 1f          	movzbl 0x1f(%rbx),%eax
140891818:	44 8b 7e 14          	mov    0x14(%rsi),%r15d
14089181c:	49 c1 e6 05          	shl    $0x5,%r14
140891820:	4d 03 74 24 20       	add    0x20(%r12),%r14
140891825:	84 c0                	test   %al,%al
140891827:	75 08                	jne    0x140891831
140891829:	ff 43 38             	incl   0x38(%rbx)
14089182c:	8b 6b 38             	mov    0x38(%rbx),%ebp
14089182f:	eb 0f                	jmp    0x140891840
140891831:	fe c8                	dec    %al
140891833:	0f b6 c0             	movzbl %al,%eax
140891836:	88 43 1f             	mov    %al,0x1f(%rbx)
140891839:	8b ac 83 d8 00 00 00 	mov    0xd8(%rbx,%rax,4),%ebp
140891840:	48 63 8f 90 00 00 00 	movslq 0x90(%rdi),%rcx
140891847:	45 8d 47 02          	lea    0x2(%r15),%r8d
14089184b:	8d 51 07             	lea    0x7(%rcx),%edx
14089184e:	39 8f 94 00 00 00    	cmp    %ecx,0x94(%rdi)
140891854:	7f 17                	jg     0x14089186d
140891856:	44 8b ca             	mov    %edx,%r9d
140891859:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
14089185e:	ba 37 00 00 00       	mov    $0x37,%edx
140891863:	48 8b cf             	mov    %rdi,%rcx
140891866:	e8 35 b5 01 00       	call   0x1408acda0
14089186b:	eb 2e                	jmp    0x14089189b
14089186d:	8d 41 01             	lea    0x1(%rcx),%eax
140891870:	89 87 90 00 00 00    	mov    %eax,0x90(%rdi)
140891876:	48 8d 0c 49          	lea    (%rcx,%rcx,2),%rcx
14089187a:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
140891881:	c7 04 c8 37 00 00 00 	movl   $0x37,(%rax,%rcx,8)
140891888:	44 89 44 c8 04       	mov    %r8d,0x4(%rax,%rcx,8)
14089188d:	89 54 c8 08          	mov    %edx,0x8(%rax,%rcx,8)
140891891:	44 89 7c c8 0c       	mov    %r15d,0xc(%rax,%rcx,8)
140891896:	4c 89 6c c8 10       	mov    %r13,0x10(%rax,%rcx,8)
14089189b:	4d 8b 4e 18          	mov    0x18(%r14),%r9
14089189f:	33 d2                	xor    %edx,%edx
1408918a1:	44 8b 46 10          	mov    0x10(%rsi),%r8d
1408918a5:	48 8b cb             	mov    %rbx,%rcx
1408918a8:	c7 44 24 20 71 00 00 	movl   $0x71,0x20(%rsp)
1408918af:	00
1408918b0:	4d 8b 49 68          	mov    0x68(%r9),%r9
1408918b4:	e8 b7 cb 05 00       	call   0x1408ee470
1408918b9:	8b 87 90 00 00 00    	mov    0x90(%rdi),%eax
1408918bf:	83 c0 05             	add    $0x5,%eax
1408918c2:	3b 87 94 00 00 00    	cmp    0x94(%rdi),%eax
1408918c8:	7e 15                	jle    0x1408918df
1408918ca:	ba 05 00 00 00       	mov    $0x5,%edx
1408918cf:	48 8b cf             	mov    %rdi,%rcx
1408918d2:	e8 39 b5 01 00       	call   0x1408ace10
1408918d7:	85 c0                	test   %eax,%eax
1408918d9:	0f 85 d6 00 00 00    	jne    0x1408919b5
1408918df:	48 63 87 90 00 00 00 	movslq 0x90(%rdi),%rax
1408918e6:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1408918ea:	48 8b 87 88 00 00 00 	mov    0x88(%rdi),%rax
1408918f1:	c7 44 c8 08 02 00 00 	movl   $0x2,0x8(%rax,%rcx,8)
1408918f8:	00
1408918f9:	c6 04 c8 33          	movb   $0x33,(%rax,%rcx,8)
1408918fd:	44 89 6c c8 04       	mov    %r13d,0x4(%rax,%rcx,8)
140891902:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140891906:	8b 8f 90 00 00 00    	mov    0x90(%rdi),%ecx
14089190c:	44 89 68 0c          	mov    %r13d,0xc(%rax)
140891910:	83 c1 02             	add    $0x2,%ecx
140891913:	89 48 08             	mov    %ecx,0x8(%rax)
140891916:	44 88 68 01          	mov    %r13b,0x1(%rax)
14089191a:	4c 89 68 10          	mov    %r13,0x10(%rax)
14089191e:	66 44 89 68 02       	mov    %r13w,0x2(%rax)
140891923:	48 c7 40 18 7f 00 00 	movq   $0x7f,0x18(%rax)
14089192a:	00
14089192b:	4c 89 68 20          	mov    %r13,0x20(%rax)
14089192f:	4c 89 68 28          	mov    %r13,0x28(%rax)
140891933:	48 c7 40 30 61 00 00 	movq   $0x61,0x30(%rax)
14089193a:	00
14089193b:	48 c7 40 38 02 00 00 	movq   $0x2,0x38(%rax)
140891942:	00
140891943:	4c 89 68 40          	mov    %r13,0x40(%rax)
140891947:	48 c7 40 48 80 00 00 	movq   $0x80,0x48(%rax)
14089194e:	00
14089194f:	4c 89 68 50          	mov    %r13,0x50(%rax)
140891953:	4c 89 68 58          	mov    %r13,0x58(%rax)
140891957:	48 c7 40 60 7a 00 00 	movq   $0x7a,0x60(%rax)
14089195e:	00
14089195f:	4c 89 68 68          	mov    %r13,0x68(%rax)
140891963:	4c 89 68 70          	mov    %r13,0x70(%rax)
140891967:	83 87 90 00 00 00 05 	addl   $0x5,0x90(%rdi)
14089196e:	48 85 c0             	test   %rax,%rax
140891971:	74 42                	je     0x1408919b5
140891973:	89 68 3c             	mov    %ebp,0x3c(%rax)
140891976:	41 8d 57 01          	lea    0x1(%r15),%edx
14089197a:	89 50 04             	mov    %edx,0x4(%rax)
14089197d:	41 8d 4f ff          	lea    -0x1(%r15),%ecx
140891981:	89 50 20             	mov    %edx,0x20(%rax)
140891984:	89 48 34             	mov    %ecx,0x34(%rax)
140891987:	89 50 54             	mov    %edx,0x54(%rax)
14089198a:	89 68 50             	mov    %ebp,0x50(%rax)
14089198d:	66 c7 40 4a 08 00    	movw   $0x8,0x4a(%rax)
140891993:	85 ed                	test   %ebp,%ebp
140891995:	74 12                	je     0x1408919a9
140891997:	0f b6 43 1f          	movzbl 0x1f(%rbx),%eax
14089199b:	3c 08                	cmp    $0x8,%al
14089199d:	73 0a                	jae    0x1408919a9
14089199f:	89 ac 83 d8 00 00 00 	mov    %ebp,0xd8(%rbx,%rax,4)
1408919a6:	fe 43 1f             	incb   0x1f(%rbx)
1408919a9:	48 8b 36             	mov    (%rsi),%rsi
1408919ac:	48 85 f6             	test   %rsi,%rsi
1408919af:	0f 85 5b fe ff ff    	jne    0x140891810
1408919b5:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1408919ba:	4c 8b 6c 24 68       	mov    0x68(%rsp),%r13
1408919bf:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
1408919c4:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
1408919c9:	48 83 c4 38          	add    $0x38,%rsp
1408919cd:	41 5c                	pop    %r12
1408919cf:	5f                   	pop    %rdi
1408919d0:	5e                   	pop    %rsi
1408919d1:	5b                   	pop    %rbx
1408919d2:	c3                   	ret
1408919d3:	cc                   	int3
1408919d4:	cc                   	int3
1408919d5:	cc                   	int3
1408919d6:	cc                   	int3
1408919d7:	cc                   	int3
1408919d8:	cc                   	int3
1408919d9:	cc                   	int3
1408919da:	cc                   	int3
1408919db:	cc                   	int3
1408919dc:	cc                   	int3
1408919dd:	cc                   	int3
1408919de:	cc                   	int3
1408919df:	cc                   	int3
1408919e0:	40 53                	rex push %rbx
1408919e2:	56                   	push   %rsi
1408919e3:	41 54                	push   %r12
1408919e5:	48 83 ec 30          	sub    $0x30,%rsp
1408919e9:	48 8b 71 08          	mov    0x8(%rcx),%rsi
1408919ed:	33 db                	xor    %ebx,%ebx
1408919ef:	4c 8b c9             	mov    %rcx,%r9
1408919f2:	48 8b 46 10          	mov    0x10(%rsi),%rax
1408919f6:	4c 8b 26             	mov    (%rsi),%r12
1408919f9:	48 85 c0             	test   %rax,%rax
1408919fc:	74 0f                	je     0x140891a0d
1408919fe:	66 90                	xchg   %ax,%ax
140891a00:	80 60 01 fb          	andb   $0xfb,0x1(%rax)
140891a04:	48 8b 40 28          	mov    0x28(%rax),%rax
140891a08:	48 85 c0             	test   %rax,%rax
140891a0b:	75 f3                	jne    0x140891a00
140891a0d:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140891a12:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140891a17:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
140891a1c:	4c 89 7c 24 68       	mov    %r15,0x68(%rsp)
140891a21:	38 5e 22             	cmp    %bl,0x22(%rsi)
140891a24:	0f 85 fe 01 00 00    	jne    0x140891c28
140891a2a:	8b 7e 40             	mov    0x40(%rsi),%edi
140891a2d:	44 8b 15 cc bd b1 00 	mov    0xb1bdcc(%rip),%r10d        # 0x1413ad800
140891a34:	83 ff 02             	cmp    $0x2,%edi
140891a37:	73 04                	jae    0x140891a3d
140891a39:	33 c9                	xor    %ecx,%ecx
140891a3b:	eb 35                	jmp    0x140891a72
140891a3d:	44 8d 47 fe          	lea    -0x2(%rdi),%r8d
140891a41:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140891a46:	f7 66 38             	mull   0x38(%rsi)
140891a49:	41 8b c0             	mov    %r8d,%eax
140891a4c:	8b ca                	mov    %edx,%ecx
140891a4e:	33 d2                	xor    %edx,%edx
140891a50:	c1 e9 02             	shr    $0x2,%ecx
140891a53:	ff c1                	inc    %ecx
140891a55:	f7 f1                	div    %ecx
140891a57:	33 c9                	xor    %ecx,%ecx
140891a59:	41 8b c2             	mov    %r10d,%eax
140891a5c:	44 2b c2             	sub    %edx,%r8d
140891a5f:	33 d2                	xor    %edx,%edx
140891a61:	f7 76 34             	divl   0x34(%rsi)
140891a64:	ff c8                	dec    %eax
140891a66:	44 3b c0             	cmp    %eax,%r8d
140891a69:	0f 94 c1             	sete   %cl
140891a6c:	83 c1 02             	add    $0x2,%ecx
140891a6f:	41 03 c8             	add    %r8d,%ecx
140891a72:	3b cf                	cmp    %edi,%ecx
140891a74:	0f 84 cd 01 00 00    	je     0x140891c47
140891a7a:	44 8b 5e 34          	mov    0x34(%rsi),%r11d
140891a7e:	33 d2                	xor    %edx,%edx
140891a80:	41 8b c2             	mov    %r10d,%eax
140891a83:	41 f7 f3             	div    %r11d
140891a86:	ff c0                	inc    %eax
140891a88:	3b f8                	cmp    %eax,%edi
140891a8a:	0f 84 b7 01 00 00    	je     0x140891c47
140891a90:	48 8b 46 18          	mov    0x18(%rsi),%rax
140891a94:	48 8b 48 50          	mov    0x50(%rax),%rcx
140891a98:	44 8b 71 24          	mov    0x24(%rcx),%r14d
140891a9c:	49 8b 09             	mov    (%r9),%rcx
140891a9f:	41 0f ce             	bswap  %r14d
140891aa2:	48 8b a9 58 01 00 00 	mov    0x158(%rcx),%rbp
140891aa9:	48 85 ed             	test   %rbp,%rbp
140891aac:	74 6c                	je     0x140891b1a
140891aae:	48 63 41 28          	movslq 0x28(%rcx),%rax
140891ab2:	45 33 c0             	xor    %r8d,%r8d
140891ab5:	85 c0                	test   %eax,%eax
140891ab7:	7e 21                	jle    0x140891ada
140891ab9:	4c 8b d0             	mov    %rax,%r10
140891abc:	33 d2                	xor    %edx,%edx
140891abe:	48 8b 41 20          	mov    0x20(%rcx),%rax
140891ac2:	48 83 c0 08          	add    $0x8,%rax
140891ac6:	4c 39 08             	cmp    %r9,(%rax)
140891ac9:	74 0f                	je     0x140891ada
140891acb:	41 ff c0             	inc    %r8d
140891ace:	48 ff c2             	inc    %rdx
140891ad1:	48 83 c0 20          	add    $0x20,%rax
140891ad5:	49 3b d2             	cmp    %r10,%rdx
140891ad8:	7c ec                	jl     0x140891ac6
140891ada:	48 8b 51 20          	mov    0x20(%rcx),%rdx
140891ade:	45 8b ce             	mov    %r14d,%r9d
140891ae1:	48 8b 89 48 01 00 00 	mov    0x148(%rcx),%rcx
140891ae8:	49 63 c0             	movslq %r8d,%rax
140891aeb:	44 8b c7             	mov    %edi,%r8d
140891aee:	48 c1 e0 05          	shl    $0x5,%rax
140891af2:	44 89 5c 24 20       	mov    %r11d,0x20(%rsp)
140891af7:	48 8b 14 10          	mov    (%rax,%rdx,1),%rdx
140891afb:	48 8b c5             	mov    %rbp,%rax
140891afe:	ff 15 1c 1f 6f 00    	call   *0x6f1f1c(%rip)        # 0x140f83a20
140891b04:	41 3b c6             	cmp    %r14d,%eax
140891b07:	44 8b f8             	mov    %eax,%r15d
140891b0a:	45 0f 47 fe          	cmova  %r14d,%r15d
140891b0e:	45 85 ff             	test   %r15d,%r15d
140891b11:	75 0a                	jne    0x140891b1d
140891b13:	33 c0                	xor    %eax,%eax
140891b15:	e9 10 01 00 00       	jmp    0x140891c2a
140891b1a:	45 8b fe             	mov    %r14d,%r15d
140891b1d:	45 8b c7             	mov    %r15d,%r8d
140891b20:	8b d7                	mov    %edi,%edx
140891b22:	48 8b ce             	mov    %rsi,%rcx
140891b25:	e8 76 35 01 00       	call   0x1408a50a0
140891b2a:	8b e8                	mov    %eax,%ebp
140891b2c:	3b c7                	cmp    %edi,%eax
140891b2e:	76 0b                	jbe    0x140891b3b
140891b30:	41 b9 2d 15 01 00    	mov    $0x1152d,%r9d
140891b36:	e9 12 01 00 00       	jmp    0x140891c4d
140891b3b:	73 15                	jae    0x140891b52
140891b3d:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140891b41:	48 85 c9             	test   %rcx,%rcx
140891b44:	74 0c                	je     0x140891b52
140891b46:	45 33 c0             	xor    %r8d,%r8d
140891b49:	33 d2                	xor    %edx,%edx