140155e85:	00
140155e86:	e8 b5 4d f7 ff       	call   0x1400cac40
140155e8b:	48 89 43 60          	mov    %rax,0x60(%rbx)
140155e8f:	01 f6                	add    %esi,%esi
140155e91:	89 73 44             	mov    %esi,0x44(%rbx)
140155e94:	85 f6                	test   %esi,%esi
140155e96:	7e 18                	jle    0x140155eb0
140155e98:	48 8b 53 58          	mov    0x58(%rbx),%rdx
140155e9c:	31 c0                	xor    %eax,%eax
140155e9e:	66 90                	xchg   %ax,%ax
140155ea0:	c7 04 82 ff ff ff ff 	movl   $0xffffffff,(%rdx,%rax,4)
140155ea7:	48 83 c0 01          	add    $0x1,%rax
140155eab:	39 43 44             	cmp    %eax,0x44(%rbx)
140155eae:	7f f0                	jg     0x140155ea0
140155eb0:	8b 43 30             	mov    0x30(%rbx),%eax
140155eb3:	8b 53 3c             	mov    0x3c(%rbx),%edx
140155eb6:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%rbx)
140155ebd:	31 ff                	xor    %edi,%edi
140155ebf:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%rbx)
140155ec6:	be 01 00 00 00       	mov    $0x1,%esi
140155ecb:	45 31 ed             	xor    %r13d,%r13d
140155ece:	89 43 34             	mov    %eax,0x34(%rbx)
140155ed1:	85 d2                	test   %edx,%edx
140155ed3:	79 3f                	jns    0x140155f14
140155ed5:	e9 e6 00 00 00       	jmp    0x140155fc0
140155eda:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140155ee0:	48 89 f8             	mov    %rdi,%rax
140155ee3:	48 c1 e0 04          	shl    $0x4,%rax
140155ee7:	48 03 43 48          	add    0x48(%rbx),%rax
140155eeb:	48 8b 10             	mov    (%rax),%rdx
140155eee:	48 3b 13             	cmp    (%rbx),%rdx
140155ef1:	0f 84 7a 01 00 00    	je     0x140156071
140155ef7:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
140155efd:	48 89 d9             	mov    %rbx,%rcx
140155f00:	48 83 c7 01          	add    $0x1,%rdi
140155f04:	e8 77 f7 ff ff       	call   0x140155680
140155f09:	8b 53 3c             	mov    0x3c(%rbx),%edx
140155f0c:	39 fa                	cmp    %edi,%edx
140155f0e:	0f 8c ac 00 00 00    	jl     0x140155fc0
140155f14:	89 fd                	mov    %edi,%ebp
140155f16:	39 fa                	cmp    %edi,%edx
140155f18:	75 c6                	jne    0x140155ee0
140155f1a:	45 85 ed             	test   %r13d,%r13d
140155f1d:	0f 85 9d 00 00 00    	jne    0x140155fc0
140155f23:	89 6b 24             	mov    %ebp,0x24(%rbx)
140155f26:	48 89 d9             	mov    %rbx,%rcx
140155f29:	45 89 ec             	mov    %r13d,%r12d
140155f2c:	c7 43 2c ff ff ff ff 	movl   $0xffffffff,0x2c(%rbx)
140155f33:	41 83 f4 01          	xor    $0x1,%r12d
140155f37:	41 83 e4 01          	and    $0x1,%r12d
140155f3b:	e8 60 f9 ff ff       	call   0x1401558a0
140155f40:	48 89 c6             	mov    %rax,%rsi
140155f43:	48 85 c0             	test   %rax,%rax
140155f46:	74 49                	je     0x140155f91
140155f48:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140155f4f:	00
140155f50:	83 7b 10 01          	cmpl   $0x1,0x10(%rbx)
140155f54:	7f 05                	jg     0x140155f5b
140155f56:	45 84 e4             	test   %r12b,%r12b
140155f59:	74 15                	je     0x140155f70
140155f5b:	0f b7 43 68          	movzwl 0x68(%rbx),%eax
140155f5f:	0f b7 0d 12 44 15 00 	movzwl 0x154412(%rip),%ecx        # 0x1402aa378
140155f66:	83 c0 01             	add    $0x1,%eax
140155f69:	99                   	cltd
140155f6a:	f7 f9                	idiv   %ecx
140155f6c:	66 89 53 68          	mov    %dx,0x68(%rbx)
140155f70:	48 8b 16             	mov    (%rsi),%rdx
140155f73:	41 89 e8             	mov    %ebp,%r8d
140155f76:	48 89 d9             	mov    %rbx,%rcx
140155f79:	e8 02 f7 ff ff       	call   0x140155680
140155f7e:	48 89 f2             	mov    %rsi,%rdx
140155f81:	48 89 d9             	mov    %rbx,%rcx
140155f84:	e8 a7 f8 ff ff       	call   0x140155830
140155f89:	48 89 c6             	mov    %rax,%rsi
140155f8c:	48 85 c0             	test   %rax,%rax
140155f8f:	75 bf                	jne    0x140155f50
140155f91:	44 8b 5b 10          	mov    0x10(%rbx),%r11d
140155f95:	45 85 db             	test   %r11d,%r11d
140155f98:	75 04                	jne    0x140155f9e
140155f9a:	83 43 14 02          	addl   $0x2,0x14(%rbx)
140155f9e:	8b 53 3c             	mov    0x3c(%rbx),%edx
140155fa1:	48 83 c7 01          	add    $0x1,%rdi
140155fa5:	39 d7                	cmp    %edx,%edi
140155fa7:	7f 17                	jg     0x140155fc0
140155fa9:	74 15                	je     0x140155fc0
140155fab:	44 89 ee             	mov    %r13d,%esi
140155fae:	89 fd                	mov    %edi,%ebp
140155fb0:	41 bd 01 00 00 00    	mov    $0x1,%r13d
140155fb6:	e9 25 ff ff ff       	jmp    0x140155ee0
140155fbb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140155fc0:	44 8b 4b 44          	mov    0x44(%rbx),%r9d
140155fc4:	41 83 f9 01          	cmp    $0x1,%r9d
140155fc8:	7e 4b                	jle    0x140156015
140155fca:	49 63 c9             	movslq %r9d,%rcx
140155fcd:	41 8d 41 ff          	lea    -0x1(%r9),%eax
140155fd1:	41 83 e9 02          	sub    $0x2,%r9d
140155fd5:	4c 8b 43 58          	mov    0x58(%rbx),%r8
140155fd9:	48 83 e9 02          	sub    $0x2,%rcx
140155fdd:	48 98                	cltq
140155fdf:	4c 29 c9             	sub    %r9,%rcx
140155fe2:	eb 28                	jmp    0x14015600c
140155fe4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140155feb:	00 00 00 00
140155fef:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140155ff6:	00 00 00 00
140155ffa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140156000:	89 43 44             	mov    %eax,0x44(%rbx)
140156003:	48 83 e8 01          	sub    $0x1,%rax
140156007:	48 39 c1             	cmp    %rax,%rcx
14015600a:	74 09                	je     0x140156015
14015600c:	45 8b 0c 80          	mov    (%r8,%rax,4),%r9d
140156010:	45 85 c9             	test   %r9d,%r9d
140156013:	78 eb                	js     0x140156000
140156015:	44 8b 53 1c          	mov    0x1c(%rbx),%r10d
140156019:	c7 43 18 00 00 00 00 	movl   $0x0,0x18(%rbx)
140156020:	b8 01 00 00 00       	mov    $0x1,%eax
140156025:	45 85 d2             	test   %r10d,%r10d
140156028:	75 23                	jne    0x14015604d
14015602a:	8b 4b 10             	mov    0x10(%rbx),%ecx
14015602d:	b8 03 00 00 00       	mov    $0x3,%eax
140156032:	83 f9 02             	cmp    $0x2,%ecx
140156035:	7e 16                	jle    0x14015604d
140156037:	83 ea 01             	sub    $0x1,%edx
14015603a:	39 53 24             	cmp    %edx,0x24(%rbx)
14015603d:	7d 0e                	jge    0x14015604d
14015603f:	03 4b 2c             	add    0x2c(%rbx),%ecx
140156042:	31 c0                	xor    %eax,%eax
140156044:	83 f9 04             	cmp    $0x4,%ecx
140156047:	0f 9c c0             	setl   %al
14015604a:	83 c0 02             	add    $0x2,%eax
14015604d:	89 43 1c             	mov    %eax,0x1c(%rbx)
140156050:	48 83 c4 28          	add    $0x28,%rsp
140156054:	5b                   	pop    %rbx
140156055:	5e                   	pop    %rsi
140156056:	5f                   	pop    %rdi
140156057:	5d                   	pop    %rbp
140156058:	41 5c                	pop    %r12
14015605a:	41 5d                	pop    %r13
14015605c:	c3                   	ret
14015605d:	49 89 d0             	mov    %rdx,%r8
140156060:	48 8d 0d 61 c5 0c 00 	lea    0xcc561(%rip),%rcx        # 0x1402225c8
140156067:	ba 10 00 00 00       	mov    $0x10,%edx
14015606c:	e8 1f d3 f6 ff       	call   0x1400c3390
140156071:	41 89 f5             	mov    %esi,%r13d
140156074:	e9 aa fe ff ff       	jmp    0x140155f23
140156079:	ba 04 00 00 00       	mov    $0x4,%edx
14015607e:	48 8d 0d 43 c5 0c 00 	lea    0xcc543(%rip),%rcx        # 0x1402225c8
140156085:	e8 06 d3 f6 ff       	call   0x1400c3390
14015608a:	90                   	nop
14015608b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140156090:	8b 41 14             	mov    0x14(%rcx),%eax
140156093:	c3                   	ret
140156094:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14015609b:	00 00 00 00
14015609f:	90                   	nop
1401560a0:	41 57                	push   %r15
1401560a2:	41 56                	push   %r14
1401560a4:	41 55                	push   %r13
1401560a6:	41 54                	push   %r12
1401560a8:	55                   	push   %rbp
1401560a9:	57                   	push   %rdi
1401560aa:	56                   	push   %rsi
1401560ab:	53                   	push   %rbx
1401560ac:	48 83 ec 68          	sub    $0x68,%rsp
1401560b0:	48 8b 35 39 2a 0e 00 	mov    0xe2a39(%rip),%rsi        # 0x140238af0
1401560b7:	49 89 ce             	mov    %rcx,%r14
1401560ba:	49 89 d7             	mov    %rdx,%r15
1401560bd:	48 8b 0e             	mov    (%rsi),%rcx
1401560c0:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1401560c5:	49 8b 0e             	mov    (%r14),%rcx
1401560c8:	48 85 c9             	test   %rcx,%rcx
1401560cb:	0f 84 1b 0b 00 00    	je     0x140156bec
1401560d1:	41 8b 56 1c          	mov    0x1c(%r14),%edx
1401560d5:	83 fa 05             	cmp    $0x5,%edx
1401560d8:	0f 87 82 46 09 00    	ja     0x1401ea760
1401560de:	4c 8d 05 0f c6 0c 00 	lea    0xcc60f(%rip),%r8        # 0x1402226f4
1401560e5:	89 d0                	mov    %edx,%eax
1401560e7:	49 63 04 80          	movslq (%r8,%rax,4),%rax
1401560eb:	4c 01 c0             	add    %r8,%rax
1401560ee:	ff e0                	jmp    *%rax
1401560f0:	4c 89 f1             	mov    %r14,%rcx
1401560f3:	31 ed                	xor    %ebp,%ebp
1401560f5:	e8 a6 f7 ff ff       	call   0x1401558a0
1401560fa:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401560ff:	41 8b 46 3c          	mov    0x3c(%r14),%eax
140156103:	85 c0                	test   %eax,%eax
140156105:	0f 88 2e 0c 00 00    	js     0x140156d39
14015610b:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140156112:	00 00
140156114:	4d 89 fc             	mov    %r15,%r12
140156117:	31 db                	xor    %ebx,%ebx
140156119:	4d 89 f7             	mov    %r14,%r15
14015611c:	49 89 ee             	mov    %rbp,%r14
14015611f:	e9 bb 00 00 00       	jmp    0x1401561df
140156124:	0f 1f 40 00          	nopl   0x0(%rax)
140156128:	48 8b 07             	mov    (%rdi),%rax
14015612b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140156130:	49 3b 07             	cmp    (%r15),%rax
140156133:	0f 84 c9 00 00 00    	je     0x140156202
140156139:	85 db                	test   %ebx,%ebx
14015613b:	0f 84 b5 08 00 00    	je     0x1401569f6
140156141:	41 8b 77 30          	mov    0x30(%r15),%esi
140156145:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14015614a:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14015614f:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140156154:	85 f6                	test   %esi,%esi
140156156:	0f 8e 0c 09 00 00    	jle    0x140156a68
14015615c:	41 b8 5c 00 00 00    	mov    $0x5c,%r8d
140156162:	48 89 fa             	mov    %rdi,%rdx
140156165:	e8 96 f7 ff ff       	call   0x140155900
14015616a:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
14015616f:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140156174:	49 8b 14 24          	mov    (%r12),%rdx
140156178:	48 85 d2             	test   %rdx,%rdx
14015617b:	0f 84 3f 08 00 00    	je     0x1401569c0
140156181:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140156186:	48 29 c2             	sub    %rax,%rdx
140156189:	48 83 fa 01          	cmp    $0x1,%rdx
14015618d:	0f 84 2d 08 00 00    	je     0x1401569c0
140156193:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
140156198:	48 8d 48 01          	lea    0x1(%rax),%rcx
14015619c:	49 83 c6 01          	add    $0x1,%r14
1401561a0:	49 89 4c 24 08       	mov    %rcx,0x8(%r12)
1401561a5:	c6 04 02 20          	movb   $0x20,(%rdx,%rax,1)
1401561a9:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
1401561ae:	49 8b 44 24 08       	mov    0x8(%r12),%rax
1401561b3:	c6 04 02 00          	movb   $0x0,(%rdx,%rax,1)
1401561b7:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1401561bc:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1401561c1:	48 39 30             	cmp    %rsi,(%rax)
1401561c4:	41 8b 47 3c          	mov    0x3c(%r15),%eax
1401561c8:	48 0f 45 7c 24 20    	cmovne 0x20(%rsp),%rdi
1401561ce:	48 83 c5 01          	add    $0x1,%rbp
1401561d2:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401561d7:	39 e8                	cmp    %ebp,%eax
1401561d9:	0f 8c 51 0b 00 00    	jl     0x140156d30
1401561df:	48 89 ef             	mov    %rbp,%rdi
1401561e2:	48 c1 e7 04          	shl    $0x4,%rdi
1401561e6:	49 03 7f 48          	add    0x48(%r15),%rdi
1401561ea:	39 c5                	cmp    %eax,%ebp
1401561ec:	0f 85 36 ff ff ff    	jne    0x140156128
1401561f2:	85 db                	test   %ebx,%ebx
1401561f4:	0f 85 36 0b 00 00    	jne    0x140156d30
1401561fa:	49 8b 07             	mov    (%r15),%rax
1401561fd:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140156202:	41 8b 47 10          	mov    0x10(%r15),%eax
140156206:	41 8b 5f 2c          	mov    0x2c(%r15),%ebx
14015620a:	85 c0                	test   %eax,%eax
14015620c:	0f 8e a9 00 00 00    	jle    0x1401562bb
140156212:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
140156217:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14015621c:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140156221:	31 f6                	xor    %esi,%esi
140156223:	4c 89 f7             	mov    %r14,%rdi
140156226:	4d 89 e6             	mov    %r12,%r14
140156229:	4d 89 ec             	mov    %r13,%r12
14015622c:	49 89 c5             	mov    %rax,%r13
14015622f:	90                   	nop
140156230:	49 63 47 40          	movslq 0x40(%r15),%rax
140156234:	49 8b 0c 24          	mov    (%r12),%rcx
140156238:	85 c0                	test   %eax,%eax
14015623a:	0f 8e 10 0e 00 00    	jle    0x140157050
140156240:	49 8b 57 50          	mov    0x50(%r15),%rdx
140156244:	48 c1 e0 04          	shl    $0x4,%rax
140156248:	48 01 d0             	add    %rdx,%rax
14015624b:	eb 10                	jmp    0x14015625d
14015624d:	0f 1f 00             	nopl   (%rax)
140156250:	48 83 c2 10          	add    $0x10,%rdx
140156254:	48 39 d0             	cmp    %rdx,%rax
140156257:	0f 84 f3 0d 00 00    	je     0x140157050
14015625d:	48 3b 0a             	cmp    (%rdx),%rcx
140156260:	75 ee                	jne    0x140156250
140156262:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140156267:	48 63 c3             	movslq %ebx,%rax
14015626a:	48 8d 3d 9f c4 0c 00 	lea    0xcc49f(%rip),%rdi        # 0x140222710
140156271:	4c 89 e9             	mov    %r13,%rcx
140156274:	44 0f be 04 07       	movsbl (%rdi,%rax,1),%r8d
140156279:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
14015627e:	e8 7d f6 ff ff       	call   0x140155900
140156283:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
140156288:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14015628d:	83 fb 02             	cmp    $0x2,%ebx
140156290:	0f 84 3a 06 00 00    	je     0x1401568d0
140156296:	83 c3 01             	add    $0x1,%ebx
140156299:	4c 89 e2             	mov    %r12,%rdx
14015629c:	4c 89 f9             	mov    %r15,%rcx
14015629f:	83 c6 01             	add    $0x1,%esi
1401562a2:	e8 89 f5 ff ff       	call   0x140155830
1401562a7:	49 89 c4             	mov    %rax,%r12
1401562aa:	41 3b 77 10          	cmp    0x10(%r15),%esi
1401562ae:	7c 80                	jl     0x140156230
1401562b0:	4d 89 f4             	mov    %r14,%r12
1401562b3:	49 89 fe             	mov    %rdi,%r14
1401562b6:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1401562bb:	45 8b 6f 30          	mov    0x30(%r15),%r13d
1401562bf:	bb 01 00 00 00       	mov    $0x1,%ebx
1401562c4:	45 85 ed             	test   %r13d,%r13d
1401562c7:	0f 85 ea fe ff ff    	jne    0x1401561b7
1401562cd:	49 8b 14 24          	mov    (%r12),%rdx
1401562d1:	48 85 d2             	test   %rdx,%rdx
1401562d4:	0f 84 d7 05 00 00    	je     0x1401568b1
1401562da:	49 8b 44 24 08       	mov    0x8(%r12),%rax
1401562df:	48 29 c2             	sub    %rax,%rdx
1401562e2:	48 83 fa 01          	cmp    $0x1,%rdx
1401562e6:	0f 84 c5 05 00 00    	je     0x1401568b1
1401562ec:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
1401562f1:	48 8d 48 01          	lea    0x1(%rax),%rcx
1401562f5:	49 83 c6 01          	add    $0x1,%r14
1401562f9:	bb 01 00 00 00       	mov    $0x1,%ebx
1401562fe:	49 89 4c 24 08       	mov    %rcx,0x8(%r12)
140156303:	c6 04 02 20          	movb   $0x20,(%rdx,%rax,1)
140156307:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
14015630c:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140156311:	c6 04 02 00          	movb   $0x0,(%rdx,%rax,1)
140156315:	e9 9d fe ff ff       	jmp    0x1401561b7
14015631a:	41 8b 46 40          	mov    0x40(%r14),%eax
14015631e:	85 c0                	test   %eax,%eax
140156320:	0f 8e 8a 0c 00 00    	jle    0x140156fb0
140156326:	31 f6                	xor    %esi,%esi
140156328:	31 ed                	xor    %ebp,%ebp
14015632a:	48 8d 5c 24 40       	lea    0x40(%rsp),%rbx
14015632f:	eb 42                	jmp    0x140156373
140156331:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140156338:	49 8b 47 08          	mov    0x8(%r15),%rax
14015633c:	48 29 c2             	sub    %rax,%rdx
14015633f:	48 83 fa 01          	cmp    $0x1,%rdx
140156343:	74 63                	je     0x1401563a8
140156345:	49 8b 57 10          	mov    0x10(%r15),%rdx
140156349:	48 8d 48 01          	lea    0x1(%rax),%rcx
14015634d:	48 83 c5 01          	add    $0x1,%rbp
140156351:	48 83 c6 01          	add    $0x1,%rsi
140156355:	49 89 4f 08          	mov    %rcx,0x8(%r15)
140156359:	c6 04 02 20          	movb   $0x20,(%rdx,%rax,1)
14015635d:	49 8b 57 10          	mov    0x10(%r15),%rdx
140156361:	49 8b 47 08          	mov    0x8(%r15),%rax
140156365:	c6 04 02 00          	movb   $0x0,(%rdx,%rax,1)
140156369:	41 39 76 40          	cmp    %esi,0x40(%r14)
14015636d:	0f 8e 81 02 00 00    	jle    0x1401565f4
140156373:	48 89 f2             	mov    %rsi,%rdx
140156376:	41 b8 7c 00 00 00    	mov    $0x7c,%r8d
14015637c:	48 89 d9             	mov    %rbx,%rcx
14015637f:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
140156384:	48 c1 e2 04          	shl    $0x4,%rdx
140156388:	49 03 56 50          	add    0x50(%r14),%rdx
14015638c:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140156391:	e8 6a f5 ff ff       	call   0x140155900
140156396:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
14015639b:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1401563a0:	49 8b 17             	mov    (%r15),%rdx
1401563a3:	48 85 d2             	test   %rdx,%rdx