140022e2d:	00
140022e2e:	89 d3                	mov    %edx,%ebx
140022e30:	2b 9c 24 c0 00 00 00 	sub    0xc0(%rsp),%ebx
140022e37:	89 5c 24 48          	mov    %ebx,0x48(%rsp)
140022e3b:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140022e40:	4c 01 c6             	add    %r8,%rsi
140022e43:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140022e48:	83 e8 01             	sub    $0x1,%eax
140022e4b:	0f 88 97 04 00 00    	js     0x1400232e8
140022e51:	41 89 ce             	mov    %ecx,%r14d
140022e54:	89 cb                	mov    %ecx,%ebx
140022e56:	48 63 f0             	movslq %eax,%rsi
140022e59:	83 e1 05             	and    $0x5,%ecx
140022e5c:	41 83 e6 01          	and    $0x1,%r14d
140022e60:	31 c0                	xor    %eax,%eax
140022e62:	83 e3 02             	and    $0x2,%ebx
140022e65:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
140022e69:	89 5c 24 3c          	mov    %ebx,0x3c(%rsp)
140022e6d:	45 89 f7             	mov    %r14d,%r15d
140022e70:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
140022e74:	4c 89 9c 24 a0 00 00 	mov    %r11,0xa0(%rsp)
140022e7b:	00
140022e7c:	4c 89 84 24 b0 00 00 	mov    %r8,0xb0(%rsp)
140022e83:	00
140022e84:	89 94 24 b8 00 00 00 	mov    %edx,0xb8(%rsp)
140022e8b:	e9 b9 00 00 00       	jmp    0x140022f49
140022e90:	85 c0                	test   %eax,%eax
140022e92:	0f 85 a5 00 00 00    	jne    0x140022f3d
140022e98:	4d 85 ed             	test   %r13,%r13
140022e9b:	74 0c                	je     0x140022ea9
140022e9d:	41 80 7c 35 00 04    	cmpb   $0x4,0x0(%r13,%rsi,1)
140022ea3:	0f 84 94 00 00 00    	je     0x140022f3d
140022ea9:	48 8b 0f             	mov    (%rdi),%rcx
140022eac:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
140022eb1:	4c 63 47 18          	movslq 0x18(%rdi),%r8
140022eb5:	44 8b 77 14          	mov    0x14(%rdi),%r14d
140022eb9:	48 8d 2c 01          	lea    (%rcx,%rax,1),%rbp
140022ebd:	45 85 c0             	test   %r8d,%r8d
140022ec0:	74 1e                	je     0x140022ee0
140022ec2:	f6 47 10 10          	testb  $0x10,0x10(%rdi)
140022ec6:	74 18                	je     0x140022ee0
140022ec8:	48 8b 94 24 b0 00 00 	mov    0xb0(%rsp),%rdx
140022ecf:	00
140022ed0:	e8 cb 6f 1c 00       	call   0x1401e9ea0
140022ed5:	85 c0                	test   %eax,%eax
140022ed7:	75 64                	jne    0x140022f3d
140022ed9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140022ee0:	8b 57 24             	mov    0x24(%rdi),%edx
140022ee3:	85 d2                	test   %edx,%edx
140022ee5:	0f 85 e5 01 00 00    	jne    0x1400230d0
140022eeb:	80 7d 00 00          	cmpb   $0x0,0x0(%rbp)
140022eef:	0f 84 7b 01 00 00    	je     0x140023070
140022ef5:	45 89 f1             	mov    %r14d,%r9d
140022ef8:	44 2b 8c 24 c0 00 00 	sub    0xc0(%rsp),%r9d
140022eff:	00
140022f00:	44 39 b4 24 b8 00 00 	cmp    %r14d,0xb8(%rsp)
140022f07:	00
140022f08:	0f 8d 02 01 00 00    	jge    0x140023010
140022f0e:	8b 44 24 3c          	mov    0x3c(%rsp),%eax
140022f12:	85 c0                	test   %eax,%eax
140022f14:	74 0e                	je     0x140022f24
140022f16:	49 63 c1             	movslq %r9d,%rax
140022f19:	80 7c 05 ff 2f       	cmpb   $0x2f,-0x1(%rbp,%rax,1)
140022f1e:	0f 84 24 03 00 00    	je     0x140023248
140022f24:	44 8b 4f 1c          	mov    0x1c(%rdi),%r9d
140022f28:	44 3b 4f 14          	cmp    0x14(%rdi),%r9d
140022f2c:	0f 8c ce 01 00 00    	jl     0x140023100
140022f32:	83 7c 24 38 04       	cmpl   $0x4,0x38(%rsp)
140022f37:	0f 84 f3 01 00 00    	je     0x140023130
140022f3d:	48 83 ee 01          	sub    $0x1,%rsi
140022f41:	85 f6                	test   %esi,%esi
140022f43:	0f 88 77 01 00 00    	js     0x1400230c0
140022f49:	48 8d 1c f5 00 00 00 	lea    0x0(,%rsi,8),%rbx
140022f50:	00
140022f51:	49 8b 7c 24 10       	mov    0x10(%r12),%rdi
140022f56:	48 29 f3             	sub    %rsi,%rbx
140022f59:	48 c1 e3 03          	shl    $0x3,%rbx
140022f5d:	48 01 df             	add    %rbx,%rdi
140022f60:	8b 47 10             	mov    0x10(%rdi),%eax
140022f63:	83 e0 20             	and    $0x20,%eax
140022f66:	45 85 ff             	test   %r15d,%r15d
140022f69:	0f 84 21 ff ff ff    	je     0x140022e90
140022f6f:	85 c0                	test   %eax,%eax
140022f71:	74 ca                	je     0x140022f3d
140022f73:	4d 85 ed             	test   %r13,%r13
140022f76:	0f 84 2d ff ff ff    	je     0x140022ea9
140022f7c:	41 80 7c 35 00 04    	cmpb   $0x4,0x0(%r13,%rsi,1)
140022f82:	74 b9                	je     0x140022f3d
140022f84:	41 c6 44 35 00 03    	movb   $0x3,0x0(%r13,%rsi,1)
140022f8a:	49 8b 7c 24 10       	mov    0x10(%r12),%rdi
140022f8f:	48 01 df             	add    %rbx,%rdi
140022f92:	e9 12 ff ff ff       	jmp    0x140022ea9
140022f97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140022f9e:	00 00
140022fa0:	41 f6 44 24 04 02    	testb  $0x2,0x4(%r12)
140022fa6:	74 48                	je     0x140022ff0
140022fa8:	41 83 e1 02          	and    $0x2,%r9d
140022fac:	74 42                	je     0x140022ff0
140022fae:	41 8b 4c 24 0c       	mov    0xc(%r12),%ecx
140022fb3:	83 f9 ff             	cmp    $0xffffffff,%ecx
140022fb6:	74 38                	je     0x140022ff0
140022fb8:	4c 63 f2             	movslq %edx,%r14
140022fbb:	4d 01 c6             	add    %r8,%r14
140022fbe:	4d 39 f0             	cmp    %r14,%r8
140022fc1:	73 23                	jae    0x140022fe6
140022fc3:	31 d2                	xor    %edx,%edx
140022fc5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140022fcc:	00 00 00 00
140022fd0:	48 83 c5 01          	add    $0x1,%rbp
140022fd4:	80 7d ff 2f          	cmpb   $0x2f,-0x1(%rbp)
140022fd8:	75 07                	jne    0x140022fe1
140022fda:	83 c2 01             	add    $0x1,%edx
140022fdd:	39 d1                	cmp    %edx,%ecx
140022fdf:	7c 14                	jl     0x140022ff5
140022fe1:	49 39 ee             	cmp    %rbp,%r14
140022fe4:	75 ea                	jne    0x140022fd0
140022fe6:	b8 04 00 00 00       	mov    $0x4,%eax
140022feb:	eb 08                	jmp    0x140022ff5
140022fed:	0f 1f 00             	nopl   (%rax)
140022ff0:	b8 01 00 00 00       	mov    $0x1,%eax
140022ff5:	48 83 c4 58          	add    $0x58,%rsp
140022ff9:	5b                   	pop    %rbx
140022ffa:	5e                   	pop    %rsi
140022ffb:	5f                   	pop    %rdi
140022ffc:	5d                   	pop    %rbp
140022ffd:	41 5c                	pop    %r12
140022fff:	41 5d                	pop    %r13
140023001:	41 5e                	pop    %r14
140023003:	41 5f                	pop    %r15
140023005:	c3                   	ret
140023006:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14002300d:	00 00 00
140023010:	4d 63 c1             	movslq %r9d,%r8
140023013:	f6 47 10 10          	testb  $0x10,0x10(%rdi)
140023017:	44 89 4c 24 4c       	mov    %r9d,0x4c(%rsp)
14002301c:	48 89 e9             	mov    %rbp,%rcx
14002301f:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
140023024:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140023029:	0f 85 71 02 00 00    	jne    0x1400232a0
14002302f:	e8 6c 6e 1c 00       	call   0x1401e9ea0
140023034:	44 8b 4c 24 4c       	mov    0x4c(%rsp),%r9d
140023039:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
14002303e:	85 c0                	test   %eax,%eax
140023040:	0f 85 c8 fe ff ff    	jne    0x140022f0e
140023046:	44 39 b4 24 b8 00 00 	cmp    %r14d,0xb8(%rsp)
14002304d:	00
14002304e:	0f 84 27 02 00 00    	je     0x14002327b
140023054:	42 80 7c 05 ff 2f    	cmpb   $0x2f,-0x1(%rbp,%r8,1)
14002305a:	74 14                	je     0x140023070
14002305c:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140023061:	42 80 3c 00 2f       	cmpb   $0x2f,(%rax,%r8,1)
140023066:	0f 85 b8 fe ff ff    	jne    0x140022f24
14002306c:	0f 1f 40 00          	nopl   0x0(%rax)
140023070:	41 f6 44 24 04 02    	testb  $0x2,0x4(%r12)
140023076:	74 0c                	je     0x140023084
140023078:	41 f6 44 24 08 02    	testb  $0x2,0x8(%r12)
14002307e:	0f 85 44 01 00 00    	jne    0x1400231c8
140023084:	b8 01 00 00 00       	mov    $0x1,%eax
140023089:	4d 85 ed             	test   %r13,%r13
14002308c:	74 0f                	je     0x14002309d
14002308e:	41 0f be 54 35 00    	movsbl 0x0(%r13,%rsi,1),%edx
140023094:	39 d0                	cmp    %edx,%eax
140023096:	7e 05                	jle    0x14002309d
140023098:	41 88 44 35 00       	mov    %al,0x0(%r13,%rsi,1)
14002309d:	8b 54 24 2c          	mov    0x2c(%rsp),%edx
1400230a1:	39 c2                	cmp    %eax,%edx
1400230a3:	0f 4d c2             	cmovge %edx,%eax
1400230a6:	48 83 ee 01          	sub    $0x1,%rsi
1400230aa:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
1400230ae:	85 f6                	test   %esi,%esi
1400230b0:	0f 89 93 fe ff ff    	jns    0x140022f49
1400230b6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1400230bd:	00 00 00
1400230c0:	8b 44 24 2c          	mov    0x2c(%rsp),%eax
1400230c4:	e9 2c ff ff ff       	jmp    0x140022ff5
1400230c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400230d0:	44 8b 84 24 b8 00 00 	mov    0xb8(%rsp),%r8d
1400230d7:	00
1400230d8:	48 8b 94 24 b0 00 00 	mov    0xb0(%rsp),%rdx
1400230df:	00
1400230e0:	49 89 f9             	mov    %rdi,%r9
1400230e3:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
1400230ea:	00
1400230eb:	e8 10 95 02 00       	call   0x14004c600
1400230f0:	85 c0                	test   %eax,%eax
1400230f2:	0f 85 f3 fd ff ff    	jne    0x140022eeb
1400230f8:	e9 40 fe ff ff       	jmp    0x140022f3d
1400230fd:	0f 1f 00             	nopl   (%rax)
140023100:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140023105:	44 2b 8c 24 c0 00 00 	sub    0xc0(%rsp),%r9d
14002310c:	00
14002310d:	48 89 ea             	mov    %rbp,%rdx
140023110:	48 89 f9             	mov    %rdi,%rcx
140023113:	e8 e8 fb ff ff       	call   0x140022d00
140023118:	85 c0                	test   %eax,%eax
14002311a:	0f 85 12 fe ff ff    	jne    0x140022f32
140023120:	b8 03 00 00 00       	mov    $0x3,%eax
140023125:	e9 5f ff ff ff       	jmp    0x140023089
14002312a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140023130:	44 39 b4 24 b8 00 00 	cmp    %r14d,0xb8(%rsp)
140023137:	00
140023138:	7c 46                	jl     0x140023180
14002313a:	44 8b 47 1c          	mov    0x1c(%rdi),%r8d
14002313e:	8b 47 14             	mov    0x14(%rdi),%eax
140023141:	41 39 c0             	cmp    %eax,%r8d
140023144:	0f 8c 6e 01 00 00    	jl     0x1400232b8
14002314a:	41 39 c0             	cmp    %eax,%r8d
14002314d:	0f 84 ea fd ff ff    	je     0x140022f3d
140023153:	41 f6 44 24 04 02    	testb  $0x2,0x4(%r12)
140023159:	74 15                	je     0x140023170
14002315b:	41 f6 44 24 08 02    	testb  $0x2,0x8(%r12)
140023161:	74 0d                	je     0x140023170
140023163:	45 8b 44 24 0c       	mov    0xc(%r12),%r8d
140023168:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
14002316c:	75 69                	jne    0x1400231d7
14002316e:	66 90                	xchg   %ax,%ax
140023170:	b8 02 00 00 00       	mov    $0x2,%eax
140023175:	e9 0f ff ff ff       	jmp    0x140023089
14002317a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140023180:	4c 63 44 24 48       	movslq 0x48(%rsp),%r8
140023185:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14002318a:	31 d2                	xor    %edx,%edx
14002318c:	42 80 7c 01 ff 2f    	cmpb   $0x2f,-0x1(%rcx,%r8,1)
140023192:	4c 89 c0             	mov    %r8,%rax
140023195:	0f 94 c2             	sete   %dl
140023198:	29 d0                	sub    %edx,%eax
14002319a:	48 98                	cltq
14002319c:	80 7c 05 00 2f       	cmpb   $0x2f,0x0(%rbp,%rax,1)
1400231a1:	75 97                	jne    0x14002313a
1400231a3:	f6 47 10 10          	testb  $0x10,0x10(%rdi)
1400231a7:	0f 85 5c 01 00 00    	jne    0x140023309
1400231ad:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1400231b2:	48 89 e9             	mov    %rbp,%rcx
1400231b5:	e8 e6 6c 1c 00       	call   0x1401e9ea0
1400231ba:	85 c0                	test   %eax,%eax
1400231bc:	0f 85 78 ff ff ff    	jne    0x14002313a
1400231c2:	eb 8f                	jmp    0x140023153
1400231c4:	0f 1f 40 00          	nopl   0x0(%rax)
1400231c8:	45 8b 44 24 0c       	mov    0xc(%r12),%r8d
1400231cd:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
1400231d1:	0f 84 ad fe ff ff    	je     0x140023084
1400231d7:	49 8b 44 24 10       	mov    0x10(%r12),%rax
1400231dc:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400231e1:	48 63 44 18 14       	movslq 0x14(%rax,%rbx,1),%rax
1400231e6:	48 89 c2             	mov    %rax,%rdx
1400231e9:	48 01 c8             	add    %rcx,%rax
1400231ec:	80 38 2f             	cmpb   $0x2f,(%rax)
1400231ef:	75 0e                	jne    0x1400231ff
1400231f1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400231f6:	83 c2 01             	add    $0x1,%edx
1400231f9:	48 63 c2             	movslq %edx,%rax
1400231fc:	48 01 c8             	add    %rcx,%rax
1400231ff:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
140023203:	29 d1                	sub    %edx,%ecx
140023205:	48 63 c9             	movslq %ecx,%rcx
140023208:	48 01 c1             	add    %rax,%rcx
14002320b:	48 39 c8             	cmp    %rcx,%rax
14002320e:	73 2b                	jae    0x14002323b
140023210:	31 d2                	xor    %edx,%edx
140023212:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140023219:	00 00 00 00
14002321d:	0f 1f 00             	nopl   (%rax)
140023220:	48 83 c0 01          	add    $0x1,%rax
140023224:	80 78 ff 2f          	cmpb   $0x2f,-0x1(%rax)
140023228:	75 0c                	jne    0x140023236
14002322a:	83 c2 01             	add    $0x1,%edx
14002322d:	44 39 c2             	cmp    %r8d,%edx
140023230:	0f 8f 07 fd ff ff    	jg     0x140022f3d
140023236:	48 39 c1             	cmp    %rax,%rcx
140023239:	75 e5                	jne    0x140023220
14002323b:	b8 04 00 00 00       	mov    $0x4,%eax
140023240:	e9 44 fe ff ff       	jmp    0x140023089
140023245:	0f 1f 00             	nopl   (%rax)
140023248:	41 83 e9 01          	sub    $0x1,%r9d
14002324c:	44 39 4c 24 48       	cmp    %r9d,0x48(%rsp)
140023251:	0f 85 cd fc ff ff    	jne    0x140022f24
140023257:	4c 63 44 24 48       	movslq 0x48(%rsp),%r8
14002325c:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140023261:	48 89 e9             	mov    %rbp,%rcx
140023264:	f6 47 10 10          	testb  $0x10,0x10(%rdi)
140023268:	0f 85 ac 00 00 00    	jne    0x14002331a
14002326e:	e8 2d 6c 1c 00       	call   0x1401e9ea0
140023273:	85 c0                	test   %eax,%eax
140023275:	0f 85 a9 fc ff ff    	jne    0x140022f24
14002327b:	41 f6 44 24 04 02    	testb  $0x2,0x4(%r12)
140023281:	74 b8                	je     0x14002323b
140023283:	41 f6 44 24 08 02    	testb  $0x2,0x8(%r12)
140023289:	74 b0                	je     0x14002323b
14002328b:	45 8b 44 24 0c       	mov    0xc(%r12),%r8d
140023290:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
140023294:	0f 85 3d ff ff ff    	jne    0x1400231d7
14002329a:	eb 9f                	jmp    0x14002323b
14002329c:	0f 1f 40 00          	nopl   0x0(%rax)
1400232a0:	ff 15 1a c2 28 00    	call   *0x28c21a(%rip)        # 0x1402af4c0
1400232a6:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
1400232ab:	44 8b 4c 24 4c       	mov    0x4c(%rsp),%r9d
1400232b0:	e9 89 fd ff ff       	jmp    0x14002303e
1400232b5:	0f 1f 00             	nopl   (%rax)
1400232b8:	44 2b 84 24 c0 00 00 	sub    0xc0(%rsp),%r8d
1400232bf:	00
1400232c0:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1400232c5:	48 89 e9             	mov    %rbp,%rcx
1400232c8:	4d 63 c0             	movslq %r8d,%r8
1400232cb:	f6 47 10 10          	testb  $0x10,0x10(%rdi)
1400232cf:	75 1e                	jne    0x1400232ef
1400232d1:	e8 ca 6b 1c 00       	call   0x1401e9ea0
1400232d6:	85 c0                	test   %eax,%eax
1400232d8:	0f 84 75 fe ff ff    	je     0x140023153
1400232de:	e9 5a fc ff ff       	jmp    0x140022f3d
1400232e3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400232e8:	31 c0                	xor    %eax,%eax
1400232ea:	e9 06 fd ff ff       	jmp    0x140022ff5
1400232ef:	ff 15 cb c1 28 00    	call   *0x28c1cb(%rip)        # 0x1402af4c0
1400232f5:	85 c0                	test   %eax,%eax
1400232f7:	0f 85 40 fc ff ff    	jne    0x140022f3d
1400232fd:	44 8b 47 1c          	mov    0x1c(%rdi),%r8d
140023301:	8b 47 14             	mov    0x14(%rdi),%eax
140023304:	e9 41 fe ff ff       	jmp    0x14002314a
140023309:	48 89 ca             	mov    %rcx,%rdx
14002330c:	48 89 e9             	mov    %rbp,%rcx
14002330f:	ff 15 ab c1 28 00    	call   *0x28c1ab(%rip)        # 0x1402af4c0
140023315:	e9 a0 fe ff ff       	jmp    0x1400231ba
14002331a:	ff 15 a0 c1 28 00    	call   *0x28c1a0(%rip)        # 0x1402af4c0
140023320:	e9 4e ff ff ff       	jmp    0x140023273
140023325:	41 83 e1 80          	and    $0xffffff80,%r9d
140023329:	4c 8d 05 f0 73 1d 00 	lea    0x1d73f0(%rip),%r8        # 0x1401fa720
140023330:	ba eb 01 00 00       	mov    $0x1eb,%edx
140023335:	48 8d 0d f9 73 1d 00 	lea    0x1d73f9(%rip),%rcx        # 0x1401fa735
14002333c:	e8 4f 04 0a 00       	call   0x1400c3790
140023341:	90                   	nop
140023342:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140023349:	00 00 00 00
14002334d:	0f 1f 00             	nopl   (%rax)
140023350:	41 57                	push   %r15
140023352:	41 56                	push   %r14
140023354:	41 55                	push   %r13
140023356:	41 54                	push   %r12
140023358:	55                   	push   %rbp
140023359:	57                   	push   %rdi
14002335a:	56                   	push   %rsi
14002335b:	53                   	push   %rbx
14002335c:	48 83 ec 48          	sub    $0x48,%rsp
140023360:	44 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%r13d
140023367:	00
140023368:	4c 8b b4 24 b8 00 00 	mov    0xb8(%rsp),%r14
14002336f:	00
140023370:	44 8b a4 24 c0 00 00 	mov    0xc0(%rsp),%r12d
140023377:	00
140023378:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14002337d:	48 89 cf             	mov    %rcx,%rdi