408b43:	83 ca ff             	or     $0xffffffff,%edx
408b46:	33 db                	xor    %ebx,%ebx
408b48:	39 56 04             	cmp    %edx,0x4(%esi)
408b4b:	75 13                	jne    0x408b60
408b4d:	38 5e 14             	cmp    %bl,0x14(%esi)
408b50:	74 5f                	je     0x408bb1
408b52:	8d 46 1e             	lea    0x1e(%esi),%eax
408b55:	50                   	push   %eax
408b56:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
408b5b:	e8 dc d9 ff ff       	call   0x40653c
408b60:	57                   	push   %edi
408b61:	6a 01                	push   $0x1
408b63:	8d 45 fc             	lea    -0x4(%ebp),%eax
408b66:	50                   	push   %eax
408b67:	53                   	push   %ebx
408b68:	ff 76 04             	push   0x4(%esi)
408b6b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408b6e:	ff 15 e4 a1 42 00    	call   *0x42a1e4
408b74:	8b f8                	mov    %eax,%edi
408b76:	83 ff ff             	cmp    $0xffffffff,%edi
408b79:	75 1d                	jne    0x408b98
408b7b:	ff 15 24 a2 42 00    	call   *0x42a224
408b81:	85 c0                	test   %eax,%eax
408b83:	74 13                	je     0x408b98
408b85:	38 5e 14             	cmp    %bl,0x14(%esi)
408b88:	74 2b                	je     0x408bb5
408b8a:	83 c6 1e             	add    $0x1e,%esi
408b8d:	56                   	push   %esi
408b8e:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
408b93:	e8 a4 d9 ff ff       	call   0x40653c
408b98:	8b 45 fc             	mov    -0x4(%ebp),%eax
408b9b:	6a 01                	push   $0x1
408b9d:	99                   	cltd
408b9e:	53                   	push   %ebx
408b9f:	52                   	push   %edx
408ba0:	50                   	push   %eax
408ba1:	e8 0a 1a 01 00       	call   0x41a5b0
408ba6:	33 c9                	xor    %ecx,%ecx
408ba8:	03 c7                	add    %edi,%eax
408baa:	13 d1                	adc    %ecx,%edx
408bac:	5f                   	pop    %edi
408bad:	5e                   	pop    %esi
408bae:	5b                   	pop    %ebx
408baf:	c9                   	leave
408bb0:	c3                   	ret
408bb1:	8b c2                	mov    %edx,%eax
408bb3:	eb f8                	jmp    0x408bad
408bb5:	83 ca ff             	or     $0xffffffff,%edx
408bb8:	8b c2                	mov    %edx,%eax
408bba:	eb f0                	jmp    0x408bac
408bbc:	55                   	push   %ebp
408bbd:	8b ec                	mov    %esp,%ebp
408bbf:	51                   	push   %ecx
408bc0:	8b 01                	mov    (%ecx),%eax
408bc2:	6a 01                	push   $0x1
408bc4:	8d 55 ff             	lea    -0x1(%ebp),%edx
408bc7:	52                   	push   %edx
408bc8:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
408bcc:	ff 50 08             	call   *0x8(%eax)
408bcf:	8a 45 ff             	mov    -0x1(%ebp),%al
408bd2:	c9                   	leave
408bd3:	c3                   	ret
408bd4:	ff 71 04             	push   0x4(%ecx)
408bd7:	ff 15 e0 a1 42 00    	call   *0x42a1e0
408bdd:	48                   	dec    %eax
408bde:	f7 d8                	neg    %eax
408be0:	1b c0                	sbb    %eax,%eax
408be2:	40                   	inc    %eax
408be3:	c3                   	ret
408be4:	c2 08 00             	ret    $0x8
408be7:	8b 41 04             	mov    0x4(%ecx),%eax
408bea:	83 f8 ff             	cmp    $0xffffffff,%eax
408bed:	75 03                	jne    0x408bf2
408bef:	32 c0                	xor    %al,%al
408bf1:	c3                   	ret
408bf2:	50                   	push   %eax
408bf3:	ff 15 28 a1 42 00    	call   *0x42a128
408bf9:	83 f8 02             	cmp    $0x2,%eax
408bfc:	74 08                	je     0x408c06
408bfe:	83 f8 03             	cmp    $0x3,%eax
408c01:	74 03                	je     0x408c06
408c03:	33 c0                	xor    %eax,%eax
408c05:	c3                   	ret
408c06:	33 c0                	xor    %eax,%eax
408c08:	40                   	inc    %eax
408c09:	c3                   	ret
408c0a:	83 79 04 ff          	cmpl   $0xffffffff,0x4(%ecx)
408c0e:	c7 01 14 a6 42 00    	movl   $0x42a614,(%ecx)
408c14:	74 16                	je     0x408c2c
408c16:	80 79 10 00          	cmpb   $0x0,0x10(%ecx)
408c1a:	75 10                	jne    0x408c2c
408c1c:	80 79 12 00          	cmpb   $0x0,0x12(%ecx)
408c20:	74 05                	je     0x408c27
408c22:	e9 f6 fd ff ff       	jmp    0x408a1d
408c27:	e9 a3 fd ff ff       	jmp    0x4089cf
408c2c:	c3                   	ret
408c2d:	55                   	push   %ebp
408c2e:	8b ec                	mov    %esp,%ebp
408c30:	51                   	push   %ecx
408c31:	53                   	push   %ebx
408c32:	56                   	push   %esi
408c33:	8b f1                	mov    %ecx,%esi
408c35:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
408c39:	57                   	push   %edi
408c3a:	bf 20 4e 00 00       	mov    $0x4e20,%edi
408c3f:	75 13                	jne    0x408c54
408c41:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408c44:	76 03                	jbe    0x408c49
408c46:	89 7d 0c             	mov    %edi,0xc(%ebp)
408c49:	6a f6                	push   $0xfffffff6
408c4b:	ff 15 ec a1 42 00    	call   *0x42a1ec
408c51:	89 46 04             	mov    %eax,0x4(%esi)
408c54:	6a 00                	push   $0x0
408c56:	8d 45 fc             	lea    -0x4(%ebp),%eax
408c59:	50                   	push   %eax
408c5a:	ff 75 0c             	push   0xc(%ebp)
408c5d:	ff 75 08             	push   0x8(%ebp)
408c60:	ff 76 04             	push   0x4(%esi)
408c63:	ff 15 54 a0 42 00    	call   *0x42a054
408c69:	85 c0                	test   %eax,%eax
408c6b:	75 50                	jne    0x408cbd
408c6d:	8b ce                	mov    %esi,%ecx
408c6f:	e8 73 ff ff ff       	call   0x408be7
408c74:	84 c0                	test   %al,%al
408c76:	74 12                	je     0x408c8a
408c78:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408c7b:	76 0d                	jbe    0x408c8a
408c7d:	57                   	push   %edi
408c7e:	ff 75 08             	push   0x8(%ebp)
408c81:	8b ce                	mov    %esi,%ecx
408c83:	e8 a5 ff ff ff       	call   0x408c2d
408c88:	eb 36                	jmp    0x408cc0
408c8a:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
408c8e:	8b 1d 24 a2 42 00    	mov    0x42a224,%ebx
408c94:	75 0b                	jne    0x408ca1
408c96:	ff d3                	call   *%ebx
408c98:	83 f8 6d             	cmp    $0x6d,%eax
408c9b:	75 04                	jne    0x408ca1
408c9d:	33 c0                	xor    %eax,%eax
408c9f:	eb 1f                	jmp    0x408cc0
408ca1:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
408ca5:	75 11                	jne    0x408cb8
408ca7:	bf 00 80 00 00       	mov    $0x8000,%edi
408cac:	39 7d 0c             	cmp    %edi,0xc(%ebp)
408caf:	76 07                	jbe    0x408cb8
408cb1:	ff d3                	call   *%ebx
408cb3:	83 f8 21             	cmp    $0x21,%eax
408cb6:	74 c5                	je     0x408c7d
408cb8:	83 c8 ff             	or     $0xffffffff,%eax
408cbb:	eb 03                	jmp    0x408cc0
408cbd:	8b 45 fc             	mov    -0x4(%ebp),%eax
408cc0:	5f                   	pop    %edi
408cc1:	5e                   	pop    %esi
408cc2:	5b                   	pop    %ebx
408cc3:	c9                   	leave
408cc4:	c2 08 00             	ret    $0x8
408cc7:	55                   	push   %ebp
408cc8:	8b ec                	mov    %esp,%ebp
408cca:	83 ec 1c             	sub    $0x1c,%esp
408ccd:	8b 41 18             	mov    0x18(%ecx),%eax
408cd0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408cd3:	3d 00 01 00 00       	cmp    $0x100,%eax
408cd8:	74 0d                	je     0x408ce7
408cda:	a8 02                	test   $0x2,%al
408cdc:	75 09                	jne    0x408ce7
408cde:	ff 71 04             	push   0x4(%ecx)
408ce1:	ff 15 58 a0 42 00    	call   *0x42a058
408ce7:	8b 4d 08             	mov    0x8(%ebp),%ecx
408cea:	85 c9                	test   %ecx,%ecx
408cec:	74 0b                	je     0x408cf9
408cee:	8b 01                	mov    (%ecx),%eax
408cf0:	0b 41 04             	or     0x4(%ecx),%eax
408cf3:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
408cf7:	75 04                	jne    0x408cfd
408cf9:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
408cfd:	53                   	push   %ebx
408cfe:	56                   	push   %esi
408cff:	57                   	push   %edi
408d00:	8b 7d 0c             	mov    0xc(%ebp),%edi
408d03:	85 ff                	test   %edi,%edi
408d05:	74 0b                	je     0x408d12
408d07:	8b 07                	mov    (%edi),%eax
408d09:	0b 47 04             	or     0x4(%edi),%eax
408d0c:	c6 45 0f 01          	movb   $0x1,0xf(%ebp)
408d10:	75 04                	jne    0x408d16
408d12:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
408d16:	8b 75 10             	mov    0x10(%ebp),%esi
408d19:	85 f6                	test   %esi,%esi
408d1b:	74 0b                	je     0x408d28
408d1d:	8b 06                	mov    (%esi),%eax
408d1f:	0b 46 04             	or     0x4(%esi),%eax
408d22:	74 04                	je     0x408d28
408d24:	b3 01                	mov    $0x1,%bl
408d26:	eb 02                	jmp    0x408d2a
408d28:	32 db                	xor    %bl,%bl
408d2a:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
408d2e:	74 09                	je     0x408d39
408d30:	8d 45 f4             	lea    -0xc(%ebp),%eax
408d33:	50                   	push   %eax
408d34:	e8 41 83 00 00       	call   0x41107a
408d39:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
408d3d:	74 0b                	je     0x408d4a
408d3f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
408d42:	50                   	push   %eax
408d43:	8b cf                	mov    %edi,%ecx
408d45:	e8 30 83 00 00       	call   0x41107a
408d4a:	84 db                	test   %bl,%bl
408d4c:	74 0b                	je     0x408d59
408d4e:	8d 45 ec             	lea    -0x14(%ebp),%eax
408d51:	50                   	push   %eax
408d52:	8b ce                	mov    %esi,%ecx
408d54:	e8 21 83 00 00       	call   0x41107a
408d59:	0f b6 45 0b          	movzbl 0xb(%ebp),%eax
408d5d:	f7 d8                	neg    %eax
408d5f:	1b c0                	sbb    %eax,%eax
408d61:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408d64:	23 c1                	and    %ecx,%eax
408d66:	50                   	push   %eax
408d67:	0f b6 c3             	movzbl %bl,%eax
408d6a:	f7 d8                	neg    %eax
408d6c:	1b c0                	sbb    %eax,%eax
408d6e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408d71:	23 c1                	and    %ecx,%eax
408d73:	50                   	push   %eax
408d74:	0f b6 45 0f          	movzbl 0xf(%ebp),%eax
408d78:	f7 d8                	neg    %eax
408d7a:	1b c0                	sbb    %eax,%eax
408d7c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
408d7f:	23 c1                	and    %ecx,%eax
408d81:	50                   	push   %eax
408d82:	8b 45 fc             	mov    -0x4(%ebp),%eax
408d85:	ff 70 04             	push   0x4(%eax)
408d88:	ff 15 24 a1 42 00    	call   *0x42a124
408d8e:	5f                   	pop    %edi
408d8f:	5e                   	pop    %esi
408d90:	5b                   	pop    %ebx
408d91:	c9                   	leave
408d92:	c2 0c 00             	ret    $0xc
408d95:	b8 45 91 42 00       	mov    $0x429145,%eax
408d9a:	e8 19 11 01 00       	call   0x419eb8
408d9f:	83 ec 10             	sub    $0x10,%esp
408da2:	53                   	push   %ebx
408da3:	56                   	push   %esi
408da4:	8b f1                	mov    %ecx,%esi
408da6:	56                   	push   %esi
408da7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
408daa:	e8 cc 83 ff ff       	call   0x40117b
408daf:	8b 06                	mov    (%esi),%eax
408db1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408db5:	6a 02                	push   $0x2
408db7:	6a 00                	push   $0x0
408db9:	6a 00                	push   $0x0
408dbb:	8b ce                	mov    %esi,%ecx
408dbd:	ff 50 0c             	call   *0xc(%eax)
408dc0:	8b 06                	mov    (%esi),%eax
408dc2:	8b ce                	mov    %esi,%ecx
408dc4:	ff 50 10             	call   *0x10(%eax)
408dc7:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
408dca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408dce:	6a 00                	push   $0x0
408dd0:	ff 75 f0             	push   -0x10(%ebp)
408dd3:	8b f0                	mov    %eax,%esi
408dd5:	ff 75 ec             	push   -0x14(%ebp)
408dd8:	8b 01                	mov    (%ecx),%eax
408dda:	8b da                	mov    %edx,%ebx
408ddc:	ff 50 0c             	call   *0xc(%eax)
408ddf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408de2:	8b c6                	mov    %esi,%eax
408de4:	5e                   	pop    %esi
408de5:	8b d3                	mov    %ebx,%edx
408de7:	5b                   	pop    %ebx
408de8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408def:	c9                   	leave
408df0:	c3                   	ret
408df1:	56                   	push   %esi
408df2:	8b f1                	mov    %ecx,%esi
408df4:	e8 11 fe ff ff       	call   0x408c0a
408df9:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
408dfe:	74 07                	je     0x408e07
408e00:	56                   	push   %esi
408e01:	e8 d1 10 01 00       	call   0x419ed7
408e06:	59                   	pop    %ecx
408e07:	8b c6                	mov    %esi,%eax
408e09:	5e                   	pop    %esi
408e0a:	c2 04 00             	ret    $0x4
408e0d:	55                   	push   %ebp
408e0e:	8b ec                	mov    %esp,%ebp
408e10:	83 ec 10             	sub    $0x10,%esp
408e13:	53                   	push   %ebx
408e14:	56                   	push   %esi
408e15:	33 db                	xor    %ebx,%ebx
408e17:	8b f1                	mov    %ecx,%esi
408e19:	57                   	push   %edi
408e1a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408e1d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
408e20:	38 5e 11             	cmp    %bl,0x11(%esi)
408e23:	74 0b                	je     0x408e30
408e25:	8b 06                	mov    (%esi),%eax
408e27:	ff 50 10             	call   *0x10(%eax)
408e2a:	89 45 f0             	mov    %eax,-0x10(%ebp)
408e2d:	89 55 f4             	mov    %edx,-0xc(%ebp)
408e30:	bf 74 2a 43 00       	mov    $0x432a74,%edi
408e35:	ff 75 0c             	push   0xc(%ebp)
408e38:	8b ce                	mov    %esi,%ecx
408e3a:	ff 75 08             	push   0x8(%ebp)
408e3d:	e8 eb fd ff ff       	call   0x408c2d
408e42:	89 45 f8             	mov    %eax,-0x8(%ebp)
408e45:	83 f8 ff             	cmp    $0xffffffff,%eax
408e48:	75 33                	jne    0x408e7d
408e4a:	c7 86 20 10 00 00 02 	movl   $0x2,0x1020(%esi)
408e51:	00 00 00
408e54:	38 5e 14             	cmp    %bl,0x14(%esi)
408e57:	74 24                	je     0x408e7d
408e59:	38 5e 11             	cmp    %bl,0x11(%esi)
408e5c:	75 29                	jne    0x408e87
408e5e:	39 5e 0c             	cmp    %ebx,0xc(%esi)
408e61:	75 0f                	jne    0x408e72
408e63:	8d 46 1e             	lea    0x1e(%esi),%eax
408e66:	50                   	push   %eax
408e67:	8b cf                	mov    %edi,%ecx
408e69:	e8 97 d5 ff ff       	call   0x406405
408e6e:	84 c0                	test   %al,%al
408e70:	75 c3                	jne    0x408e35
408e72:	83 c6 1e             	add    $0x1e,%esi
408e75:	56                   	push   %esi
408e76:	8b cf                	mov    %edi,%ecx
408e78:	e8 f7 d7 ff ff       	call   0x406674
408e7d:	8b 45 f8             	mov    -0x8(%ebp),%eax
408e80:	5f                   	pop    %edi
408e81:	5e                   	pop    %esi
408e82:	5b                   	pop    %ebx
408e83:	c9                   	leave
408e84:	c2 08 00             	ret    $0x8
408e87:	89 5d f8             	mov    %ebx,-0x8(%ebp)
408e8a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408e8d:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
408e90:	76 eb                	jbe    0x408e7d
408e92:	bf 00 02 00 00       	mov    $0x200,%edi
408e97:	eb 02                	jmp    0x408e9b
408e99:	33 db                	xor    %ebx,%ebx
408e9b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408e9e:	8b 06                	mov    (%esi),%eax
408ea0:	33 d2                	xor    %edx,%edx
408ea2:	03 4d f0             	add    -0x10(%ebp),%ecx
408ea5:	53                   	push   %ebx
408ea6:	13 55 f4             	adc    -0xc(%ebp),%edx
408ea9:	52                   	push   %edx
408eaa:	51                   	push   %ecx
408eab:	8b ce                	mov    %esi,%ecx
408ead:	ff 50 0c             	call   *0xc(%eax)