140058d68:	0f cf                	bswap  %edi
140058d6a:	8d 47 fe             	lea    -0x2(%rdi),%eax
140058d6d:	83 f8 02             	cmp    $0x2,%eax
140058d70:	0f 87 b9 02 00 00    	ja     0x14005902f
140058d76:	8b 0d b8 ab 21 00    	mov    0x21abb8(%rip),%ecx        # 0x140273934
140058d7c:	85 c9                	test   %ecx,%ecx
140058d7e:	75 30                	jne    0x140058db0
140058d80:	31 c0                	xor    %eax,%eax
140058d82:	48 8b 94 24 d8 09 00 	mov    0x9d8(%rsp),%rdx
140058d89:	00
140058d8a:	48 2b 55 00          	sub    0x0(%rbp),%rdx
140058d8e:	0f 85 c5 02 00 00    	jne    0x140059059
140058d94:	48 81 c4 e0 09 00 00 	add    $0x9e0,%rsp
140058d9b:	5b                   	pop    %rbx
140058d9c:	5e                   	pop    %rsi
140058d9d:	5f                   	pop    %rdi
140058d9e:	5d                   	pop    %rbp
140058d9f:	41 5c                	pop    %r12
140058da1:	41 5d                	pop    %r13
140058da3:	41 5e                	pop    %r14
140058da5:	c3                   	ret
140058da6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
140058dad:	00 00 00
140058db0:	4c 8b 2d 49 06 1e 00 	mov    0x1e0649(%rip),%r13        # 0x140239400
140058db7:	89 d6                	mov    %edx,%esi
140058db9:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140058dbe:	49 89 f4             	mov    %rsi,%r12
140058dc1:	49 8b 45 00          	mov    0x0(%r13),%rax
140058dc5:	48 8b b8 90 01 00 00 	mov    0x190(%rax),%rdi
140058dcc:	4c 8b 77 10          	mov    0x10(%rdi),%r14
140058dd0:	4d 29 f4             	sub    %r14,%r12
140058dd3:	4d 89 f0             	mov    %r14,%r8
140058dd6:	49 01 dc             	add    %rbx,%r12
140058dd9:	4c 89 e2             	mov    %r12,%rdx
140058ddc:	e8 0f 10 19 00       	call   0x1401e9df0
140058de1:	48 89 c1             	mov    %rax,%rcx
140058de4:	49 83 fe 1f          	cmp    $0x1f,%r14
140058de8:	0f 86 22 01 00 00    	jbe    0x140058f10
140058dee:	48 2b 3d ab 02 1e 00 	sub    0x1e02ab(%rip),%rdi        # 0x1402390a0
140058df5:	48 b8 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rax
140058dfc:	e3 38 8e
140058dff:	48 c1 ff 04          	sar    $0x4,%rdi
140058e03:	48 0f af f8          	imul   %rax,%rdi
140058e07:	89 7c 24 40          	mov    %edi,0x40(%rsp)
140058e0b:	e8 50 c9 fd ff       	call   0x140035760
140058e10:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140058e15:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140058e1a:	48 33 10             	xor    (%rax),%rdx
140058e1d:	48 33 48 08          	xor    0x8(%rax),%rcx
140058e21:	48 09 ca             	or     %rcx,%rdx
140058e24:	0f 84 c6 00 00 00    	je     0x140058ef0
140058e2a:	49 8b 45 00          	mov    0x0(%r13),%rax
140058e2e:	48 8d 7c 24 50       	lea    0x50(%rsp),%rdi
140058e33:	48 89 f9             	mov    %rdi,%rcx
140058e36:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140058e3d:	ff 50 28             	call   *0x28(%rax)
140058e40:	49 8b 45 00          	mov    0x0(%r13),%rax
140058e44:	48 89 da             	mov    %rbx,%rdx
140058e47:	48 89 f9             	mov    %rdi,%rcx
140058e4a:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140058e51:	48 2b 70 10          	sub    0x10(%rax),%rsi
140058e55:	49 89 f0             	mov    %rsi,%r8
140058e58:	ff 50 38             	call   *0x38(%rax)
140058e5b:	49 8b 45 00          	mov    0x0(%r13),%rax
140058e5f:	48 8d 8c 24 b0 09 00 	lea    0x9b0(%rsp),%rcx
140058e66:	00
140058e67:	48 89 fa             	mov    %rdi,%rdx
140058e6a:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140058e71:	ff 50 40             	call   *0x40(%rax)
140058e74:	49 8b 45 00          	mov    0x0(%r13),%rax
140058e78:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140058e7f:	48 83 78 10 20       	cmpq   $0x20,0x10(%rax)
140058e84:	48 8b 84 24 b0 09 00 	mov    0x9b0(%rsp),%rax
140058e8b:	00
140058e8c:	0f 84 06 01 00 00    	je     0x140058f98
140058e92:	48 8b 94 24 b8 09 00 	mov    0x9b8(%rsp),%rdx
140058e99:	00
140058e9a:	49 33 04 24          	xor    (%r12),%rax
140058e9e:	49 33 54 24 08       	xor    0x8(%r12),%rdx
140058ea3:	48 09 d0             	or     %rdx,%rax
140058ea6:	75 12                	jne    0x140058eba
140058ea8:	41 8b 44 24 10       	mov    0x10(%r12),%eax
140058ead:	39 84 24 c0 09 00 00 	cmp    %eax,0x9c0(%rsp)
140058eb4:	0f 84 c6 fe ff ff    	je     0x140058d80
140058eba:	48 8b 05 1f 01 1e 00 	mov    0x1e011f(%rip),%rax        # 0x140238fe0
140058ec1:	48 8d 0d 2b 7e 1a 00 	lea    0x1a7e2b(%rip),%rcx        # 0x140200cf3
140058ec8:	8b 00                	mov    (%rax),%eax
140058eca:	85 c0                	test   %eax,%eax
140058ecc:	0f 85 08 01 00 00    	jne    0x140058fda
140058ed2:	e8 59 a7 06 00       	call   0x1400c3630
140058ed7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140058ede:	00 00
140058ee0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140058ee5:	e9 98 fe ff ff       	jmp    0x140058d82
140058eea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140058ef0:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140058ef5:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140058efa:	48 33 50 10          	xor    0x10(%rax),%rdx
140058efe:	48 33 48 18          	xor    0x18(%rax),%rcx
140058f02:	48 09 ca             	or     %rcx,%rdx
140058f05:	0f 85 1f ff ff ff    	jne    0x140058e2a
140058f0b:	e9 70 fe ff ff       	jmp    0x140058d80
140058f10:	b8 20 00 00 00       	mov    $0x20,%eax
140058f15:	4c 01 f1             	add    %r14,%rcx
140058f18:	45 31 c0             	xor    %r8d,%r8d
140058f1b:	4c 29 f0             	sub    %r14,%rax
140058f1e:	83 f8 08             	cmp    $0x8,%eax
140058f21:	73 2d                	jae    0x140058f50
140058f23:	a8 04                	test   $0x4,%al
140058f25:	0f 85 ef 00 00 00    	jne    0x14005901a
140058f2b:	85 c0                	test   %eax,%eax
140058f2d:	0f 84 bb fe ff ff    	je     0x140058dee
140058f33:	c6 01 00             	movb   $0x0,(%rcx)
140058f36:	a8 02                	test   $0x2,%al
140058f38:	0f 84 b0 fe ff ff    	je     0x140058dee
140058f3e:	89 c0                	mov    %eax,%eax
140058f40:	31 d2                	xor    %edx,%edx
140058f42:	66 89 54 01 fe       	mov    %dx,-0x2(%rcx,%rax,1)
140058f47:	e9 a2 fe ff ff       	jmp    0x140058dee
140058f4c:	0f 1f 40 00          	nopl   0x0(%rax)
140058f50:	89 c2                	mov    %eax,%edx
140058f52:	48 c7 01 00 00 00 00 	movq   $0x0,(%rcx)
140058f59:	48 c7 44 11 f8 00 00 	movq   $0x0,-0x8(%rcx,%rdx,1)
140058f60:	00 00
140058f62:	48 8d 51 08          	lea    0x8(%rcx),%rdx
140058f66:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140058f6a:	48 29 d1             	sub    %rdx,%rcx
140058f6d:	01 c8                	add    %ecx,%eax
140058f6f:	83 e0 f8             	and    $0xfffffff8,%eax
140058f72:	83 f8 08             	cmp    $0x8,%eax
140058f75:	0f 82 73 fe ff ff    	jb     0x140058dee
140058f7b:	83 e0 f8             	and    $0xfffffff8,%eax
140058f7e:	31 c9                	xor    %ecx,%ecx
140058f80:	41 89 c9             	mov    %ecx,%r9d
140058f83:	83 c1 08             	add    $0x8,%ecx
140058f86:	4e 89 04 0a          	mov    %r8,(%rdx,%r9,1)
140058f8a:	39 c1                	cmp    %eax,%ecx
140058f8c:	72 f2                	jb     0x140058f80
140058f8e:	e9 5b fe ff ff       	jmp    0x140058dee
140058f93:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140058f98:	48 8b 94 24 b8 09 00 	mov    0x9b8(%rsp),%rdx
140058f9f:	00
140058fa0:	49 33 04 24          	xor    (%r12),%rax
140058fa4:	49 33 54 24 08       	xor    0x8(%r12),%rdx
140058fa9:	48 09 d0             	or     %rdx,%rax
140058fac:	0f 85 08 ff ff ff    	jne    0x140058eba
140058fb2:	48 8b 84 24 c0 09 00 	mov    0x9c0(%rsp),%rax
140058fb9:	00
140058fba:	48 8b 94 24 c8 09 00 	mov    0x9c8(%rsp),%rdx
140058fc1:	00
140058fc2:	49 33 44 24 10       	xor    0x10(%r12),%rax
140058fc7:	49 33 54 24 18       	xor    0x18(%r12),%rdx
140058fcc:	48 09 d0             	or     %rdx,%rax
140058fcf:	0f 85 e5 fe ff ff    	jne    0x140058eba
140058fd5:	e9 a6 fd ff ff       	jmp    0x140058d80
140058fda:	e8 89 a3 18 00       	call   0x1401e3368
140058fdf:	48 89 c1             	mov    %rax,%rcx
140058fe2:	e9 eb fe ff ff       	jmp    0x140058ed2
140058fe7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140058fee:	00 00
140058ff0:	48 8b 05 e9 ff 1d 00 	mov    0x1dffe9(%rip),%rax        # 0x140238fe0
140058ff7:	48 8d 0d cb 7c 1a 00 	lea    0x1a7ccb(%rip),%rcx        # 0x140200cc9
140058ffe:	44 8b 08             	mov    (%rax),%r9d
140059001:	45 85 c9             	test   %r9d,%r9d
140059004:	74 08                	je     0x14005900e
140059006:	e8 5d a3 18 00       	call   0x1401e3368
14005900b:	48 89 c1             	mov    %rax,%rcx
14005900e:	89 f2                	mov    %esi,%edx
140059010:	e8 1b a6 06 00       	call   0x1400c3630
140059015:	e9 c6 fe ff ff       	jmp    0x140058ee0
14005901a:	89 c0                	mov    %eax,%eax
14005901c:	c7 01 00 00 00 00    	movl   $0x0,(%rcx)
140059022:	c7 44 01 fc 00 00 00 	movl   $0x0,-0x4(%rcx,%rax,1)
140059029:	00
14005902a:	e9 bf fd ff ff       	jmp    0x140058dee
14005902f:	48 8b 05 aa ff 1d 00 	mov    0x1dffaa(%rip),%rax        # 0x140238fe0
140059036:	48 8d 0d a1 7c 1a 00 	lea    0x1a7ca1(%rip),%rcx        # 0x140200cde
14005903d:	44 8b 00             	mov    (%rax),%r8d
140059040:	45 85 c0             	test   %r8d,%r8d
140059043:	74 08                	je     0x14005904d
140059045:	e8 1e a3 18 00       	call   0x1401e3368
14005904a:	48 89 c1             	mov    %rax,%rcx
14005904d:	89 fa                	mov    %edi,%edx
14005904f:	e8 dc a5 06 00       	call   0x1400c3630
140059054:	e9 87 fe ff ff       	jmp    0x140058ee0
140059059:	e8 12 b8 18 00       	call   0x1401e4870
14005905e:	90                   	nop
14005905f:	90                   	nop
140059060:	41 57                	push   %r15
140059062:	41 56                	push   %r14
140059064:	41 55                	push   %r13
140059066:	41 54                	push   %r12
140059068:	55                   	push   %rbp
140059069:	57                   	push   %rdi
14005906a:	56                   	push   %rsi
14005906b:	53                   	push   %rbx
14005906c:	48 81 ec 18 01 00 00 	sub    $0x118,%rsp
140059073:	48 8b 3d 76 fa 1d 00 	mov    0x1dfa76(%rip),%rdi        # 0x140238af0
14005907a:	48 c7 41 30 00 00 00 	movq   $0x0,0x30(%rcx)
140059081:	00
140059082:	48 89 d5             	mov    %rdx,%rbp
140059085:	48 89 cb             	mov    %rcx,%rbx
140059088:	31 d2                	xor    %edx,%edx
14005908a:	48 8b 07             	mov    (%rdi),%rax
14005908d:	48 89 84 24 08 01 00 	mov    %rax,0x108(%rsp)
140059094:	00
140059095:	31 c0                	xor    %eax,%eax
140059097:	48 89 e9             	mov    %rbp,%rcx
14005909a:	44 89 c6             	mov    %r8d,%esi
14005909d:	e8 3e c9 08 00       	call   0x1400e59e0
1400590a2:	89 c7                	mov    %eax,%edi
1400590a4:	85 c0                	test   %eax,%eax
1400590a6:	79 70                	jns    0x140059118
1400590a8:	85 f6                	test   %esi,%esi
1400590aa:	0f 85 80 08 00 00    	jne    0x140059930
1400590b0:	ff 15 6a 63 25 00    	call   *0x25636a(%rip)        # 0x1402af420
1400590b6:	83 38 02             	cmpl   $0x2,(%rax)
1400590b9:	0f 85 71 08 00 00    	jne    0x140059930
1400590bf:	48 8b 8b f0 00 00 00 	mov    0xf0(%rbx),%rcx
1400590c6:	e8 95 73 02 00       	call   0x140080460
1400590cb:	48 8b 83 f0 00 00 00 	mov    0xf0(%rbx),%rax
1400590d2:	8b 88 18 01 00 00    	mov    0x118(%rax),%ecx
1400590d8:	85 c9                	test   %ecx,%ecx
1400590da:	0f 84 52 06 00 00    	je     0x140059732
1400590e0:	80 4b 38 02          	orb    $0x2,0x38(%rbx)
1400590e4:	31 c0                	xor    %eax,%eax
1400590e6:	48 8b 35 03 fa 1d 00 	mov    0x1dfa03(%rip),%rsi        # 0x140238af0
1400590ed:	48 8b 94 24 08 01 00 	mov    0x108(%rsp),%rdx
1400590f4:	00
1400590f5:	48 2b 16             	sub    (%rsi),%rdx
1400590f8:	0f 85 49 08 00 00    	jne    0x140059947
1400590fe:	48 81 c4 18 01 00 00 	add    $0x118,%rsp
140059105:	5b                   	pop    %rbx
140059106:	5e                   	pop    %rsi
140059107:	5f                   	pop    %rdi
140059108:	5d                   	pop    %rbp
140059109:	41 5c                	pop    %r12
14005910b:	41 5d                	pop    %r13
14005910d:	41 5e                	pop    %r14
14005910f:	41 5f                	pop    %r15
140059111:	c3                   	ret
140059112:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140059118:	48 8d 94 24 b0 00 00 	lea    0xb0(%rsp),%rdx
14005911f:	00
140059120:	89 c1                	mov    %eax,%ecx
140059122:	e8 79 e6 08 00       	call   0x1400e77a0
140059127:	85 c0                	test   %eax,%eax
140059129:	0f 85 e6 08 00 00    	jne    0x140059a15
14005912f:	48 8b 84 24 c8 00 00 	mov    0xc8(%rsp),%rax
140059136:	00
140059137:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14005913c:	48 85 c0             	test   %rax,%rax
14005913f:	0f 88 ad 08 00 00    	js     0x1400599f2
140059145:	48 8b 05 b4 02 1e 00 	mov    0x1e02b4(%rip),%rax        # 0x140239400
14005914c:	48 8b 00             	mov    (%rax),%rax
14005914f:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140059156:	48 8b 40 10          	mov    0x10(%rax),%rax
14005915a:	48 83 c0 0c          	add    $0xc,%rax
14005915e:	48 39 44 24 30       	cmp    %rax,0x30(%rsp)
140059163:	0f 82 95 08 00 00    	jb     0x1400599fe
140059169:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140059170:	00 00
140059172:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140059177:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14005917d:	31 c9                	xor    %ecx,%ecx
14005917f:	89 7c 24 20          	mov    %edi,0x20(%rsp)
140059183:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140059189:	e8 e2 d6 fd ff       	call   0x140036870
14005918e:	48 89 c6             	mov    %rax,%rsi
140059191:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140059195:	0f 84 73 07 00 00    	je     0x14005990e
14005919b:	89 f9                	mov    %edi,%ecx
14005919d:	e8 9e 09 19 00       	call   0x1401e9b40
1400591a2:	8b 54 24 30          	mov    0x30(%rsp),%edx
1400591a6:	48 89 f1             	mov    %rsi,%rcx
1400591a9:	e8 82 fb ff ff       	call   0x140058d30
1400591ae:	83 f8 ff             	cmp    $0xffffffff,%eax
1400591b1:	0f 84 95 07 00 00    	je     0x14005994c
1400591b7:	48 8b 05 42 02 1e 00 	mov    0x1e0242(%rip),%rax        # 0x140239400
1400591be:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1400591c3:	48 8d 8b a0 00 00 00 	lea    0xa0(%rbx),%rcx
1400591ca:	48 8b 00             	mov    (%rax),%rax
1400591cd:	48 8b b8 90 01 00 00 	mov    0x190(%rax),%rdi
1400591d4:	4c 8b 47 10          	mov    0x10(%rdi),%r8
1400591d8:	4c 29 c2             	sub    %r8,%rdx
1400591db:	48 01 f2             	add    %rsi,%rdx
1400591de:	e8 0d 0c 19 00       	call   0x1401e9df0
1400591e3:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1400591e7:	48 89 c1             	mov    %rax,%rcx
1400591ea:	48 83 fa 1f          	cmp    $0x1f,%rdx
1400591ee:	0f 86 2c 06 00 00    	jbe    0x140059820
1400591f4:	48 ba 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rdx
1400591fb:	e3 38 8e
1400591fe:	48 89 f8             	mov    %rdi,%rax
140059201:	48 2b 05 98 fe 1d 00 	sub    0x1dfe98(%rip),%rax        # 0x1402390a0
140059208:	48 c1 f8 04          	sar    $0x4,%rax
14005920c:	48 0f af c2          	imul   %rdx,%rax
140059210:	ba 08 00 00 00       	mov    $0x8,%edx
140059215:	89 83 c0 00 00 00    	mov    %eax,0xc0(%rbx)
14005921b:	8b 46 04             	mov    0x4(%rsi),%eax
14005921e:	0f c8                	bswap  %eax
140059220:	89 43 08             	mov    %eax,0x8(%rbx)
140059223:	8b 46 08             	mov    0x8(%rsi),%eax
140059226:	0f c8                	bswap  %eax
140059228:	8d 4c 40 30          	lea    0x30(%rax,%rax,2),%ecx
14005922c:	89 43 0c             	mov    %eax,0xc(%rbx)
14005922f:	d1 e9                	shr    $1,%ecx
140059231:	89 4b 10             	mov    %ecx,0x10(%rbx)
140059234:	e8 67 1a 07 00       	call   0x1400caca0
140059239:	80 4b 38 02          	orb    $0x2,0x38(%rbx)
14005923d:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
140059242:	48 89 03             	mov    %rax,(%rbx)
140059245:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14005924a:	48 89 9c 24 90 00 00 	mov    %rbx,0x90(%rsp)
140059251:	00
140059252:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
140059259:	00
14005925a:	48 8b 05 9f 01 1e 00 	mov    0x1e019f(%rip),%rax        # 0x140239400
140059261:	48 89 b4 24 98 00 00 	mov    %rsi,0x98(%rsp)
140059268:	00
140059269:	48 8b 08             	mov    (%rax),%rcx
14005926c:	e8 5f c2 fb ff       	call   0x1400154d0
140059271:	85 c0                	test   %eax,%eax
140059273:	0f 84 bd 01 00 00    	je     0x140059436
140059279:	c7 44 24 68 01 00 00 	movl   $0x1,0x68(%rsp)
140059280:	00
140059281:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
140059286:	45 31 e4             	xor    %r12d,%r12d
140059289:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14005928e:	b9 18 00 00 00       	mov    $0x18,%ecx
140059293:	e8 88 17 07 00       	call   0x1400caa20
140059298:	83 7b 08 04          	cmpl   $0x4,0x8(%rbx)
14005929c:	48 89 83 e0 00 00 00 	mov    %rax,0xe0(%rbx)
1400592a3:	48 89 c1             	mov    %rax,%rcx
1400592a6:	8b 43 0c             	mov    0xc(%rbx),%eax
1400592a9:	0f 84 a1 04 00 00    	je     0x140059750
1400592af:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400592b2:	8d 14 c5 00 00 00 00 	lea    0x0(,%rax,8),%edx
1400592b9:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1400592be:	48 01 c2             	add    %rax,%rdx
1400592c1:	e8 ba 0f 11 00       	call   0x14016a280
1400592c6:	8b 43 0c             	mov    0xc(%rbx),%eax
1400592c9:	4c 8b b3 e0 00 00 00 	mov    0xe0(%rbx),%r14
1400592d0:	85 c0                	test   %eax,%eax
1400592d2:	0f 8e ef 05 00 00    	jle    0x1400598c7
1400592d8:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
1400592dd:	31 ff                	xor    %edi,%edi
1400592df:	49 89 dc             	mov    %rbx,%r12
1400592e2:	45 31 ff             	xor    %r15d,%r15d
1400592e5:	4c 8d 2c c5 00 00 00 	lea    0x0(,%rax,8),%r13