140836e64:	48 8b 41 28          	mov    0x28(%rcx),%rax
140836e68:	33 db                	xor    %ebx,%ebx
140836e6a:	48 2b 41 20          	sub    0x20(%rcx),%rax
140836e6e:	41 0f b6 e8          	movzbl %r8b,%ebp
140836e72:	48 c1 f8 03          	sar    $0x3,%rax
140836e76:	48 8b f2             	mov    %rdx,%rsi
140836e79:	48 8b f9             	mov    %rcx,%rdi
140836e7c:	48 85 c0             	test   %rax,%rax
140836e7f:	74 42                	je     0x140836ec3
140836e81:	48 85 db             	test   %rbx,%rbx
140836e84:	74 15                	je     0x140836e9b
140836e86:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140836e8c:	48 8d 15 b1 10 7a 00 	lea    0x7a10b1(%rip),%rdx        # 0x140fd7f44
140836e93:	48 8b ce             	mov    %rsi,%rcx
140836e96:	e8 f5 d0 fe ff       	call   0x140823f90
140836e9b:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140836e9f:	44 0f b6 c5          	movzbl %bpl,%r8d
140836ea3:	48 8b d6             	mov    %rsi,%rdx
140836ea6:	48 8b 0c d9          	mov    (%rcx,%rbx,8),%rcx
140836eaa:	e8 a1 fa ff ff       	call   0x140836950
140836eaf:	48 8b 47 28          	mov    0x28(%rdi),%rax
140836eb3:	48 ff c3             	inc    %rbx
140836eb6:	48 2b 47 20          	sub    0x20(%rdi),%rax
140836eba:	48 c1 f8 03          	sar    $0x3,%rax
140836ebe:	48 3b d8             	cmp    %rax,%rbx
140836ec1:	72 be                	jb     0x140836e81
140836ec3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140836ec8:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140836ecd:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140836ed2:	48 83 c4 20          	add    $0x20,%rsp
140836ed6:	5f                   	pop    %rdi
140836ed7:	c3                   	ret
140836ed8:	cc                   	int3
140836ed9:	cc                   	int3
140836eda:	cc                   	int3
140836edb:	cc                   	int3
140836edc:	cc                   	int3
140836edd:	cc                   	int3
140836ede:	cc                   	int3
140836edf:	cc                   	int3
140836ee0:	48 8b 41 20          	mov    0x20(%rcx),%rax
140836ee4:	4c 8b 41 28          	mov    0x28(%rcx),%r8
140836ee8:	49 3b c0             	cmp    %r8,%rax
140836eeb:	74 14                	je     0x140836f01
140836eed:	0f 1f 00             	nopl   (%rax)
140836ef0:	48 8b 08             	mov    (%rax),%rcx
140836ef3:	39 51 18             	cmp    %edx,0x18(%rcx)
140836ef6:	74 10                	je     0x140836f08
140836ef8:	48 83 c0 08          	add    $0x8,%rax
140836efc:	49 3b c0             	cmp    %r8,%rax
140836eff:	75 ef                	jne    0x140836ef0
140836f01:	48 8d 05 70 e1 b6 00 	lea    0xb6e170(%rip),%rax        # 0x1413a5078
140836f08:	c3                   	ret
140836f09:	cc                   	int3
140836f0a:	cc                   	int3
140836f0b:	cc                   	int3
140836f0c:	cc                   	int3
140836f0d:	cc                   	int3
140836f0e:	cc                   	int3
140836f0f:	cc                   	int3
140836f10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140836f15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140836f1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140836f1f:	57                   	push   %rdi
140836f20:	48 83 ec 20          	sub    $0x20,%rsp
140836f24:	8b ea                	mov    %edx,%ebp
140836f26:	48 8b f1             	mov    %rcx,%rsi
140836f29:	48 8b 59 20          	mov    0x20(%rcx),%rbx
140836f2d:	4c 8b 41 28          	mov    0x28(%rcx),%r8
140836f31:	49 3b d8             	cmp    %r8,%rbx
140836f34:	0f 84 82 00 00 00    	je     0x140836fbc
140836f3a:	48 8d 7b 08          	lea    0x8(%rbx),%rdi
140836f3e:	66 90                	xchg   %ax,%ax
140836f40:	48 8b 03             	mov    (%rbx),%rax
140836f43:	39 68 18             	cmp    %ebp,0x18(%rax)
140836f46:	75 67                	jne    0x140836faf
140836f48:	48 8b c7             	mov    %rdi,%rax
140836f4b:	49 3b f8             	cmp    %r8,%rdi
140836f4e:	74 27                	je     0x140836f77
140836f50:	4c 8b cb             	mov    %rbx,%r9
140836f53:	4c 2b cf             	sub    %rdi,%r9
140836f56:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140836f5d:	00 00 00
140836f60:	49 8b 14 01          	mov    (%r9,%rax,1),%rdx
140836f64:	48 8b 08             	mov    (%rax),%rcx
140836f67:	49 89 0c 01          	mov    %rcx,(%r9,%rax,1)
140836f6b:	48 89 10             	mov    %rdx,(%rax)
140836f6e:	48 83 c0 08          	add    $0x8,%rax
140836f72:	49 3b c0             	cmp    %r8,%rax
140836f75:	75 e9                	jne    0x140836f60
140836f77:	48 8b 46 28          	mov    0x28(%rsi),%rax
140836f7b:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
140836f7f:	48 85 c9             	test   %rcx,%rcx
140836f82:	74 20                	je     0x140836fa4
140836f84:	8b 41 10             	mov    0x10(%rcx),%eax
140836f87:	ff c8                	dec    %eax
140836f89:	89 41 10             	mov    %eax,0x10(%rcx)
140836f8c:	85 c0                	test   %eax,%eax
140836f8e:	7f 14                	jg     0x140836fa4
140836f90:	78 3f                	js     0x140836fd1
140836f92:	48 8b 01             	mov    (%rcx),%rax
140836f95:	ba 01 00 00 00       	mov    $0x1,%edx
140836f9a:	48 8b 00             	mov    (%rax),%rax
140836f9d:	ff 15 7d ca 74 00    	call   *0x74ca7d(%rip)        # 0x140f83a20
140836fa3:	90                   	nop
140836fa4:	48 83 46 28 f8       	addq   $0xfffffffffffffff8,0x28(%rsi)
140836fa9:	4c 8b 46 28          	mov    0x28(%rsi),%r8
140836fad:	eb 08                	jmp    0x140836fb7
140836faf:	48 83 c3 08          	add    $0x8,%rbx
140836fb3:	48 83 c7 08          	add    $0x8,%rdi
140836fb7:	49 3b d8             	cmp    %r8,%rbx
140836fba:	75 84                	jne    0x140836f40
140836fbc:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140836fc1:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140836fc6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140836fcb:	48 83 c4 20          	add    $0x20,%rsp
140836fcf:	5f                   	pop    %rdi
140836fd0:	c3                   	ret
140836fd1:	b9 02 00 00 00       	mov    $0x2,%ecx
140836fd6:	e8 25 37 f5 ff       	call   0x14078a700
140836fdb:	cc                   	int3
140836fdc:	cc                   	int3
140836fdd:	cc                   	int3
140836fde:	cc                   	int3
140836fdf:	cc                   	int3
140836fe0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140836fe5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140836fea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140836fef:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140836ff4:	41 56                	push   %r14
140836ff6:	48 83 ec 20          	sub    $0x20,%rsp
140836ffa:	48 8b 02             	mov    (%rdx),%rax
140836ffd:	48 8b fa             	mov    %rdx,%rdi
140837000:	4c 8b f1             	mov    %rcx,%r14
140837003:	48 8b d1             	mov    %rcx,%rdx
140837006:	48 8b cf             	mov    %rdi,%rcx
140837009:	48 8b 40 78          	mov    0x78(%rax),%rax
14083700d:	ff 15 0d ca 74 00    	call   *0x74ca0d(%rip)        # 0x140f83a20
140837013:	83 f8 01             	cmp    $0x1,%eax
140837016:	0f 84 a4 00 00 00    	je     0x1408370c0
14083701c:	83 f8 02             	cmp    $0x2,%eax
14083701f:	0f 84 97 00 00 00    	je     0x1408370bc
140837025:	49 8b 5e 20          	mov    0x20(%r14),%rbx
140837029:	49 8b 6e 28          	mov    0x28(%r14),%rbp
14083702d:	48 3b dd             	cmp    %rbp,%rbx
140837030:	74 72                	je     0x1408370a4
140837032:	48 8b 07             	mov    (%rdi),%rax
140837035:	48 8b cf             	mov    %rdi,%rcx
140837038:	48 8b 33             	mov    (%rbx),%rsi
14083703b:	48 8b d6             	mov    %rsi,%rdx
14083703e:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
140837045:	ff 15 d5 c9 74 00    	call   *0x74c9d5(%rip)        # 0x140f83a20
14083704b:	83 f8 01             	cmp    $0x1,%eax
14083704e:	74 70                	je     0x1408370c0
140837050:	83 f8 02             	cmp    $0x2,%eax
140837053:	74 46                	je     0x14083709b
140837055:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
140837059:	48 85 c9             	test   %rcx,%rcx
14083705c:	74 1d                	je     0x14083707b
14083705e:	48 8b 01             	mov    (%rcx),%rax
140837061:	48 8b d7             	mov    %rdi,%rdx
140837064:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
14083706b:	ff 15 af c9 74 00    	call   *0x74c9af(%rip)        # 0x140f83a20
140837071:	83 f8 01             	cmp    $0x1,%eax
140837074:	74 4a                	je     0x1408370c0
140837076:	83 f8 02             	cmp    $0x2,%eax
140837079:	74 20                	je     0x14083709b
14083707b:	48 8b 07             	mov    (%rdi),%rax
14083707e:	48 8b d6             	mov    %rsi,%rdx
140837081:	48 8b cf             	mov    %rdi,%rcx
140837084:	48 8b 80 90 00 00 00 	mov    0x90(%rax),%rax
14083708b:	ff 15 8f c9 74 00    	call   *0x74c98f(%rip)        # 0x140f83a20
140837091:	83 f8 01             	cmp    $0x1,%eax
140837094:	74 2a                	je     0x1408370c0
140837096:	83 f8 02             	cmp    $0x2,%eax
140837099:	74 21                	je     0x1408370bc
14083709b:	48 83 c3 08          	add    $0x8,%rbx
14083709f:	48 3b dd             	cmp    %rbp,%rbx
1408370a2:	75 8e                	jne    0x140837032
1408370a4:	48 8b 07             	mov    (%rdi),%rax
1408370a7:	49 8b d6             	mov    %r14,%rdx
1408370aa:	48 8b cf             	mov    %rdi,%rcx
1408370ad:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1408370b4:	ff 15 66 c9 74 00    	call   *0x74c966(%rip)        # 0x140f83a20
1408370ba:	eb 09                	jmp    0x1408370c5
1408370bc:	33 c0                	xor    %eax,%eax
1408370be:	eb 05                	jmp    0x1408370c5
1408370c0:	b8 01 00 00 00       	mov    $0x1,%eax
1408370c5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1408370ca:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1408370cf:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1408370d4:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1408370d9:	48 83 c4 20          	add    $0x20,%rsp
1408370dd:	41 5e                	pop    %r14
1408370df:	c3                   	ret
1408370e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1408370e5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1408370ea:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1408370ef:	55                   	push   %rbp
1408370f0:	41 54                	push   %r12
1408370f2:	41 55                	push   %r13
1408370f4:	41 56                	push   %r14
1408370f6:	41 57                	push   %r15
1408370f8:	48 8b ec             	mov    %rsp,%rbp
1408370fb:	48 83 ec 50          	sub    $0x50,%rsp
1408370ff:	41 0f b6 d9          	movzbl %r9b,%ebx
140837103:	48 8b f2             	mov    %rdx,%rsi
140837106:	4c 8b f1             	mov    %rcx,%r14
140837109:	45 84 c0             	test   %r8b,%r8b
14083710c:	74 39                	je     0x140837147
14083710e:	48 8b 0a             	mov    (%rdx),%rcx
140837111:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
140837115:	75 13                	jne    0x14083712a
140837117:	48 8b 01             	mov    (%rcx),%rax
14083711a:	48 8b 40 40          	mov    0x40(%rax),%rax
14083711e:	ff 15 fc c8 74 00    	call   *0x74c8fc(%rip)        # 0x140f83a20
140837124:	48 83 38 00          	cmpq   $0x0,(%rax)
140837128:	75 1d                	jne    0x140837147
14083712a:	41 b8 3c 00 00 00    	mov    $0x3c,%r8d
140837130:	48 8d 15 71 90 80 00 	lea    0x809071(%rip),%rdx        # 0x1410401a8
140837137:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
14083713b:	e8 90 82 96 ff       	call   0x14019f3d0
140837140:	32 c0                	xor    %al,%al
140837142:	e9 73 02 00 00       	jmp    0x1408373ba
140837147:	49 8b 7e 20          	mov    0x20(%r14),%rdi
14083714b:	48 8b 0e             	mov    (%rsi),%rcx
14083714e:	83 79 18 0e          	cmpl   $0xe,0x18(%rcx)
140837152:	0f 85 d2 02 00 00    	jne    0x14083742a
140837158:	48 8b 01             	mov    (%rcx),%rax
14083715b:	48 8b 40 40          	mov    0x40(%rax),%rax
14083715f:	ff 15 bb c8 74 00    	call   *0x74c8bb(%rip)        # 0x140f83a20
140837165:	48 83 38 00          	cmpq   $0x0,(%rax)
140837169:	75 08                	jne    0x140837173
14083716b:	84 db                	test   %bl,%bl
14083716d:	0f 84 b7 02 00 00    	je     0x14083742a
140837173:	48 8b 0e             	mov    (%rsi),%rcx
140837176:	e8 75 34 f1 ff       	call   0x14074a5f0
14083717b:	4c 8b e0             	mov    %rax,%r12
14083717e:	48 8b 08             	mov    (%rax),%rcx
140837181:	48 8b 41 40          	mov    0x40(%rcx),%rax
140837185:	49 8b cc             	mov    %r12,%rcx
140837188:	ff 15 92 c8 74 00    	call   *0x74c892(%rip)        # 0x140f83a20
14083718e:	4c 8b f8             	mov    %rax,%r15
140837191:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140837195:	84 db                	test   %bl,%bl
140837197:	0f 85 5e 01 00 00    	jne    0x1408372fb
14083719d:	48 8b 10             	mov    (%rax),%rdx
1408371a0:	48 3b ca             	cmp    %rdx,%rcx
1408371a3:	0f 84 0f 02 00 00    	je     0x1408373b8
1408371a9:	41 b1 01             	mov    $0x1,%r9b
1408371ac:	45 33 c0             	xor    %r8d,%r8d
1408371af:	e8 4c c4 f1 ff       	call   0x140753600
1408371b4:	84 c0                	test   %al,%al
1408371b6:	0f 85 fc 01 00 00    	jne    0x1408373b8
1408371bc:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
1408371c0:	8b 41 18             	mov    0x18(%rcx),%eax
1408371c3:	83 f8 11             	cmp    $0x11,%eax
1408371c6:	75 63                	jne    0x14083722b
1408371c8:	e8 d3 32 f1 ff       	call   0x14074a4a0
1408371cd:	48 8b d8             	mov    %rax,%rbx
1408371d0:	49 8b 54 24 40       	mov    0x40(%r12),%rdx
1408371d5:	48 83 c2 48          	add    $0x48,%rdx
1408371d9:	41 b1 01             	mov    $0x1,%r9b
1408371dc:	45 33 c0             	xor    %r8d,%r8d
1408371df:	48 8b c8             	mov    %rax,%rcx
1408371e2:	e8 59 3d f1 ff       	call   0x14074af40
1408371e7:	84 c0                	test   %al,%al
1408371e9:	74 23                	je     0x14083720e
1408371eb:	48 8b 4b 50          	mov    0x50(%rbx),%rcx
1408371ef:	49 8b 17             	mov    (%r15),%rdx
1408371f2:	48 3b ca             	cmp    %rdx,%rcx
1408371f5:	0f 84 bd 01 00 00    	je     0x1408373b8
1408371fb:	41 b1 01             	mov    $0x1,%r9b
1408371fe:	45 33 c0             	xor    %r8d,%r8d
140837201:	e8 fa c3 f1 ff       	call   0x140753600
140837206:	84 c0                	test   %al,%al
140837208:	0f 85 aa 01 00 00    	jne    0x1408373b8
14083720e:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
140837214:	48 8d 15 f5 8f 80 00 	lea    0x808ff5(%rip),%rdx        # 0x141040210
14083721b:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
14083721f:	e8 ac 81 96 ff       	call   0x14019f3d0
140837224:	32 c0                	xor    %al,%al
140837226:	e9 8f 01 00 00       	jmp    0x1408373ba
14083722b:	49 8b 0f             	mov    (%r15),%rcx
14083722e:	83 79 18 0f          	cmpl   $0xf,0x18(%rcx)
140837232:	75 29                	jne    0x14083725d
140837234:	83 f8 0f             	cmp    $0xf,%eax
140837237:	75 24                	jne    0x14083725d
140837239:	e8 02 33 f1 ff       	call   0x14074a540
14083723e:	48 8b d8             	mov    %rax,%rbx
140837241:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140837245:	e8 f6 32 f1 ff       	call   0x14074a540
14083724a:	48 8b d3             	mov    %rbx,%rdx
14083724d:	48 8b c8             	mov    %rax,%rcx
140837250:	e8 8b c2 f1 ff       	call   0x1407534e0
140837255:	84 c0                	test   %al,%al
140837257:	0f 85 5b 01 00 00    	jne    0x1408373b8
14083725d:	49 8b d7             	mov    %r15,%rdx
140837260:	48 8d 4d f8          	lea    -0x8(%rbp),%rcx
140837264:	e8 67 8b 96 ff       	call   0x14019fdd0
140837269:	48 8b d8             	mov    %rax,%rbx
14083726c:	49 8d 56 20          	lea    0x20(%r14),%rdx
140837270:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140837274:	e8 57 8b 96 ff       	call   0x14019fdd0
140837279:	4c 8b c3             	mov    %rbx,%r8
14083727c:	48 8b d0             	mov    %rax,%rdx
14083727f:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140837283:	e8 a8 d9 fc ff       	call   0x140804c30
140837288:	90                   	nop
140837289:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
14083728d:	48 85 c0             	test   %rax,%rax
140837290:	74 1c                	je     0x1408372ae
140837292:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
140837299:	00
14083729a:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14083729e:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1408372a2:	49 8b ce             	mov    %r14,%rcx
1408372a5:	e8 26 ec fd ff       	call   0x140815ed0
1408372aa:	b3 01                	mov    $0x1,%bl
1408372ac:	eb 18                	jmp    0x1408372c6
1408372ae:	41 b8 24 00 00 00    	mov    $0x24,%r8d
1408372b4:	48 8d 15 2d 8f 80 00 	lea    0x808f2d(%rip),%rdx        # 0x1410401e8
1408372bb:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
1408372bf:	e8 0c 81 96 ff       	call   0x14019f3d0
1408372c4:	32 db                	xor    %bl,%bl
1408372c6:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
1408372ca:	48 85 c9             	test   %rcx,%rcx
1408372cd:	74 24                	je     0x1408372f3
1408372cf:	8b 41 10             	mov    0x10(%rcx),%eax
1408372d2:	ff c8                	dec    %eax
1408372d4:	89 41 10             	mov    %eax,0x10(%rcx)
1408372d7:	85 c0                	test   %eax,%eax
1408372d9:	7f 18                	jg     0x1408372f3
1408372db:	0f 88 a2 02 00 00    	js     0x140837583
1408372e1:	48 8b 11             	mov    (%rcx),%rdx
1408372e4:	48 8b 02             	mov    (%rdx),%rax
1408372e7:	ba 01 00 00 00       	mov    $0x1,%edx
1408372ec:	ff 15 2e c7 74 00    	call   *0x74c72e(%rip)        # 0x140f83a20
1408372f2:	90                   	nop
1408372f3:	0f b6 c3             	movzbl %bl,%eax
1408372f6:	e9 bf 00 00 00       	jmp    0x1408373ba
1408372fb:	48 8b 16             	mov    (%rsi),%rdx
1408372fe:	48 3b ca             	cmp    %rdx,%rcx
140837301:	0f 84 b1 00 00 00    	je     0x1408373b8
140837307:	41 b1 01             	mov    $0x1,%r9b
14083730a:	45 33 c0             	xor    %r8d,%r8d
14083730d:	e8 ee c2 f1 ff       	call   0x140753600
140837312:	84 c0                	test   %al,%al
140837314:	0f 85 9e 00 00 00    	jne    0x1408373b8
14083731a:	48 8b 4f 20          	mov    0x20(%rdi),%rcx