1401c9ea3:	74 44                	je     0x1401c9ee9
1401c9ea5:	4c 3b c0             	cmp    %rax,%r8
1401c9ea8:	72 48                	jb     0x1401c9ef2
1401c9eaa:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
1401c9eb1:	49 8b c8             	mov    %r8,%rcx
1401c9eb4:	48 2b c8             	sub    %rax,%rcx
1401c9eb7:	48 3b ca             	cmp    %rdx,%rcx
1401c9eba:	48 0f 42 d1          	cmovb  %rcx,%rdx
1401c9ebe:	48 8b cb             	mov    %rbx,%rcx
1401c9ec1:	49 83 f9 08          	cmp    $0x8,%r9
1401c9ec5:	72 03                	jb     0x1401c9eca
1401c9ec7:	48 8b 0b             	mov    (%rbx),%rcx
1401c9eca:	4c 2b c2             	sub    %rdx,%r8
1401c9ecd:	48 8d 0c 41          	lea    (%rcx,%rax,2),%rcx
1401c9ed1:	4c 89 43 10          	mov    %r8,0x10(%rbx)
1401c9ed5:	48 8d 14 51          	lea    (%rcx,%rdx,2),%rdx
1401c9ed9:	4c 2b c0             	sub    %rax,%r8
1401c9edc:	4e 8d 04 45 02 00 00 	lea    0x2(,%r8,2),%r8
1401c9ee3:	00
1401c9ee4:	e8 45 2b 13 00       	call   0x1402fca2e
1401c9ee9:	48 8b c3             	mov    %rbx,%rax
1401c9eec:	48 83 c4 20          	add    $0x20,%rsp
1401c9ef0:	5b                   	pop    %rbx
1401c9ef1:	c3                   	ret
1401c9ef2:	e8 09 77 ef ff       	call   0x1400c1600
1401c9ef7:	cc                   	int3
1401c9ef8:	cc                   	int3
1401c9ef9:	cc                   	int3
1401c9efa:	cc                   	int3
1401c9efb:	cc                   	int3
1401c9efc:	cc                   	int3
1401c9efd:	cc                   	int3
1401c9efe:	cc                   	int3
1401c9eff:	cc                   	int3
1401c9f00:	33 c0                	xor    %eax,%eax
1401c9f02:	48 c7 41 18 07 00 00 	movq   $0x7,0x18(%rcx)
1401c9f09:	00
1401c9f0a:	48 89 41 10          	mov    %rax,0x10(%rcx)
1401c9f0e:	66 89 01             	mov    %ax,(%rcx)
1401c9f11:	48 8b c1             	mov    %rcx,%rax
1401c9f14:	c3                   	ret
1401c9f15:	cc                   	int3
1401c9f16:	cc                   	int3
1401c9f17:	cc                   	int3
1401c9f18:	cc                   	int3
1401c9f19:	cc                   	int3
1401c9f1a:	cc                   	int3
1401c9f1b:	cc                   	int3
1401c9f1c:	cc                   	int3
1401c9f1d:	cc                   	int3
1401c9f1e:	cc                   	int3
1401c9f1f:	cc                   	int3
1401c9f20:	40 53                	rex push %rbx
1401c9f22:	48 83 ec 20          	sub    $0x20,%rsp
1401c9f26:	48 8b d9             	mov    %rcx,%rbx
1401c9f29:	48 3b ca             	cmp    %rdx,%rcx
1401c9f2c:	74 19                	je     0x1401c9f47
1401c9f2e:	48 83 7a 18 08       	cmpq   $0x8,0x18(%rdx)
1401c9f33:	48 8b c2             	mov    %rdx,%rax
1401c9f36:	72 03                	jb     0x1401c9f3b
1401c9f38:	48 8b 02             	mov    (%rdx),%rax
1401c9f3b:	4c 8b 42 10          	mov    0x10(%rdx),%r8
1401c9f3f:	48 8b d0             	mov    %rax,%rdx
1401c9f42:	e8 d9 77 ef ff       	call   0x1400c1720
1401c9f47:	48 8b c3             	mov    %rbx,%rax
1401c9f4a:	48 83 c4 20          	add    $0x20,%rsp
1401c9f4e:	5b                   	pop    %rbx
1401c9f4f:	c3                   	ret
1401c9f50:	e9 0b 07 00 00       	jmp    0x1401ca660
1401c9f55:	cc                   	int3
1401c9f56:	cc                   	int3
1401c9f57:	cc                   	int3
1401c9f58:	cc                   	int3
1401c9f59:	cc                   	int3
1401c9f5a:	cc                   	int3
1401c9f5b:	cc                   	int3
1401c9f5c:	cc                   	int3
1401c9f5d:	cc                   	int3
1401c9f5e:	cc                   	int3
1401c9f5f:	cc                   	int3
1401c9f60:	48 83 ec 28          	sub    $0x28,%rsp
1401c9f64:	e8 f7 06 00 00       	call   0x1401ca660
1401c9f69:	84 c0                	test   %al,%al
1401c9f6b:	0f 94 c0             	sete   %al
1401c9f6e:	48 83 c4 28          	add    $0x28,%rsp
1401c9f72:	c3                   	ret
1401c9f73:	cc                   	int3
1401c9f74:	cc                   	int3
1401c9f75:	cc                   	int3
1401c9f76:	cc                   	int3
1401c9f77:	cc                   	int3
1401c9f78:	cc                   	int3
1401c9f79:	cc                   	int3
1401c9f7a:	cc                   	int3
1401c9f7b:	cc                   	int3
1401c9f7c:	cc                   	int3
1401c9f7d:	cc                   	int3
1401c9f7e:	cc                   	int3
1401c9f7f:	cc                   	int3
1401c9f80:	40 53                	rex push %rbx
1401c9f82:	48 83 ec 20          	sub    $0x20,%rsp
1401c9f86:	48 8b da             	mov    %rdx,%rbx
1401c9f89:	e8 12 00 00 00       	call   0x1401c9fa0
1401c9f8e:	48 8b c3             	mov    %rbx,%rax
1401c9f91:	48 83 c4 20          	add    $0x20,%rsp
1401c9f95:	5b                   	pop    %rbx
1401c9f96:	c3                   	ret
1401c9f97:	cc                   	int3
1401c9f98:	cc                   	int3
1401c9f99:	cc                   	int3
1401c9f9a:	cc                   	int3
1401c9f9b:	cc                   	int3
1401c9f9c:	cc                   	int3
1401c9f9d:	cc                   	int3
1401c9f9e:	cc                   	int3
1401c9f9f:	cc                   	int3
1401c9fa0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1401c9fa5:	55                   	push   %rbp
1401c9fa6:	56                   	push   %rsi
1401c9fa7:	57                   	push   %rdi
1401c9fa8:	41 56                	push   %r14
1401c9faa:	41 57                	push   %r15
1401c9fac:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
1401c9fb1:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1401c9fb8:	48 8b 05 c1 e1 23 00 	mov    0x23e1c1(%rip),%rax        # 0x140408180
1401c9fbf:	48 33 c4             	xor    %rsp,%rax
1401c9fc2:	48 89 45 27          	mov    %rax,0x27(%rbp)
1401c9fc6:	4d 8b 48 18          	mov    0x18(%r8),%r9
1401c9fca:	33 db                	xor    %ebx,%ebx
1401c9fcc:	48 89 5d f7          	mov    %rbx,-0x9(%rbp)
1401c9fd0:	4c 8b f2             	mov    %rdx,%r14
1401c9fd3:	48 c7 45 ff 07 00 00 	movq   $0x7,-0x1(%rbp)
1401c9fda:	00
1401c9fdb:	49 8b f8             	mov    %r8,%rdi
1401c9fde:	66 89 5d e7          	mov    %bx,-0x19(%rbp)
1401c9fe2:	48 8b f1             	mov    %rcx,%rsi
1401c9fe5:	49 8b d0             	mov    %r8,%rdx
1401c9fe8:	49 83 f9 08          	cmp    $0x8,%r9
1401c9fec:	72 03                	jb     0x1401c9ff1
1401c9fee:	49 8b 10             	mov    (%r8),%rdx
1401c9ff1:	49 8b 48 10          	mov    0x10(%r8),%rcx
1401c9ff5:	48 85 c9             	test   %rcx,%rcx
1401c9ff8:	74 1a                	je     0x1401ca014
1401c9ffa:	48 8b c1             	mov    %rcx,%rax
1401c9ffd:	4c 8b c2             	mov    %rdx,%r8
1401ca000:	66 41 39 18          	cmp    %bx,(%r8)
1401ca004:	0f 84 14 01 00 00    	je     0x1401ca11e
1401ca00a:	49 83 c0 02          	add    $0x2,%r8
1401ca00e:	48 83 e8 01          	sub    $0x1,%rax
1401ca012:	75 ec                	jne    0x1401ca000
1401ca014:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1401ca01b:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
1401ca01f:	74 40                	je     0x1401ca061
1401ca021:	49 3b c8             	cmp    %r8,%rcx
1401ca024:	48 89 5d 17          	mov    %rbx,0x17(%rbp)
1401ca028:	48 c7 45 1f 07 00 00 	movq   $0x7,0x1f(%rbp)
1401ca02f:	00
1401ca030:	4c 0f 42 c1          	cmovb  %rcx,%r8
1401ca034:	66 89 5d 07          	mov    %bx,0x7(%rbp)
1401ca038:	49 83 f9 08          	cmp    $0x8,%r9
1401ca03c:	72 03                	jb     0x1401ca041
1401ca03e:	48 8b 3f             	mov    (%rdi),%rdi
1401ca041:	48 8b d7             	mov    %rdi,%rdx
1401ca044:	48 8d 4d 07          	lea    0x7(%rbp),%rcx
1401ca048:	e8 d3 76 ef ff       	call   0x1400c1720
1401ca04d:	0f 10 45 07          	movups 0x7(%rbp),%xmm0
1401ca051:	48 8d 7d e7          	lea    -0x19(%rbp),%rdi
1401ca055:	0f 10 4d 17          	movups 0x17(%rbp),%xmm1
1401ca059:	0f 11 45 e7          	movups %xmm0,-0x19(%rbp)
1401ca05d:	0f 11 4d f7          	movups %xmm1,-0x9(%rbp)
1401ca061:	48 83 7e 18 08       	cmpq   $0x8,0x18(%rsi)
1401ca066:	4c 8b c6             	mov    %rsi,%r8
1401ca069:	72 03                	jb     0x1401ca06e
1401ca06b:	4c 8b 06             	mov    (%rsi),%r8
1401ca06e:	4c 8b 4e 10          	mov    0x10(%rsi),%r9
1401ca072:	48 8d 0d 4f f6 17 00 	lea    0x17f64f(%rip),%rcx        # 0x1403496c8
1401ca079:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1401ca07f:	49 8b d1             	mov    %r9,%rdx
1401ca082:	4d 3b cf             	cmp    %r15,%r9
1401ca085:	49 0f 47 d7          	cmova  %r15,%rdx
1401ca089:	48 85 d2             	test   %rdx,%rdx
1401ca08c:	74 1a                	je     0x1401ca0a8
1401ca08e:	4c 2b c1             	sub    %rcx,%r8
1401ca091:	0f b7 01             	movzwl (%rcx),%eax
1401ca094:	66 41 39 04 08       	cmp    %ax,(%r8,%rcx,1)
1401ca099:	0f 85 8a 00 00 00    	jne    0x1401ca129
1401ca09f:	48 83 c1 02          	add    $0x2,%rcx
1401ca0a3:	49 2b d7             	sub    %r15,%rdx
1401ca0a6:	75 e9                	jne    0x1401ca091
1401ca0a8:	4d 3b cf             	cmp    %r15,%r9
1401ca0ab:	75 7c                	jne    0x1401ca129
1401ca0ad:	48 8b d7             	mov    %rdi,%rdx
1401ca0b0:	49 8b ce             	mov    %r14,%rcx
1401ca0b3:	e8 98 fd ff ff       	call   0x1401c9e50
1401ca0b8:	48 8b 55 ff          	mov    -0x1(%rbp),%rdx
1401ca0bc:	48 83 fa 08          	cmp    $0x8,%rdx
1401ca0c0:	72 36                	jb     0x1401ca0f8
1401ca0c2:	48 8b 4d e7          	mov    -0x19(%rbp),%rcx
1401ca0c6:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
1401ca0cd:	00
1401ca0ce:	48 8b c1             	mov    %rcx,%rax
1401ca0d1:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401ca0d8:	72 19                	jb     0x1401ca0f3
1401ca0da:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ca0de:	48 83 c2 27          	add    $0x27,%rdx
1401ca0e2:	48 2b c1             	sub    %rcx,%rax
1401ca0e5:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401ca0e9:	48 83 f8 1f          	cmp    $0x1f,%rax
1401ca0ed:	0f 87 21 01 00 00    	ja     0x1401ca214
1401ca0f3:	e8 8c 01 13 00       	call   0x1402fa284
1401ca0f8:	49 8b c6             	mov    %r14,%rax
1401ca0fb:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
1401ca0ff:	48 33 cc             	xor    %rsp,%rcx
1401ca102:	e8 39 05 13 00       	call   0x1402fa640
1401ca107:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
1401ca10e:	00
1401ca10f:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
1401ca116:	41 5f                	pop    %r15
1401ca118:	41 5e                	pop    %r14
1401ca11a:	5f                   	pop    %rdi
1401ca11b:	5e                   	pop    %rsi
1401ca11c:	5d                   	pop    %rbp
1401ca11d:	c3                   	ret
1401ca11e:	4c 2b c2             	sub    %rdx,%r8
1401ca121:	49 d1 f8             	sar    $1,%r8
1401ca124:	e9 f2 fe ff ff       	jmp    0x1401ca01b
1401ca129:	48 8b d6             	mov    %rsi,%rdx
1401ca12c:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca130:	e8 1b fd ff ff       	call   0x1401c9e50
1401ca135:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca139:	e8 42 09 00 00       	call   0x1401caa80
1401ca13e:	48 39 5f 10          	cmp    %rbx,0x10(%rdi)
1401ca142:	48 8d 77 10          	lea    0x10(%rdi),%rsi
1401ca146:	76 5b                	jbe    0x1401ca1a3
1401ca148:	4c 8b 45 d7          	mov    -0x29(%rbp),%r8
1401ca14c:	4d 85 c0             	test   %r8,%r8
1401ca14f:	74 52                	je     0x1401ca1a3
1401ca151:	48 83 7d df 08       	cmpq   $0x8,-0x21(%rbp)
1401ca156:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
1401ca15a:	48 0f 43 45 c7       	cmovae -0x39(%rbp),%rax
1401ca15f:	42 0f b7 4c 40 fe    	movzwl -0x2(%rax,%r8,2),%ecx
1401ca165:	48 8d 05 54 f5 17 00 	lea    0x17f554(%rip),%rax        # 0x1403496c0
1401ca16c:	0f 1f 40 00          	nopl   0x0(%rax)
1401ca170:	66 3b 0c 03          	cmp    (%rbx,%rax,1),%cx
1401ca174:	74 2d                	je     0x1401ca1a3
1401ca176:	48 83 c3 02          	add    $0x2,%rbx
1401ca17a:	48 83 fb 04          	cmp    $0x4,%rbx
1401ca17e:	72 f0                	jb     0x1401ca170
1401ca180:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca184:	e8 77 08 00 00       	call   0x1401caa00
1401ca189:	48 ff c0             	inc    %rax
1401ca18c:	49 3b c0             	cmp    %r8,%rax
1401ca18f:	74 12                	je     0x1401ca1a3
1401ca191:	41 b8 5c 00 00 00    	mov    $0x5c,%r8d
1401ca197:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca19b:	49 8b d7             	mov    %r15,%rdx
1401ca19e:	e8 dd 0b 00 00       	call   0x1401cad80
1401ca1a3:	48 83 7f 18 08       	cmpq   $0x8,0x18(%rdi)
1401ca1a8:	72 03                	jb     0x1401ca1ad
1401ca1aa:	48 8b 3f             	mov    (%rdi),%rdi
1401ca1ad:	4c 8b 06             	mov    (%rsi),%r8
1401ca1b0:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca1b4:	48 8b d7             	mov    %rdi,%rdx
1401ca1b7:	e8 44 0a 00 00       	call   0x1401cac00
1401ca1bc:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
1401ca1c0:	49 8b ce             	mov    %r14,%rcx
1401ca1c3:	e8 58 ae ec ff       	call   0x140095020
1401ca1c8:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
1401ca1cc:	e8 df 6c ef ff       	call   0x1400c0eb0
1401ca1d1:	48 8b 55 ff          	mov    -0x1(%rbp),%rdx
1401ca1d5:	48 83 fa 08          	cmp    $0x8,%rdx
1401ca1d9:	0f 82 19 ff ff ff    	jb     0x1401ca0f8
1401ca1df:	48 8b 4d e7          	mov    -0x19(%rbp),%rcx
1401ca1e3:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
1401ca1ea:	00
1401ca1eb:	48 8b c1             	mov    %rcx,%rax
1401ca1ee:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401ca1f5:	0f 82 f8 fe ff ff    	jb     0x1401ca0f3
1401ca1fb:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401ca1ff:	48 83 c2 27          	add    $0x27,%rdx
1401ca203:	48 2b c1             	sub    %rcx,%rax
1401ca206:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401ca20a:	48 83 f8 1f          	cmp    $0x1f,%rax
1401ca20e:	0f 86 df fe ff ff    	jbe    0x1401ca0f3
1401ca214:	ff 15 de fd 15 00    	call   *0x15fdde(%rip)        # 0x140329ff8
1401ca21a:	cc                   	int3
1401ca21b:	cc                   	int3
1401ca21c:	cc                   	int3
1401ca21d:	cc                   	int3
1401ca21e:	cc                   	int3
1401ca21f:	cc                   	int3
1401ca220:	40 53                	rex push %rbx
1401ca222:	56                   	push   %rsi
1401ca223:	57                   	push   %rdi
1401ca224:	48 81 ec 30 01 00 00 	sub    $0x130,%rsp
1401ca22b:	48 8b 05 4e df 23 00 	mov    0x23df4e(%rip),%rax        # 0x140408180
1401ca232:	48 33 c4             	xor    %rsp,%rax
1401ca235:	48 89 84 24 20 01 00 	mov    %rax,0x120(%rsp)
1401ca23c:	00
1401ca23d:	48 8b da             	mov    %rdx,%rbx
1401ca240:	48 8b d1             	mov    %rcx,%rdx
1401ca243:	48 8b cb             	mov    %rbx,%rcx
1401ca246:	e8 05 fc ff ff       	call   0x1401c9e50
1401ca24b:	48 8b cb             	mov    %rbx,%rcx
1401ca24e:	e8 2d 08 00 00       	call   0x1401caa80
1401ca253:	48 8b cb             	mov    %rbx,%rcx
1401ca256:	e8 a5 07 00 00       	call   0x1401caa00
1401ca25b:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1401ca25f:	74 33                	je     0x1401ca294
1401ca261:	4c 8b 43 10          	mov    0x10(%rbx),%r8
1401ca265:	48 ff c0             	inc    %rax
1401ca268:	4c 3b c0             	cmp    %rax,%r8
1401ca26b:	48 8b cb             	mov    %rbx,%rcx
1401ca26e:	49 0f 42 c0          	cmovb  %r8,%rax
1401ca272:	48 83 7b 18 08       	cmpq   $0x8,0x18(%rbx)
1401ca277:	72 03                	jb     0x1401ca27c
1401ca279:	48 8b 0b             	mov    (%rbx),%rcx
1401ca27c:	4c 2b c0             	sub    %rax,%r8
1401ca27f:	48 8d 14 41          	lea    (%rcx,%rax,2),%rdx
1401ca283:	4c 89 43 10          	mov    %r8,0x10(%rbx)
1401ca287:	4e 8d 04 45 02 00 00 	lea    0x2(,%r8,2),%r8
1401ca28e:	00
1401ca28f:	e8 9a 27 13 00       	call   0x1402fca2e
1401ca294:	48 83 7b 18 08       	cmpq   $0x8,0x18(%rbx)
1401ca299:	48 8b fb             	mov    %rbx,%rdi
1401ca29c:	72 03                	jb     0x1401ca2a1
1401ca29e:	48 8b 3b             	mov    (%rbx),%rdi
1401ca2a1:	48 8b 73 10          	mov    0x10(%rbx),%rsi
1401ca2a5:	48 85 f6             	test   %rsi,%rsi
1401ca2a8:	0f 84 18 01 00 00    	je     0x1401ca3c6
1401ca2ae:	48 89 ac 24 60 01 00 	mov    %rbp,0x160(%rsp)
1401ca2b5:	00
1401ca2b6:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401ca2bb:	bd 00 01 00 00       	mov    $0x100,%ebp
1401ca2c0:	33 d2                	xor    %edx,%edx
1401ca2c2:	44 8b c5             	mov    %ebp,%r8d
1401ca2c5:	e8 94 27 13 00       	call   0x1402fca5e
1401ca2ca:	4c 8d 15 ef f3 17 00 	lea    0x17f3ef(%rip),%r10        # 0x1403496c0
1401ca2d1:	49 8b ca             	mov    %r10,%rcx
1401ca2d4:	48 8d 15 e9 f3 17 00 	lea    0x17f3e9(%rip),%rdx        # 0x1403496c4
1401ca2db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401ca2e0:	0f b7 01             	movzwl (%rcx),%eax
1401ca2e3:	66 3b c5             	cmp    %bp,%ax
1401ca2e6:	73 43                	jae    0x1401ca32b
1401ca2e8:	0f b6 c0             	movzbl %al,%eax
1401ca2eb:	48 83 c1 02          	add    $0x2,%rcx
1401ca2ef:	c6 44 04 20 01       	movb   $0x1,0x20(%rsp,%rax,1)
1401ca2f4:	48 3b ca             	cmp    %rdx,%rcx
1401ca2f7:	75 e7                	jne    0x1401ca2e0
1401ca2f9:	48 8d 46 ff          	lea    -0x1(%rsi),%rax