140500d57:	49 3b c0             	cmp    %r8,%rax
140500d5a:	77 3d                	ja     0x140500d99
140500d5c:	48 3b c2             	cmp    %rdx,%rax
140500d5f:	72 38                	jb     0x140500d99
140500d61:	0f b6 02             	movzbl (%rdx),%eax
140500d64:	88 01                	mov    %al,(%rcx)
140500d66:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140500d6a:	88 41 01             	mov    %al,0x1(%rcx)
140500d6d:	0f b6 42 02          	movzbl 0x2(%rdx),%eax
140500d71:	88 41 02             	mov    %al,0x2(%rcx)
140500d74:	0f b6 42 03          	movzbl 0x3(%rdx),%eax
140500d78:	88 41 03             	mov    %al,0x3(%rcx)
140500d7b:	0f b6 42 04          	movzbl 0x4(%rdx),%eax
140500d7f:	88 41 04             	mov    %al,0x4(%rcx)
140500d82:	b8 05 00 00 00       	mov    $0x5,%eax
140500d87:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140500d8c:	48 33 cc             	xor    %rsp,%rcx
140500d8f:	e8 6c a7 91 00       	call   0x140e1b500
140500d94:	48 83 c4 58          	add    $0x58,%rsp
140500d98:	c3                   	ret
140500d99:	44 2b c2             	sub    %edx,%r8d
140500d9c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140500da1:	45 8b c8             	mov    %r8d,%r9d
140500da4:	48 8d 15 35 7f b0 00 	lea    0xb07f35(%rip),%rdx        # 0x141008ce0
140500dab:	41 b8 05 00 00 00    	mov    $0x5,%r8d
140500db1:	e8 3a 83 ca ff       	call   0x1401a90f0
140500db6:	48 8d 15 13 fc e9 00 	lea    0xe9fc13(%rip),%rdx        # 0x1413a09d0
140500dbd:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140500dc2:	e8 51 ba 91 00       	call   0x140e1c818
140500dc7:	cc                   	int3
140500dc8:	cc                   	int3
140500dc9:	cc                   	int3
140500dca:	cc                   	int3
140500dcb:	cc                   	int3
140500dcc:	cc                   	int3
140500dcd:	cc                   	int3
140500dce:	cc                   	int3
140500dcf:	cc                   	int3
140500dd0:	40 53                	rex push %rbx
140500dd2:	56                   	push   %rsi
140500dd3:	41 54                	push   %r12
140500dd5:	41 57                	push   %r15
140500dd7:	48 83 ec 68          	sub    $0x68,%rsp
140500ddb:	48 8b 05 1e 81 eb 00 	mov    0xeb811e(%rip),%rax        # 0x1413b8f00
140500de2:	48 33 c4             	xor    %rsp,%rax
140500de5:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140500dea:	48 8d 5a 0a          	lea    0xa(%rdx),%rbx
140500dee:	49 8b f0             	mov    %r8,%rsi
140500df1:	4c 8b fa             	mov    %rdx,%r15
140500df4:	4c 8b e1             	mov    %rcx,%r12
140500df7:	49 3b d8             	cmp    %r8,%rbx
140500dfa:	0f 87 d9 01 00 00    	ja     0x140500fd9
140500e00:	48 8d 4a 08          	lea    0x8(%rdx),%rcx
140500e04:	48 3b d9             	cmp    %rcx,%rbx
140500e07:	0f 82 cc 01 00 00    	jb     0x140500fd9
140500e0d:	41 83 7c 24 20 01    	cmpl   $0x1,0x20(%r12)
140500e13:	8b 02                	mov    (%rdx),%eax
140500e15:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
140500e1a:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140500e1f:	75 11                	jne    0x140500e32
140500e21:	41 89 04 24          	mov    %eax,(%r12)
140500e25:	8b 42 04             	mov    0x4(%rdx),%eax
140500e28:	41 89 44 24 04       	mov    %eax,0x4(%r12)
140500e2d:	0f b7 01             	movzwl (%rcx),%eax
140500e30:	eb 17                	jmp    0x140500e49
140500e32:	0f c8                	bswap  %eax
140500e34:	41 89 04 24          	mov    %eax,(%r12)
140500e38:	8b 42 04             	mov    0x4(%rdx),%eax
140500e3b:	0f c8                	bswap  %eax
140500e3d:	41 89 44 24 04       	mov    %eax,0x4(%r12)
140500e42:	0f b7 01             	movzwl (%rcx),%eax
140500e45:	66 c1 c8 08          	ror    $0x8,%ax
140500e49:	0f b7 f8             	movzwl %ax,%edi
140500e4c:	66 41 89 44 24 08    	mov    %ax,0x8(%r12)
140500e52:	44 0f b7 e8          	movzwl %ax,%r13d
140500e56:	48 8b c6             	mov    %rsi,%rax
140500e59:	49 2b c7             	sub    %r15,%rax
140500e5c:	48 83 e8 0a          	sub    $0xa,%rax
140500e60:	48 99                	cqto
140500e62:	83 e2 03             	and    $0x3,%edx
140500e65:	48 03 c2             	add    %rdx,%rax
140500e68:	48 c1 f8 02          	sar    $0x2,%rax
140500e6c:	48 3b f8             	cmp    %rax,%rdi
140500e6f:	0f 8f 93 01 00 00    	jg     0x140501008
140500e75:	48 89 ac 24 a8 00 00 	mov    %rbp,0xa8(%rsp)
140500e7c:	00
140500e7d:	b9 18 00 00 00       	mov    $0x18,%ecx
140500e82:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140500e87:	33 ed                	xor    %ebp,%ebp
140500e89:	49 c7 44 24 18 00 00 	movq   $0x0,0x18(%r12)
140500e90:	00 00
140500e92:	e8 71 a2 91 00       	call   0x140e1b108
140500e97:	48 8b c8             	mov    %rax,%rcx
140500e9a:	48 85 c0             	test   %rax,%rax
140500e9d:	74 0f                	je     0x140500eae
140500e9f:	33 c0                	xor    %eax,%eax
140500ea1:	48 89 01             	mov    %rax,(%rcx)
140500ea4:	48 89 41 08          	mov    %rax,0x8(%rcx)
140500ea8:	48 89 41 10          	mov    %rax,0x10(%rcx)
140500eac:	eb 02                	jmp    0x140500eb0
140500eae:	33 c9                	xor    %ecx,%ecx
140500eb0:	49 89 4c 24 10       	mov    %rcx,0x10(%r12)
140500eb5:	48 8b 41 10          	mov    0x10(%rcx),%rax
140500eb9:	48 2b 01             	sub    (%rcx),%rax
140500ebc:	48 c1 f8 03          	sar    $0x3,%rax
140500ec0:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140500ec5:	48 3b f8             	cmp    %rax,%rdi
140500ec8:	76 0a                	jbe    0x140500ed4
140500eca:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140500ecf:	e8 4c 47 ec ff       	call   0x1403c5620
140500ed4:	45 85 ed             	test   %r13d,%r13d
140500ed7:	0f 84 9a 00 00 00    	je     0x140500f77
140500edd:	48 8d 7b 04          	lea    0x4(%rbx),%rdi
140500ee1:	b9 08 00 00 00       	mov    $0x8,%ecx
140500ee6:	e8 1d a2 91 00       	call   0x140e1b108
140500eeb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140500ef0:	48 85 c0             	test   %rax,%rax
140500ef3:	74 0d                	je     0x140500f02
140500ef5:	c7 00 00 00 00 00    	movl   $0x0,(%rax)
140500efb:	c7 40 04 01 00 00 00 	movl   $0x1,0x4(%rax)
140500f02:	49 89 44 24 18       	mov    %rax,0x18(%r12)
140500f07:	48 3b fe             	cmp    %rsi,%rdi
140500f0a:	0f 87 9b 00 00 00    	ja     0x140500fab
140500f10:	48 3b fb             	cmp    %rbx,%rdi
140500f13:	0f 82 92 00 00 00    	jb     0x140500fab
140500f19:	0f b6 0b             	movzbl (%rbx),%ecx
140500f1c:	88 08                	mov    %cl,(%rax)
140500f1e:	0f b6 4f fd          	movzbl -0x3(%rdi),%ecx
140500f22:	88 48 01             	mov    %cl,0x1(%rax)
140500f25:	0f b6 4f fe          	movzbl -0x2(%rdi),%ecx
140500f29:	88 48 02             	mov    %cl,0x2(%rax)
140500f2c:	0f b6 4f ff          	movzbl -0x1(%rdi),%ecx
140500f30:	88 48 03             	mov    %cl,0x3(%rax)
140500f33:	49 8b 4c 24 10       	mov    0x10(%r12),%rcx
140500f38:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140500f3c:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
140500f40:	74 0f                	je     0x140500f51
140500f42:	49 8b 44 24 18       	mov    0x18(%r12),%rax
140500f47:	48 89 02             	mov    %rax,(%rdx)
140500f4a:	48 83 41 08 08       	addq   $0x8,0x8(%rcx)
140500f4f:	eb 0a                	jmp    0x140500f5b
140500f51:	4d 8d 44 24 18       	lea    0x18(%r12),%r8
140500f56:	e8 65 45 ec ff       	call   0x1403c54c0
140500f5b:	48 83 c3 04          	add    $0x4,%rbx
140500f5f:	49 c7 44 24 18 00 00 	movq   $0x0,0x18(%r12)
140500f66:	00 00
140500f68:	48 83 c7 04          	add    $0x4,%rdi
140500f6c:	ff c5                	inc    %ebp
140500f6e:	41 3b ed             	cmp    %r13d,%ebp
140500f71:	0f 8c 6a ff ff ff    	jl     0x140500ee1
140500f77:	48 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%rbp
140500f7e:	00
140500f7f:	41 2b df             	sub    %r15d,%ebx
140500f82:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
140500f87:	8b c3                	mov    %ebx,%eax
140500f89:	48 8b 7c 24 60       	mov    0x60(%rsp),%rdi
140500f8e:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140500f93:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140500f98:	48 33 cc             	xor    %rsp,%rcx
140500f9b:	e8 60 a5 91 00       	call   0x140e1b500
140500fa0:	48 83 c4 68          	add    $0x68,%rsp
140500fa4:	41 5f                	pop    %r15
140500fa6:	41 5c                	pop    %r12
140500fa8:	5e                   	pop    %rsi
140500fa9:	5b                   	pop    %rbx
140500faa:	c3                   	ret
140500fab:	2b f3                	sub    %ebx,%esi
140500fad:	48 8d 15 ac 7c b0 00 	lea    0xb07cac(%rip),%rdx        # 0x141008c60
140500fb4:	44 8b ce             	mov    %esi,%r9d
140500fb7:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140500fbc:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140500fc2:	e8 29 81 ca ff       	call   0x1401a90f0
140500fc7:	48 8d 15 02 fa e9 00 	lea    0xe9fa02(%rip),%rdx        # 0x1413a09d0
140500fce:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140500fd3:	e8 40 b8 91 00       	call   0x140e1c818
140500fd8:	cc                   	int3
140500fd9:	41 2b f7             	sub    %r15d,%esi
140500fdc:	48 8d 15 4d 7c b0 00 	lea    0xb07c4d(%rip),%rdx        # 0x141008c30
140500fe3:	44 8b ce             	mov    %esi,%r9d
140500fe6:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140500feb:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140500ff1:	e8 fa 80 ca ff       	call   0x1401a90f0
140500ff6:	48 8d 15 d3 f9 e9 00 	lea    0xe9f9d3(%rip),%rdx        # 0x1413a09d0
140500ffd:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140501002:	e8 11 b8 91 00       	call   0x140e1c818
140501007:	cc                   	int3
140501008:	41 2b f7             	sub    %r15d,%esi
14050100b:	48 8d 15 36 7c b0 00 	lea    0xb07c36(%rip),%rdx        # 0x141008c48
140501012:	45 8b c5             	mov    %r13d,%r8d
140501015:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14050101a:	44 8d 4e f6          	lea    -0xa(%rsi),%r9d
14050101e:	e8 cd 80 ca ff       	call   0x1401a90f0
140501023:	48 8d 15 a6 f9 e9 00 	lea    0xe9f9a6(%rip),%rdx        # 0x1413a09d0
14050102a:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14050102f:	e8 e4 b7 91 00       	call   0x140e1c818
140501034:	cc                   	int3
140501035:	cc                   	int3
140501036:	cc                   	int3
140501037:	cc                   	int3
140501038:	cc                   	int3
140501039:	cc                   	int3
14050103a:	cc                   	int3
14050103b:	cc                   	int3
14050103c:	cc                   	int3
14050103d:	cc                   	int3
14050103e:	cc                   	int3
14050103f:	cc                   	int3
140501040:	40 56                	rex push %rsi
140501042:	57                   	push   %rdi
140501043:	41 56                	push   %r14
140501045:	48 83 ec 60          	sub    $0x60,%rsp
140501049:	48 8b 05 b0 7e eb 00 	mov    0xeb7eb0(%rip),%rax        # 0x1413b8f00
140501050:	48 33 c4             	xor    %rsp,%rax
140501053:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140501058:	48 8b fa             	mov    %rdx,%rdi
14050105b:	49 8b f0             	mov    %r8,%rsi
14050105e:	48 83 c2 0c          	add    $0xc,%rdx
140501062:	4c 8b f1             	mov    %rcx,%r14
140501065:	49 3b d0             	cmp    %r8,%rdx
140501068:	0f 87 eb 00 00 00    	ja     0x140501159
14050106e:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
140501072:	48 3b d1             	cmp    %rcx,%rdx
140501075:	0f 82 de 00 00 00    	jb     0x140501159
14050107b:	41 83 7e 30 01       	cmpl   $0x1,0x30(%r14)
140501080:	0f b7 07             	movzwl (%rdi),%eax
140501083:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140501088:	75 24                	jne    0x1405010ae
14050108a:	66 41 89 06          	mov    %ax,(%r14)
14050108e:	44 0f b7 47 02       	movzwl 0x2(%rdi),%r8d
140501093:	66 45 89 46 02       	mov    %r8w,0x2(%r14)
140501098:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
14050109c:	66 41 89 46 04       	mov    %ax,0x4(%r14)
1405010a1:	0f b7 47 06          	movzwl 0x6(%rdi),%eax
1405010a5:	66 41 89 46 06       	mov    %ax,0x6(%r14)
1405010aa:	8b 01                	mov    (%rcx),%eax
1405010ac:	eb 35                	jmp    0x1405010e3
1405010ae:	66 c1 c8 08          	ror    $0x8,%ax
1405010b2:	66 41 89 06          	mov    %ax,(%r14)
1405010b6:	44 0f b7 47 02       	movzwl 0x2(%rdi),%r8d
1405010bb:	66 41 c1 c8 08       	ror    $0x8,%r8w
1405010c0:	66 45 89 46 02       	mov    %r8w,0x2(%r14)
1405010c5:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
1405010c9:	66 c1 c8 08          	ror    $0x8,%ax
1405010cd:	66 41 89 46 04       	mov    %ax,0x4(%r14)
1405010d2:	0f b7 47 06          	movzwl 0x6(%rdi),%eax
1405010d6:	66 c1 c8 08          	ror    $0x8,%ax
1405010da:	66 41 89 46 06       	mov    %ax,0x6(%r14)
1405010df:	8b 01                	mov    (%rcx),%eax
1405010e1:	0f c8                	bswap  %eax
1405010e3:	45 0f b7 c0          	movzwl %r8w,%r8d
1405010e7:	48 8d 5f 0c          	lea    0xc(%rdi),%rbx
1405010eb:	49 03 d8             	add    %r8,%rbx
1405010ee:	41 89 46 08          	mov    %eax,0x8(%r14)
1405010f2:	48 3b de             	cmp    %rsi,%rbx
1405010f5:	0f 87 ba 00 00 00    	ja     0x1405011b5
1405010fb:	48 3b da             	cmp    %rdx,%rbx
1405010fe:	0f 82 b1 00 00 00    	jb     0x1405011b5
140501104:	49 8d 4e 10          	lea    0x10(%r14),%rcx
140501108:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14050110d:	e8 4e d2 ca ff       	call   0x1401ae360
140501112:	41 0f b7 6e 06       	movzwl 0x6(%r14),%ebp
140501117:	48 8d 0c 2b          	lea    (%rbx,%rbp,1),%rcx
14050111b:	48 3b ce             	cmp    %rsi,%rcx
14050111e:	77 67                	ja     0x140501187
140501120:	48 3b cb             	cmp    %rbx,%rcx
140501123:	72 62                	jb     0x140501187
140501125:	49 8d 4e 20          	lea    0x20(%r14),%rcx
140501129:	44 8b c5             	mov    %ebp,%r8d
14050112c:	48 8b d3             	mov    %rbx,%rdx
14050112f:	e8 2c d2 ca ff       	call   0x1401ae360
140501134:	2b df                	sub    %edi,%ebx
140501136:	8d 04 2b             	lea    (%rbx,%rbp,1),%eax
140501139:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14050113e:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140501143:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140501148:	48 33 cc             	xor    %rsp,%rcx
14050114b:	e8 b0 a3 91 00       	call   0x140e1b500
140501150:	48 83 c4 60          	add    $0x60,%rsp
140501154:	41 5e                	pop    %r14
140501156:	5f                   	pop    %rdi
140501157:	5e                   	pop    %rsi
140501158:	c3                   	ret
140501159:	2b f7                	sub    %edi,%esi
14050115b:	48 8d 15 2e 78 b0 00 	lea    0xb0782e(%rip),%rdx        # 0x141008990
140501162:	44 8b ce             	mov    %esi,%r9d
140501165:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14050116a:	41 b8 0c 00 00 00    	mov    $0xc,%r8d
140501170:	e8 7b 7f ca ff       	call   0x1401a90f0
140501175:	48 8d 15 54 f8 e9 00 	lea    0xe9f854(%rip),%rdx        # 0x1413a09d0
14050117c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140501181:	e8 92 b6 91 00       	call   0x140e1c818
140501186:	cc                   	int3
140501187:	2b df                	sub    %edi,%ebx
140501189:	48 8d 15 40 78 b0 00 	lea    0xb07840(%rip),%rdx        # 0x1410089d0
140501190:	2b f7                	sub    %edi,%esi
140501192:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140501197:	44 8b ce             	mov    %esi,%r9d
14050119a:	44 8d 04 2b          	lea    (%rbx,%rbp,1),%r8d
14050119e:	e8 4d 7f ca ff       	call   0x1401a90f0
1405011a3:	48 8d 15 26 f8 e9 00 	lea    0xe9f826(%rip),%rdx        # 0x1413a09d0
1405011aa:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1405011af:	e8 64 b6 91 00       	call   0x140e1c818
1405011b4:	cc                   	int3
1405011b5:	2b f7                	sub    %edi,%esi
1405011b7:	48 8d 15 f2 77 b0 00 	lea    0xb077f2(%rip),%rdx        # 0x1410089b0
1405011be:	44 8b ce             	mov    %esi,%r9d
1405011c1:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1405011c6:	41 83 c0 0c          	add    $0xc,%r8d
1405011ca:	e8 21 7f ca ff       	call   0x1401a90f0
1405011cf:	48 8d 15 fa f7 e9 00 	lea    0xe9f7fa(%rip),%rdx        # 0x1413a09d0
1405011d6:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1405011db:	e8 38 b6 91 00       	call   0x140e1c818
1405011e0:	cc                   	int3
1405011e1:	cc                   	int3
1405011e2:	cc                   	int3
1405011e3:	cc                   	int3
1405011e4:	cc                   	int3
1405011e5:	cc                   	int3
1405011e6:	cc                   	int3
1405011e7:	cc                   	int3
1405011e8:	cc                   	int3
1405011e9:	cc                   	int3
1405011ea:	cc                   	int3
1405011eb:	cc                   	int3
1405011ec:	cc                   	int3
1405011ed:	cc                   	int3
1405011ee:	cc                   	int3
1405011ef:	cc                   	int3
1405011f0:	40 56                	rex push %rsi
1405011f2:	57                   	push   %rdi
1405011f3:	41 56                	push   %r14
1405011f5:	48 83 ec 60          	sub    $0x60,%rsp
1405011f9:	48 8b 05 00 7d eb 00 	mov    0xeb7d00(%rip),%rax        # 0x1413b8f00
140501200:	48 33 c4             	xor    %rsp,%rax
140501203:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140501208:	4c 8b f2             	mov    %rdx,%r14
14050120b:	49 8b f8             	mov    %r8,%rdi
14050120e:	48 83 c2 04          	add    $0x4,%rdx
140501212:	48 8b f1             	mov    %rcx,%rsi
140501215:	49 3b d0             	cmp    %r8,%rdx
140501218:	0f 87 2c 01 00 00    	ja     0x14050134a
14050121e:	49 8d 4e 02          	lea    0x2(%r14),%rcx
140501222:	48 3b d1             	cmp    %rcx,%rdx
140501225:	0f 82 1f 01 00 00    	jb     0x14050134a
14050122b:	83 7e 40 01          	cmpl   $0x1,0x40(%rsi)
14050122f:	41 0f b7 06          	movzwl (%r14),%eax
140501233:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140501238:	75 08                	jne    0x140501242
14050123a:	66 89 06             	mov    %ax,(%rsi)
14050123d:	0f b7 01             	movzwl (%rcx),%eax