140160eab:	e8 90 19 03 00       	call   0x140192840
140160eb0:	85 c0                	test   %eax,%eax
140160eb2:	7f 3f                	jg     0x140160ef3
140160eb4:	48 8b 43 08          	mov    0x8(%rbx),%rax
140160eb8:	44 89 a3 ac 00 00 00 	mov    %r12d,0xac(%rbx)
140160ebf:	48 85 c0             	test   %rax,%rax
140160ec2:	75 0e                	jne    0x140160ed2
140160ec4:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140160ecb:	33 d2                	xor    %edx,%edx
140160ecd:	e8 6e ab f8 ff       	call   0x1400eba40
140160ed2:	48 8b d3             	mov    %rbx,%rdx
140160ed5:	48 89 83 b8 00 00 00 	mov    %rax,0xb8(%rbx)
140160edc:	33 c9                	xor    %ecx,%ecx
140160ede:	c7 83 b0 00 00 00 40 	movl   $0x40,0xb0(%rbx)
140160ee5:	00 00 00
140160ee8:	ff 53 38             	call   *0x38(%rbx)
140160eeb:	85 c0                	test   %eax,%eax
140160eed:	75 04                	jne    0x140160ef3
140160eef:	33 c0                	xor    %eax,%eax
140160ef1:	eb 05                	jmp    0x140160ef8
140160ef3:	b8 01 00 00 00       	mov    $0x1,%eax
140160ef8:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140160efd:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140160f02:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140160f07:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140160f0c:	48 83 c4 30          	add    $0x30,%rsp
140160f10:	41 5f                	pop    %r15
140160f12:	41 5e                	pop    %r14
140160f14:	41 5c                	pop    %r12
140160f16:	c3                   	ret
140160f17:	cc                   	int3
140160f18:	cc                   	int3
140160f19:	cc                   	int3
140160f1a:	cc                   	int3
140160f1b:	cc                   	int3
140160f1c:	cc                   	int3
140160f1d:	cc                   	int3
140160f1e:	cc                   	int3
140160f1f:	cc                   	int3
140160f20:	b8 28 00 00 00       	mov    $0x28,%eax
140160f25:	e8 06 fc 14 00       	call   0x1402b0b30
140160f2a:	48 2b e0             	sub    %rax,%rsp
140160f2d:	49 8b c8             	mov    %r8,%rcx
140160f30:	e8 bb ad fb ff       	call   0x14011bcf0
140160f35:	33 c9                	xor    %ecx,%ecx
140160f37:	85 c0                	test   %eax,%eax
140160f39:	0f 94 c1             	sete   %cl
140160f3c:	8b c1                	mov    %ecx,%eax
140160f3e:	48 83 c4 28          	add    $0x28,%rsp
140160f42:	c3                   	ret
140160f43:	cc                   	int3
140160f44:	cc                   	int3
140160f45:	cc                   	int3
140160f46:	cc                   	int3
140160f47:	cc                   	int3
140160f48:	cc                   	int3
140160f49:	cc                   	int3
140160f4a:	cc                   	int3
140160f4b:	cc                   	int3
140160f4c:	cc                   	int3
140160f4d:	cc                   	int3
140160f4e:	cc                   	int3
140160f4f:	cc                   	int3
140160f50:	40 53                	rex push %rbx
140160f52:	b8 20 00 00 00       	mov    $0x20,%eax
140160f57:	e8 d4 fb 14 00       	call   0x1402b0b30
140160f5c:	48 2b e0             	sub    %rax,%rsp
140160f5f:	48 8b d9             	mov    %rcx,%rbx
140160f62:	48 8b ca             	mov    %rdx,%rcx
140160f65:	e8 96 37 fa ff       	call   0x140104700
140160f6a:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140160f6e:	8b 59 24             	mov    0x24(%rcx),%ebx
140160f71:	85 db                	test   %ebx,%ebx
140160f73:	7f 0b                	jg     0x140160f80
140160f75:	b8 01 00 00 00       	mov    $0x1,%eax
140160f7a:	48 83 c4 20          	add    $0x20,%rsp
140160f7e:	5b                   	pop    %rbx
140160f7f:	c3                   	ret
140160f80:	48 85 c0             	test   %rax,%rax
140160f83:	75 06                	jne    0x140160f8b
140160f85:	48 83 c4 20          	add    $0x20,%rsp
140160f89:	5b                   	pop    %rbx
140160f8a:	c3                   	ret
140160f8b:	b9 05 00 00 00       	mov    $0x5,%ecx
140160f90:	3b d9                	cmp    %ecx,%ebx
140160f92:	0f 4f d9             	cmovg  %ecx,%ebx
140160f95:	48 8b c8             	mov    %rax,%rcx
140160f98:	e8 03 93 f9 ff       	call   0x1400fa2a0
140160f9d:	8b d0                	mov    %eax,%edx
140160f9f:	4c 8d 05 3a a1 1b 00 	lea    0x1ba13a(%rip),%r8        # 0x14031b0e0
140160fa6:	33 c0                	xor    %eax,%eax
140160fa8:	41 3b 54 98 fc       	cmp    -0x4(%r8,%rbx,4),%edx
140160fad:	0f 9d c0             	setge  %al
140160fb0:	48 83 c4 20          	add    $0x20,%rsp
140160fb4:	5b                   	pop    %rbx
140160fb5:	c3                   	ret
140160fb6:	cc                   	int3
140160fb7:	cc                   	int3
140160fb8:	cc                   	int3
140160fb9:	cc                   	int3
140160fba:	cc                   	int3
140160fbb:	cc                   	int3
140160fbc:	cc                   	int3
140160fbd:	cc                   	int3
140160fbe:	cc                   	int3
140160fbf:	cc                   	int3
140160fc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160fc5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140160fca:	57                   	push   %rdi
140160fcb:	b8 20 00 00 00       	mov    $0x20,%eax
140160fd0:	e8 5b fb 14 00       	call   0x1402b0b30
140160fd5:	48 2b e0             	sub    %rax,%rsp
140160fd8:	48 8b 41 20          	mov    0x20(%rcx),%rax
140160fdc:	48 8b d9             	mov    %rcx,%rbx
140160fdf:	45 33 c0             	xor    %r8d,%r8d
140160fe2:	33 c9                	xor    %ecx,%ecx
140160fe4:	48 8b fa             	mov    %rdx,%rdi
140160fe7:	44 8b 48 14          	mov    0x14(%rax),%r9d
140160feb:	e8 b0 30 fa ff       	call   0x1401040a0
140160ff0:	8b f0                	mov    %eax,%esi
140160ff2:	85 c0                	test   %eax,%eax
140160ff4:	74 49                	je     0x14016103f
140160ff6:	c7 83 ac 00 00 00 00 	movl   $0x0,0xac(%rbx)
140160ffd:	00 00 00
140161000:	48 85 ff             	test   %rdi,%rdi
140161003:	75 11                	jne    0x140161016
140161005:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
14016100c:	33 d2                	xor    %edx,%edx
14016100e:	e8 2d aa f8 ff       	call   0x1400eba40
140161013:	48 8b f8             	mov    %rax,%rdi
140161016:	48 8b d3             	mov    %rbx,%rdx
140161019:	48 89 bb b8 00 00 00 	mov    %rdi,0xb8(%rbx)
140161020:	33 c9                	xor    %ecx,%ecx
140161022:	89 b3 b0 00 00 00    	mov    %esi,0xb0(%rbx)
140161028:	ff 53 38             	call   *0x38(%rbx)
14016102b:	85 c0                	test   %eax,%eax
14016102d:	75 10                	jne    0x14016103f
14016102f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140161034:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140161039:	48 83 c4 20          	add    $0x20,%rsp
14016103d:	5f                   	pop    %rdi
14016103e:	c3                   	ret
14016103f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140161044:	b8 01 00 00 00       	mov    $0x1,%eax
140161049:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14016104e:	48 83 c4 20          	add    $0x20,%rsp
140161052:	5f                   	pop    %rdi
140161053:	c3                   	ret
140161054:	cc                   	int3
140161055:	cc                   	int3
140161056:	cc                   	int3
140161057:	cc                   	int3
140161058:	cc                   	int3
140161059:	cc                   	int3
14016105a:	cc                   	int3
14016105b:	cc                   	int3
14016105c:	cc                   	int3
14016105d:	cc                   	int3
14016105e:	cc                   	int3
14016105f:	cc                   	int3
140161060:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161065:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14016106a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14016106f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140161074:	41 54                	push   %r12
140161076:	41 56                	push   %r14
140161078:	41 57                	push   %r15
14016107a:	b8 20 00 00 00       	mov    $0x20,%eax
14016107f:	e8 ac fa 14 00       	call   0x1402b0b30
140161084:	48 2b e0             	sub    %rax,%rsp
140161087:	48 8b f1             	mov    %rcx,%rsi
14016108a:	48 8b 89 98 00 00 00 	mov    0x98(%rcx),%rcx
140161091:	e8 aa a6 f8 ff       	call   0x1400eb740
140161096:	8b e8                	mov    %eax,%ebp
140161098:	83 ed 01             	sub    $0x1,%ebp
14016109b:	0f 88 5a 02 00 00    	js     0x1401612fb
1401610a1:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
1401610a8:	8b d5                	mov    %ebp,%edx
1401610aa:	e8 91 a9 f8 ff       	call   0x1400eba40
1401610af:	4c 8b f8             	mov    %rax,%r15
1401610b2:	85 ed                	test   %ebp,%ebp
1401610b4:	74 0d                	je     0x1401610c3
1401610b6:	f6 80 d8 00 00 00 20 	testb  $0x20,0xd8(%rax)
1401610bd:	0f 85 2f 02 00 00    	jne    0x1401612f2
1401610c3:	f7 80 d8 00 00 00 00 	testl  $0x400,0xd8(%rax)
1401610ca:	04 00 00
1401610cd:	0f 84 1b 01 00 00    	je     0x1401611ee
1401610d3:	49 8b cf             	mov    %r15,%rcx
1401610d6:	e8 15 c0 f9 ff       	call   0x1400fd0f0
1401610db:	49 8b cf             	mov    %r15,%rcx
1401610de:	48 8b f8             	mov    %rax,%rdi
1401610e1:	e8 0a be f9 ff       	call   0x1400fcef0
1401610e6:	48 8b cf             	mov    %rdi,%rcx
1401610e9:	4c 8b e0             	mov    %rax,%r12
1401610ec:	e8 bf 3c fa ff       	call   0x140104db0
1401610f1:	44 8d 70 ff          	lea    -0x1(%rax),%r14d
1401610f5:	41 83 fe 01          	cmp    $0x1,%r14d
1401610f9:	7d 0a                	jge    0x140161105
1401610fb:	bb 48 00 00 00       	mov    $0x48,%ebx
140161100:	e9 c2 00 00 00       	jmp    0x1401611c7
140161105:	49 8b cc             	mov    %r12,%rcx
140161108:	e8 a3 3c fa ff       	call   0x140104db0
14016110d:	48 8b cf             	mov    %rdi,%rcx
140161110:	8d 58 01             	lea    0x1(%rax),%ebx
140161113:	e8 98 3c fa ff       	call   0x140104db0
140161118:	3b c3                	cmp    %ebx,%eax
14016111a:	74 0a                	je     0x140161126
14016111c:	bb 48 00 00 00       	mov    $0x48,%ebx
140161121:	e9 a1 00 00 00       	jmp    0x1401611c7
140161126:	41 8d 56 ff          	lea    -0x1(%r14),%edx
14016112a:	48 8b cf             	mov    %rdi,%rcx
14016112d:	e8 ae 3c fa ff       	call   0x140104de0
140161132:	48 8b c8             	mov    %rax,%rcx
140161135:	e8 b6 39 fa ff       	call   0x140104af0
14016113a:	41 8b d6             	mov    %r14d,%edx
14016113d:	48 8b cf             	mov    %rdi,%rcx
140161140:	8b d8                	mov    %eax,%ebx
140161142:	e8 99 3c fa ff       	call   0x140104de0
140161147:	48 8b c8             	mov    %rax,%rcx
14016114a:	e8 a1 39 fa ff       	call   0x140104af0
14016114f:	3b c3                	cmp    %ebx,%eax
140161151:	75 07                	jne    0x14016115a
140161153:	bb 48 00 00 00       	mov    $0x48,%ebx
140161158:	eb 6d                	jmp    0x1401611c7
14016115a:	48 8b cf             	mov    %rdi,%rcx
14016115d:	e8 8e ec fc ff       	call   0x14012fdf0
140161162:	48 8b f8             	mov    %rax,%rdi
140161165:	48 85 c0             	test   %rax,%rax
140161168:	0f 84 b8 01 00 00    	je     0x140161326
14016116e:	41 8b d6             	mov    %r14d,%edx
140161171:	48 8b c8             	mov    %rax,%rcx
140161174:	e8 57 3b fa ff       	call   0x140104cd0
140161179:	48 8b c8             	mov    %rax,%rcx
14016117c:	4c 8b f0             	mov    %rax,%r14
14016117f:	e8 5c 39 fa ff       	call   0x140104ae0
140161184:	48 8b c8             	mov    %rax,%rcx
140161187:	e8 84 45 f9 ff       	call   0x1400f5710
14016118c:	83 f8 0d             	cmp    $0xd,%eax
14016118f:	75 21                	jne    0x1401611b2
140161191:	49 8b d4             	mov    %r12,%rdx
140161194:	48 8b cf             	mov    %rdi,%rcx
140161197:	e8 14 2a fa ff       	call   0x140103bb0
14016119c:	85 c0                	test   %eax,%eax
14016119e:	75 12                	jne    0x1401611b2
1401611a0:	49 8b ce             	mov    %r14,%rcx
1401611a3:	e8 08 ec fc ff       	call   0x14012fdb0
1401611a8:	48 8b cf             	mov    %rdi,%rcx
1401611ab:	e8 60 ec fc ff       	call   0x14012fe10
1401611b0:	eb 3c                	jmp    0x1401611ee
1401611b2:	49 8b ce             	mov    %r14,%rcx
1401611b5:	bb 48 00 00 00       	mov    $0x48,%ebx
1401611ba:	e8 f1 eb fc ff       	call   0x14012fdb0
1401611bf:	48 8b cf             	mov    %rdi,%rcx
1401611c2:	e8 49 ec fc ff       	call   0x14012fe10
1401611c7:	85 ed                	test   %ebp,%ebp
1401611c9:	78 06                	js     0x1401611d1
1401611cb:	89 ae ac 00 00 00    	mov    %ebp,0xac(%rsi)
1401611d1:	48 8b d6             	mov    %rsi,%rdx
1401611d4:	4c 89 be b8 00 00 00 	mov    %r15,0xb8(%rsi)
1401611db:	33 c9                	xor    %ecx,%ecx
1401611dd:	89 9e b0 00 00 00    	mov    %ebx,0xb0(%rsi)
1401611e3:	ff 56 38             	call   *0x38(%rsi)
1401611e6:	85 c0                	test   %eax,%eax
1401611e8:	0f 84 77 01 00 00    	je     0x140161365
1401611ee:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
1401611f5:	e8 46 a5 f8 ff       	call   0x1400eb740
1401611fa:	44 8d 70 ff          	lea    -0x1(%rax),%r14d
1401611fe:	44 3b f5             	cmp    %ebp,%r14d
140161201:	0f 8e eb 00 00 00    	jle    0x1401612f2
140161207:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14016120e:	00 00
140161210:	48 8b 8e 98 00 00 00 	mov    0x98(%rsi),%rcx
140161217:	41 8b d6             	mov    %r14d,%edx
14016121a:	e8 21 a8 f8 ff       	call   0x1400eba40
14016121f:	4c 8b a0 10 01 00 00 	mov    0x110(%rax),%r12
140161226:	4d 85 e4             	test   %r12,%r12
140161229:	0f 84 b7 00 00 00    	je     0x1401612e6
14016122f:	49 8b d4             	mov    %r12,%rdx
140161232:	49 8b cf             	mov    %r15,%rcx
140161235:	e8 16 d6 00 00       	call   0x14016e850
14016123a:	85 c0                	test   %eax,%eax
14016123c:	75 7c                	jne    0x1401612ba
14016123e:	85 ed                	test   %ebp,%ebp
140161240:	0f 85 a0 00 00 00    	jne    0x1401612e6
140161246:	48 8b 46 20          	mov    0x20(%rsi),%rax
14016124a:	8b 48 38             	mov    0x38(%rax),%ecx
14016124d:	f6 c1 20             	test   $0x20,%cl
140161250:	0f 85 90 00 00 00    	jne    0x1401612e6
140161256:	f6 c1 01             	test   $0x1,%cl
140161259:	75 50                	jne    0x1401612ab
14016125b:	45 33 c9             	xor    %r9d,%r9d
14016125e:	8d 55 55             	lea    0x55(%rbp),%edx
140161261:	45 33 c0             	xor    %r8d,%r8d
140161264:	49 8b cf             	mov    %r15,%rcx
140161267:	e8 b4 3d fa ff       	call   0x140105020
14016126c:	48 8b f8             	mov    %rax,%rdi
14016126f:	48 85 c0             	test   %rax,%rax
140161272:	74 37                	je     0x1401612ab
140161274:	48 8b c8             	mov    %rax,%rcx
140161277:	33 db                	xor    %ebx,%ebx
140161279:	e8 c2 a4 f8 ff       	call   0x1400eb740
14016127e:	85 c0                	test   %eax,%eax
140161280:	7e 21                	jle    0x1401612a3
140161282:	8b d3                	mov    %ebx,%edx
140161284:	48 8b cf             	mov    %rdi,%rcx
140161287:	e8 b4 a7 f8 ff       	call   0x1400eba40
14016128c:	48 8b cf             	mov    %rdi,%rcx
14016128f:	83 38 02             	cmpl   $0x2,(%rax)
140161292:	0f 84 87 00 00 00    	je     0x14016131f
140161298:	ff c3                	inc    %ebx
14016129a:	e8 a1 a4 f8 ff       	call   0x1400eb740
14016129f:	3b d8                	cmp    %eax,%ebx
1401612a1:	7c df                	jl     0x140161282
1401612a3:	48 8b cf             	mov    %rdi,%rcx
1401612a6:	e8 f5 9b fb ff       	call   0x14011aea0
1401612ab:	49 8b d4             	mov    %r12,%rdx
1401612ae:	49 8b cf             	mov    %r15,%rcx
1401612b1:	e8 5a d7 00 00       	call   0x14016ea10
1401612b6:	85 c0                	test   %eax,%eax
1401612b8:	74 2c                	je     0x1401612e6
1401612ba:	83 f8 11             	cmp    $0x11,%eax
1401612bd:	0f 84 9b 00 00 00    	je     0x14016135e
1401612c3:	85 ed                	test   %ebp,%ebp
1401612c5:	78 06                	js     0x1401612cd
1401612c7:	89 ae ac 00 00 00    	mov    %ebp,0xac(%rsi)
1401612cd:	48 8b d6             	mov    %rsi,%rdx
1401612d0:	4c 89 be b8 00 00 00 	mov    %r15,0xb8(%rsi)
1401612d7:	33 c9                	xor    %ecx,%ecx
1401612d9:	89 86 b0 00 00 00    	mov    %eax,0xb0(%rsi)
1401612df:	ff 56 38             	call   *0x38(%rsi)
1401612e2:	85 c0                	test   %eax,%eax
1401612e4:	74 7f                	je     0x140161365
1401612e6:	41 ff ce             	dec    %r14d
1401612e9:	44 3b f5             	cmp    %ebp,%r14d
1401612ec:	0f 8f 1e ff ff ff    	jg     0x140161210
1401612f2:	83 ed 01             	sub    $0x1,%ebp
1401612f5:	0f 89 a6 fd ff ff    	jns    0x1401610a1
1401612fb:	b8 01 00 00 00       	mov    $0x1,%eax
140161300:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140161305:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14016130a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14016130f:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140161314:	48 83 c4 20          	add    $0x20,%rsp
140161318:	41 5f                	pop    %r15
14016131a:	41 5e                	pop    %r14
14016131c:	41 5c                	pop    %r12
14016131e:	c3                   	ret
14016131f:	e8 7c 9b fb ff       	call   0x14011aea0
140161324:	eb c0                	jmp    0x1401612e6
140161326:	e8 45 5d fc ff       	call   0x140127070