421e6e:	3b 47 0c             	cmp    0xc(%edi),%eax
421e71:	76 0c                	jbe    0x421e7f
421e73:	50                   	push   %eax
421e74:	8b cf                	mov    %edi,%ecx
421e76:	e8 13 05 00 00       	call   0x42238e
421e7b:	85 c0                	test   %eax,%eax
421e7d:	75 32                	jne    0x421eb1
421e7f:	ff 77 0c             	push   0xc(%edi)
421e82:	8b 4d 10             	mov    0x10(%ebp),%ecx
421e85:	ff 77 08             	push   0x8(%edi)
421e88:	56                   	push   %esi
421e89:	ff 75 14             	push   0x14(%ebp)
421e8c:	e8 d2 e7 ff ff       	call   0x420663
421e91:	85 c0                	test   %eax,%eax
421e93:	75 16                	jne    0x421eab
421e95:	ff 15 08 11 43 00    	call   *0x431108
421e9b:	50                   	push   %eax
421e9c:	e8 76 a7 ff ff       	call   0x41c617
421ea1:	59                   	pop    %ecx
421ea2:	e8 ca a7 ff ff       	call   0x41c671
421ea7:	8b 00                	mov    (%eax),%eax
421ea9:	eb 06                	jmp    0x421eb1
421eab:	48                   	dec    %eax
421eac:	89 47 10             	mov    %eax,0x10(%edi)
421eaf:	33 c0                	xor    %eax,%eax
421eb1:	5f                   	pop    %edi
421eb2:	5e                   	pop    %esi
421eb3:	5b                   	pop    %ebx
421eb4:	5d                   	pop    %ebp
421eb5:	c3                   	ret
421eb6:	8b ff                	mov    %edi,%edi
421eb8:	55                   	push   %ebp
421eb9:	8b ec                	mov    %esp,%ebp
421ebb:	8b 45 0c             	mov    0xc(%ebp),%eax
421ebe:	83 ec 20             	sub    $0x20,%esp
421ec1:	56                   	push   %esi
421ec2:	85 c0                	test   %eax,%eax
421ec4:	75 16                	jne    0x421edc
421ec6:	e8 a6 a7 ff ff       	call   0x41c671
421ecb:	6a 16                	push   $0x16
421ecd:	5e                   	pop    %esi
421ece:	89 30                	mov    %esi,(%eax)
421ed0:	e8 19 b5 fe ff       	call   0x40d3ee
421ed5:	8b c6                	mov    %esi,%eax
421ed7:	e9 47 01 00 00       	jmp    0x422023
421edc:	83 20 00             	andl   $0x0,(%eax)
421edf:	33 c9                	xor    %ecx,%ecx
421ee1:	21 4d e8             	and    %ecx,-0x18(%ebp)
421ee4:	53                   	push   %ebx
421ee5:	8b 5d 08             	mov    0x8(%ebp),%ebx
421ee8:	57                   	push   %edi
421ee9:	33 ff                	xor    %edi,%edi
421eeb:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
421eee:	89 7d e0             	mov    %edi,-0x20(%ebp)
421ef1:	8b 03                	mov    (%ebx),%eax
421ef3:	85 c0                	test   %eax,%eax
421ef5:	74 56                	je     0x421f4d
421ef7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
421efa:	66 c7 45 fc 2a 3f    	movw   $0x3f2a,-0x4(%ebp)
421f00:	51                   	push   %ecx
421f01:	50                   	push   %eax
421f02:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
421f06:	e8 75 88 00 00       	call   0x42a780
421f0b:	59                   	pop    %ecx
421f0c:	59                   	pop    %ecx
421f0d:	85 c0                	test   %eax,%eax
421f0f:	75 1a                	jne    0x421f2b
421f11:	8d 45 e0             	lea    -0x20(%ebp),%eax
421f14:	50                   	push   %eax
421f15:	33 c0                	xor    %eax,%eax
421f17:	50                   	push   %eax
421f18:	50                   	push   %eax
421f19:	ff 33                	push   (%ebx)
421f1b:	e8 13 01 00 00       	call   0x422033
421f20:	8b f0                	mov    %eax,%esi
421f22:	83 c4 10             	add    $0x10,%esp
421f25:	85 f6                	test   %esi,%esi
421f27:	75 74                	jne    0x421f9d
421f29:	eb 13                	jmp    0x421f3e
421f2b:	8d 4d e0             	lea    -0x20(%ebp),%ecx
421f2e:	51                   	push   %ecx
421f2f:	50                   	push   %eax
421f30:	ff 33                	push   (%ebx)
421f32:	e8 ad 01 00 00       	call   0x4220e4
421f37:	83 c4 0c             	add    $0xc,%esp
421f3a:	85 c0                	test   %eax,%eax
421f3c:	75 1d                	jne    0x421f5b
421f3e:	83 c3 04             	add    $0x4,%ebx
421f41:	8b 03                	mov    (%ebx),%eax
421f43:	85 c0                	test   %eax,%eax
421f45:	75 b0                	jne    0x421ef7
421f47:	8b 7d e0             	mov    -0x20(%ebp),%edi
421f4a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
421f4d:	8b d9                	mov    %ecx,%ebx
421f4f:	8b f7                	mov    %edi,%esi
421f51:	2b df                	sub    %edi,%ebx
421f53:	c1 fb 02             	sar    $0x2,%ebx
421f56:	43                   	inc    %ebx
421f57:	33 c0                	xor    %eax,%eax
421f59:	eb 1f                	jmp    0x421f7a
421f5b:	8b f0                	mov    %eax,%esi
421f5d:	eb 3e                	jmp    0x421f9d
421f5f:	8b 16                	mov    (%esi),%edx
421f61:	8d 42 01             	lea    0x1(%edx),%eax
421f64:	89 45 f4             	mov    %eax,-0xc(%ebp)
421f67:	8a 02                	mov    (%edx),%al
421f69:	42                   	inc    %edx
421f6a:	84 c0                	test   %al,%al
421f6c:	75 f9                	jne    0x421f67
421f6e:	8b 45 f8             	mov    -0x8(%ebp),%eax
421f71:	2b 55 f4             	sub    -0xc(%ebp),%edx
421f74:	40                   	inc    %eax
421f75:	03 c2                	add    %edx,%eax
421f77:	83 c6 04             	add    $0x4,%esi
421f7a:	89 45 f8             	mov    %eax,-0x8(%ebp)
421f7d:	3b f1                	cmp    %ecx,%esi
421f7f:	75 de                	jne    0x421f5f
421f81:	6a 01                	push   $0x1
421f83:	50                   	push   %eax
421f84:	53                   	push   %ebx
421f85:	e8 04 79 ff ff       	call   0x41988e
421f8a:	8b f0                	mov    %eax,%esi
421f8c:	83 c4 0c             	add    $0xc,%esp
421f8f:	85 f6                	test   %esi,%esi
421f91:	75 16                	jne    0x421fa9
421f93:	50                   	push   %eax
421f94:	e8 77 4c fe ff       	call   0x406c10
421f99:	59                   	pop    %ecx
421f9a:	83 ce ff             	or     $0xffffffff,%esi
421f9d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
421fa0:	e8 c4 03 00 00       	call   0x422369
421fa5:	8b c6                	mov    %esi,%eax
421fa7:	eb 78                	jmp    0x422021
421fa9:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
421fac:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
421faf:	89 45 f0             	mov    %eax,-0x10(%ebp)
421fb2:	8b d0                	mov    %eax,%edx
421fb4:	89 55 fc             	mov    %edx,-0x4(%ebp)
421fb7:	3b fb                	cmp    %ebx,%edi
421fb9:	74 4e                	je     0x422009
421fbb:	8b c6                	mov    %esi,%eax
421fbd:	2b c7                	sub    %edi,%eax
421fbf:	89 45 ec             	mov    %eax,-0x14(%ebp)
421fc2:	8b 0f                	mov    (%edi),%ecx
421fc4:	8d 41 01             	lea    0x1(%ecx),%eax
421fc7:	89 45 f4             	mov    %eax,-0xc(%ebp)
421fca:	8a 01                	mov    (%ecx),%al
421fcc:	41                   	inc    %ecx
421fcd:	84 c0                	test   %al,%al
421fcf:	75 f9                	jne    0x421fca
421fd1:	2b 4d f4             	sub    -0xc(%ebp),%ecx
421fd4:	8d 41 01             	lea    0x1(%ecx),%eax
421fd7:	50                   	push   %eax
421fd8:	ff 37                	push   (%edi)
421fda:	89 45 f4             	mov    %eax,-0xc(%ebp)
421fdd:	8b 45 f0             	mov    -0x10(%ebp),%eax
421fe0:	2b c2                	sub    %edx,%eax
421fe2:	03 45 f8             	add    -0x8(%ebp),%eax
421fe5:	50                   	push   %eax
421fe6:	52                   	push   %edx
421fe7:	e8 89 87 00 00       	call   0x42a775
421fec:	83 c4 10             	add    $0x10,%esp
421fef:	85 c0                	test   %eax,%eax
421ff1:	75 33                	jne    0x422026
421ff3:	8b 45 ec             	mov    -0x14(%ebp),%eax
421ff6:	8b 55 fc             	mov    -0x4(%ebp),%edx
421ff9:	89 14 38             	mov    %edx,(%eax,%edi,1)
421ffc:	83 c7 04             	add    $0x4,%edi
421fff:	03 55 f4             	add    -0xc(%ebp),%edx
422002:	89 55 fc             	mov    %edx,-0x4(%ebp)
422005:	3b fb                	cmp    %ebx,%edi
422007:	75 b9                	jne    0x421fc2
422009:	8b 45 0c             	mov    0xc(%ebp),%eax
42200c:	89 30                	mov    %esi,(%eax)
42200e:	33 c0                	xor    %eax,%eax
422010:	50                   	push   %eax
422011:	e8 fa 4b fe ff       	call   0x406c10
422016:	59                   	pop    %ecx
422017:	8d 4d e0             	lea    -0x20(%ebp),%ecx
42201a:	e8 4a 03 00 00       	call   0x422369
42201f:	33 c0                	xor    %eax,%eax
422021:	5f                   	pop    %edi
422022:	5b                   	pop    %ebx
422023:	5e                   	pop    %esi
422024:	c9                   	leave
422025:	c3                   	ret
422026:	33 c0                	xor    %eax,%eax
422028:	50                   	push   %eax
422029:	50                   	push   %eax
42202a:	50                   	push   %eax
42202b:	50                   	push   %eax
42202c:	50                   	push   %eax
42202d:	e8 e9 b3 fe ff       	call   0x40d41b
422032:	cc                   	int3
422033:	8b ff                	mov    %edi,%edi
422035:	55                   	push   %ebp
422036:	8b ec                	mov    %esp,%ebp
422038:	51                   	push   %ecx
422039:	8b 4d 08             	mov    0x8(%ebp),%ecx
42203c:	8d 51 01             	lea    0x1(%ecx),%edx
42203f:	8a 01                	mov    (%ecx),%al
422041:	41                   	inc    %ecx
422042:	84 c0                	test   %al,%al
422044:	75 f9                	jne    0x42203f
422046:	57                   	push   %edi
422047:	8b 7d 10             	mov    0x10(%ebp),%edi
42204a:	2b ca                	sub    %edx,%ecx
42204c:	8b c7                	mov    %edi,%eax
42204e:	41                   	inc    %ecx
42204f:	f7 d0                	not    %eax
422051:	89 4d fc             	mov    %ecx,-0x4(%ebp)
422054:	3b c8                	cmp    %eax,%ecx
422056:	76 06                	jbe    0x42205e
422058:	6a 0c                	push   $0xc
42205a:	58                   	pop    %eax
42205b:	5f                   	pop    %edi
42205c:	c9                   	leave
42205d:	c3                   	ret
42205e:	53                   	push   %ebx
42205f:	56                   	push   %esi
422060:	8d 5f 01             	lea    0x1(%edi),%ebx
422063:	03 d9                	add    %ecx,%ebx
422065:	6a 01                	push   $0x1
422067:	53                   	push   %ebx
422068:	e8 43 4b fe ff       	call   0x406bb0
42206d:	8b f0                	mov    %eax,%esi
42206f:	59                   	pop    %ecx
422070:	59                   	pop    %ecx
422071:	85 ff                	test   %edi,%edi
422073:	74 12                	je     0x422087
422075:	57                   	push   %edi
422076:	ff 75 0c             	push   0xc(%ebp)
422079:	53                   	push   %ebx
42207a:	56                   	push   %esi
42207b:	e8 f5 86 00 00       	call   0x42a775
422080:	83 c4 10             	add    $0x10,%esp
422083:	85 c0                	test   %eax,%eax
422085:	75 50                	jne    0x4220d7
422087:	ff 75 fc             	push   -0x4(%ebp)
42208a:	2b df                	sub    %edi,%ebx
42208c:	8d 04 3e             	lea    (%esi,%edi,1),%eax
42208f:	ff 75 08             	push   0x8(%ebp)
422092:	53                   	push   %ebx
422093:	50                   	push   %eax
422094:	e8 dc 86 00 00       	call   0x42a775
422099:	83 c4 10             	add    $0x10,%esp
42209c:	85 c0                	test   %eax,%eax
42209e:	75 37                	jne    0x4220d7
4220a0:	8b 5d 14             	mov    0x14(%ebp),%ebx
4220a3:	8b cb                	mov    %ebx,%ecx
4220a5:	e8 20 03 00 00       	call   0x4223ca
4220aa:	33 ff                	xor    %edi,%edi
4220ac:	89 45 fc             	mov    %eax,-0x4(%ebp)
4220af:	85 c0                	test   %eax,%eax
4220b1:	74 0c                	je     0x4220bf
4220b3:	56                   	push   %esi
4220b4:	e8 57 4b fe ff       	call   0x406c10
4220b9:	8b 75 fc             	mov    -0x4(%ebp),%esi
4220bc:	59                   	pop    %ecx
4220bd:	eb 0b                	jmp    0x4220ca
4220bf:	8b 43 04             	mov    0x4(%ebx),%eax
4220c2:	89 30                	mov    %esi,(%eax)
4220c4:	8b f7                	mov    %edi,%esi
4220c6:	83 43 04 04          	addl   $0x4,0x4(%ebx)
4220ca:	57                   	push   %edi
4220cb:	e8 40 4b fe ff       	call   0x406c10
4220d0:	59                   	pop    %ecx
4220d1:	8b c6                	mov    %esi,%eax
4220d3:	5e                   	pop    %esi
4220d4:	5b                   	pop    %ebx
4220d5:	eb 84                	jmp    0x42205b
4220d7:	33 ff                	xor    %edi,%edi
4220d9:	57                   	push   %edi
4220da:	57                   	push   %edi
4220db:	57                   	push   %edi
4220dc:	57                   	push   %edi
4220dd:	57                   	push   %edi
4220de:	e8 38 b3 fe ff       	call   0x40d41b
4220e3:	cc                   	int3
4220e4:	8b ff                	mov    %edi,%edi
4220e6:	55                   	push   %ebp
4220e7:	8b ec                	mov    %esp,%ebp
4220e9:	81 ec 98 02 00 00    	sub    $0x298,%esp
4220ef:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4220f4:	33 c5                	xor    %ebp,%eax
4220f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4220f9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4220fc:	8b 55 10             	mov    0x10(%ebp),%edx
4220ff:	53                   	push   %ebx
422100:	57                   	push   %edi
422101:	8b 7d 08             	mov    0x8(%ebp),%edi
422104:	89 95 a4 fd ff ff    	mov    %edx,-0x25c(%ebp)
42210a:	3b cf                	cmp    %edi,%ecx
42210c:	74 23                	je     0x422131
42210e:	8a 01                	mov    (%ecx),%al
422110:	3c 2f                	cmp    $0x2f,%al
422112:	74 17                	je     0x42212b
422114:	3c 5c                	cmp    $0x5c,%al
422116:	74 13                	je     0x42212b
422118:	3c 3a                	cmp    $0x3a,%al
42211a:	74 0f                	je     0x42212b
42211c:	51                   	push   %ecx
42211d:	57                   	push   %edi
42211e:	e8 9d 86 00 00       	call   0x42a7c0
422123:	59                   	pop    %ecx
422124:	59                   	pop    %ecx
422125:	8b c8                	mov    %eax,%ecx
422127:	3b cf                	cmp    %edi,%ecx
422129:	75 e3                	jne    0x42210e
42212b:	8b 95 a4 fd ff ff    	mov    -0x25c(%ebp),%edx
422131:	8a 01                	mov    (%ecx),%al
422133:	88 85 ab fd ff ff    	mov    %al,-0x255(%ebp)
422139:	3c 3a                	cmp    $0x3a,%al
42213b:	75 20                	jne    0x42215d
42213d:	8d 47 01             	lea    0x1(%edi),%eax
422140:	3b c8                	cmp    %eax,%ecx
422142:	74 13                	je     0x422157
422144:	52                   	push   %edx
422145:	33 db                	xor    %ebx,%ebx
422147:	53                   	push   %ebx
422148:	53                   	push   %ebx
422149:	57                   	push   %edi
42214a:	e8 e4 fe ff ff       	call   0x422033
42214f:	83 c4 10             	add    $0x10,%esp
422152:	e9 04 02 00 00       	jmp    0x42235b
422157:	8a 85 ab fd ff ff    	mov    -0x255(%ebp),%al
42215d:	33 db                	xor    %ebx,%ebx
42215f:	3c 2f                	cmp    $0x2f,%al
422161:	74 0a                	je     0x42216d
422163:	3c 5c                	cmp    $0x5c,%al
422165:	74 06                	je     0x42216d
422167:	3c 3a                	cmp    $0x3a,%al
422169:	8a c3                	mov    %bl,%al
42216b:	75 02                	jne    0x42216f
42216d:	b0 01                	mov    $0x1,%al
42216f:	2b cf                	sub    %edi,%ecx
422171:	0f b6 c0             	movzbl %al,%eax
422174:	41                   	inc    %ecx
422175:	89 9d 74 fd ff ff    	mov    %ebx,-0x28c(%ebp)
42217b:	f7 d8                	neg    %eax
42217d:	89 9d 78 fd ff ff    	mov    %ebx,-0x288(%ebp)
422183:	56                   	push   %esi
422184:	1b c0                	sbb    %eax,%eax
422186:	89 9d 7c fd ff ff    	mov    %ebx,-0x284(%ebp)
42218c:	23 c1                	and    %ecx,%eax
42218e:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
422194:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
42219a:	89 9d 84 fd ff ff    	mov    %ebx,-0x27c(%ebp)
4221a0:	88 9d 88 fd ff ff    	mov    %bl,-0x278(%ebp)
4221a6:	e8 1d 64 ff ff       	call   0x4185c8