405b23:	55                   	push   %ebp
405b24:	8b ec                	mov    %esp,%ebp
405b26:	83 ec 28             	sub    $0x28,%esp
405b29:	a1 14 30 43 00       	mov    0x433014,%eax
405b2e:	33 c5                	xor    %ebp,%eax
405b30:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b33:	53                   	push   %ebx
405b34:	8b d9                	mov    %ecx,%ebx
405b36:	56                   	push   %esi
405b37:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
405b3b:	74 58                	je     0x405b95
405b3d:	80 7b 3d 00          	cmpb   $0x0,0x3d(%ebx)
405b41:	74 52                	je     0x405b95
405b43:	8b 03                	mov    (%ebx),%eax
405b45:	6a ff                	push   $0xffffffff
405b47:	8b 70 0c             	mov    0xc(%eax),%esi
405b4a:	8b ce                	mov    %esi,%ecx
405b4c:	ff 15 54 41 42 00    	call   *0x424154
405b52:	8b cb                	mov    %ebx,%ecx
405b54:	ff d6                	call   *%esi
405b56:	83 f8 ff             	cmp    $0xffffffff,%eax
405b59:	74 73                	je     0x405bce
405b5b:	57                   	push   %edi
405b5c:	8b 7b 38             	mov    0x38(%ebx),%edi
405b5f:	8b 07                	mov    (%edi),%eax
405b61:	8b 70 20             	mov    0x20(%eax),%esi
405b64:	8d 45 d8             	lea    -0x28(%ebp),%eax
405b67:	50                   	push   %eax
405b68:	8d 45 fc             	lea    -0x4(%ebp),%eax
405b6b:	8b ce                	mov    %esi,%ecx
405b6d:	50                   	push   %eax
405b6e:	8d 45 dc             	lea    -0x24(%ebp),%eax
405b71:	50                   	push   %eax
405b72:	8d 43 40             	lea    0x40(%ebx),%eax
405b75:	50                   	push   %eax
405b76:	ff 15 54 41 42 00    	call   *0x424154
405b7c:	8b cf                	mov    %edi,%ecx
405b7e:	ff d6                	call   *%esi
405b80:	33 c9                	xor    %ecx,%ecx
405b82:	5f                   	pop    %edi
405b83:	2b c1                	sub    %ecx,%eax
405b85:	74 1e                	je     0x405ba5
405b87:	83 e8 01             	sub    $0x1,%eax
405b8a:	74 1c                	je     0x405ba8
405b8c:	48                   	dec    %eax
405b8d:	83 e8 01             	sub    $0x1,%eax
405b90:	75 3c                	jne    0x405bce
405b92:	88 4b 3d             	mov    %cl,0x3d(%ebx)
405b95:	b0 01                	mov    $0x1,%al
405b97:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b9a:	5e                   	pop    %esi
405b9b:	33 cd                	xor    %ebp,%ecx
405b9d:	5b                   	pop    %ebx
405b9e:	e8 69 18 00 00       	call   0x40740c
405ba3:	c9                   	leave
405ba4:	c3                   	ret
405ba5:	88 4b 3d             	mov    %cl,0x3d(%ebx)
405ba8:	8b 75 d8             	mov    -0x28(%ebp),%esi
405bab:	8d 45 dc             	lea    -0x24(%ebp),%eax
405bae:	2b f0                	sub    %eax,%esi
405bb0:	74 13                	je     0x405bc5
405bb2:	ff 73 4c             	push   0x4c(%ebx)
405bb5:	56                   	push   %esi
405bb6:	6a 01                	push   $0x1
405bb8:	50                   	push   %eax
405bb9:	e8 42 85 00 00       	call   0x40e100
405bbe:	83 c4 10             	add    $0x10,%esp
405bc1:	3b f0                	cmp    %eax,%esi
405bc3:	75 09                	jne    0x405bce
405bc5:	80 7b 3d 00          	cmpb   $0x0,0x3d(%ebx)
405bc9:	0f 94 c0             	sete   %al
405bcc:	eb c9                	jmp    0x405b97
405bce:	32 c0                	xor    %al,%al
405bd0:	eb c5                	jmp    0x405b97
405bd2:	55                   	push   %ebp
405bd3:	8b ec                	mov    %esp,%ebp
405bd5:	56                   	push   %esi
405bd6:	8b f1                	mov    %ecx,%esi
405bd8:	57                   	push   %edi
405bd9:	8b 7d 08             	mov    0x8(%ebp),%edi
405bdc:	8b 56 10             	mov    0x10(%esi),%edx
405bdf:	8b c2                	mov    %edx,%eax
405be1:	2b c7                	sub    %edi,%eax
405be3:	3b 45 0c             	cmp    0xc(%ebp),%eax
405be6:	72 03                	jb     0x405beb
405be8:	8b 45 0c             	mov    0xc(%ebp),%eax
405beb:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
405bef:	72 02                	jb     0x405bf3
405bf1:	8b 0e                	mov    (%esi),%ecx
405bf3:	2b d0                	sub    %eax,%edx
405bf5:	03 cf                	add    %edi,%ecx
405bf7:	89 56 10             	mov    %edx,0x10(%esi)
405bfa:	03 c1                	add    %ecx,%eax
405bfc:	2b d7                	sub    %edi,%edx
405bfe:	42                   	inc    %edx
405bff:	52                   	push   %edx
405c00:	50                   	push   %eax
405c01:	51                   	push   %ecx
405c02:	e8 69 2d 00 00       	call   0x408970
405c07:	83 c4 0c             	add    $0xc,%esp
405c0a:	8b c6                	mov    %esi,%eax
405c0c:	5f                   	pop    %edi
405c0d:	5e                   	pop    %esi
405c0e:	5d                   	pop    %ebp
405c0f:	c2 08 00             	ret    $0x8
405c12:	6a 38                	push   $0x38
405c14:	b8 d6 2e 42 00       	mov    $0x422ed6,%eax
405c19:	e8 1e 1f 00 00       	call   0x407b3c
405c1e:	8b 7d 08             	mov    0x8(%ebp),%edi
405c21:	33 db                	xor    %ebx,%ebx
405c23:	89 5d f0             	mov    %ebx,-0x10(%ebp)
405c26:	85 ff                	test   %edi,%edi
405c28:	74 47                	je     0x405c71
405c2a:	39 1f                	cmp    %ebx,(%edi)
405c2c:	75 43                	jne    0x405c71
405c2e:	6a 08                	push   $0x8
405c30:	e8 e7 19 00 00       	call   0x40761c
405c35:	8b f0                	mov    %eax,%esi
405c37:	59                   	pop    %ecx
405c38:	89 75 f0             	mov    %esi,-0x10(%ebp)
405c3b:	21 5d fc             	and    %ebx,-0x4(%ebp)
405c3e:	85 f6                	test   %esi,%esi
405c40:	74 1e                	je     0x405c60
405c42:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405c45:	e8 a6 bf ff ff       	call   0x401bf0
405c4a:	50                   	push   %eax
405c4b:	8d 4d bc             	lea    -0x44(%ebp),%ecx
405c4e:	e8 4d bd ff ff       	call   0x4019a0
405c53:	43                   	inc    %ebx
405c54:	c7 06 64 44 42 00    	movl   $0x424464,(%esi)
405c5a:	83 66 04 00          	andl   $0x0,0x4(%esi)
405c5e:	eb 02                	jmp    0x405c62
405c60:	33 f6                	xor    %esi,%esi
405c62:	89 37                	mov    %esi,(%edi)
405c64:	f6 c3 01             	test   $0x1,%bl
405c67:	74 08                	je     0x405c71
405c69:	8d 4d bc             	lea    -0x44(%ebp),%ecx
405c6c:	e8 df bd ff ff       	call   0x401a50
405c71:	6a 02                	push   $0x2
405c73:	58                   	pop    %eax
405c74:	e8 a0 1e 00 00       	call   0x407b19
405c79:	c3                   	ret
405c7a:	55                   	push   %ebp
405c7b:	8b ec                	mov    %esp,%ebp
405c7d:	83 ec 0c             	sub    $0xc,%esp
405c80:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
405c84:	0f 94 c0             	sete   %al
405c87:	53                   	push   %ebx
405c88:	56                   	push   %esi
405c89:	8b f1                	mov    %ecx,%esi
405c8b:	33 db                	xor    %ebx,%ebx
405c8d:	57                   	push   %edi
405c8e:	88 46 48             	mov    %al,0x48(%esi)
405c91:	88 5e 3d             	mov    %bl,0x3d(%esi)
405c94:	e8 5e 00 00 00       	call   0x405cf7
405c99:	8b 7d 08             	mov    0x8(%ebp),%edi
405c9c:	85 ff                	test   %edi,%edi
405c9e:	74 39                	je     0x405cd9
405ca0:	8d 45 f4             	lea    -0xc(%ebp),%eax
405ca3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405ca6:	50                   	push   %eax
405ca7:	8d 45 f8             	lea    -0x8(%ebp),%eax
405caa:	89 5d f8             	mov    %ebx,-0x8(%ebp)
405cad:	50                   	push   %eax
405cae:	8d 45 fc             	lea    -0x4(%ebp),%eax
405cb1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
405cb4:	50                   	push   %eax
405cb5:	57                   	push   %edi
405cb6:	e8 85 5a 00 00       	call   0x40b740
405cbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
405cbe:	83 c4 10             	add    $0x10,%esp
405cc1:	89 46 0c             	mov    %eax,0xc(%esi)
405cc4:	89 46 10             	mov    %eax,0x10(%esi)
405cc7:	8b 45 f8             	mov    -0x8(%ebp),%eax
405cca:	89 46 1c             	mov    %eax,0x1c(%esi)
405ccd:	89 46 20             	mov    %eax,0x20(%esi)
405cd0:	8b 45 f4             	mov    -0xc(%ebp),%eax
405cd3:	89 46 2c             	mov    %eax,0x2c(%esi)
405cd6:	89 46 30             	mov    %eax,0x30(%esi)
405cd9:	89 7e 4c             	mov    %edi,0x4c(%esi)
405cdc:	a1 c4 40 43 00       	mov    0x4340c4,%eax
405ce1:	8b 0d c8 40 43 00    	mov    0x4340c8,%ecx
405ce7:	5f                   	pop    %edi
405ce8:	89 5e 38             	mov    %ebx,0x38(%esi)
405ceb:	89 46 40             	mov    %eax,0x40(%esi)
405cee:	89 4e 44             	mov    %ecx,0x44(%esi)
405cf1:	5e                   	pop    %esi
405cf2:	5b                   	pop    %ebx
405cf3:	c9                   	leave
405cf4:	c2 08 00             	ret    $0x8
405cf7:	53                   	push   %ebx
405cf8:	56                   	push   %esi
405cf9:	57                   	push   %edi
405cfa:	8b f9                	mov    %ecx,%edi
405cfc:	8d 47 04             	lea    0x4(%edi),%eax
405cff:	89 47 0c             	mov    %eax,0xc(%edi)
405d02:	8d 77 08             	lea    0x8(%edi),%esi
405d05:	89 77 10             	mov    %esi,0x10(%edi)
405d08:	8d 5f 14             	lea    0x14(%edi),%ebx
405d0b:	89 5f 1c             	mov    %ebx,0x1c(%edi)
405d0e:	8d 57 18             	lea    0x18(%edi),%edx
405d11:	89 57 20             	mov    %edx,0x20(%edi)
405d14:	8d 4f 24             	lea    0x24(%edi),%ecx
405d17:	89 4f 2c             	mov    %ecx,0x2c(%edi)
405d1a:	8d 47 28             	lea    0x28(%edi),%eax
405d1d:	89 47 30             	mov    %eax,0x30(%edi)
405d20:	83 26 00             	andl   $0x0,(%esi)
405d23:	33 f6                	xor    %esi,%esi
405d25:	89 32                	mov    %esi,(%edx)
405d27:	89 30                	mov    %esi,(%eax)
405d29:	89 77 04             	mov    %esi,0x4(%edi)
405d2c:	89 33                	mov    %esi,(%ebx)
405d2e:	5f                   	pop    %edi
405d2f:	89 31                	mov    %esi,(%ecx)
405d31:	5e                   	pop    %esi
405d32:	5b                   	pop    %ebx
405d33:	c3                   	ret
405d34:	6a 00                	push   $0x0
405d36:	b8 6d 2e 42 00       	mov    $0x422e6d,%eax
405d3b:	e8 fc 1d 00 00       	call   0x407b3c
405d40:	8b f1                	mov    %ecx,%esi
405d42:	33 db                	xor    %ebx,%ebx
405d44:	c7 46 14 01 02 00 00 	movl   $0x201,0x14(%esi)
405d4b:	53                   	push   %ebx
405d4c:	53                   	push   %ebx
405d4d:	89 5e 30             	mov    %ebx,0x30(%esi)
405d50:	89 5e 08             	mov    %ebx,0x8(%esi)
405d53:	89 5e 10             	mov    %ebx,0x10(%esi)
405d56:	c7 46 18 06 00 00 00 	movl   $0x6,0x18(%esi)
405d5d:	89 5e 1c             	mov    %ebx,0x1c(%esi)
405d60:	89 5e 20             	mov    %ebx,0x20(%esi)
405d63:	89 5e 24             	mov    %ebx,0x24(%esi)
405d66:	89 5e 28             	mov    %ebx,0x28(%esi)
405d69:	89 5e 2c             	mov    %ebx,0x2c(%esi)
405d6c:	e8 2f c1 ff ff       	call   0x401ea0
405d71:	6a 08                	push   $0x8
405d73:	e8 a4 18 00 00       	call   0x40761c
405d78:	8b f8                	mov    %eax,%edi
405d7a:	59                   	pop    %ecx
405d7b:	85 ff                	test   %edi,%edi
405d7d:	74 10                	je     0x405d8f
405d7f:	6a 01                	push   $0x1
405d81:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405d84:	e8 51 0d 00 00       	call   0x406ada
405d89:	59                   	pop    %ecx
405d8a:	89 47 04             	mov    %eax,0x4(%edi)
405d8d:	eb 02                	jmp    0x405d91
405d8f:	8b fb                	mov    %ebx,%edi
405d91:	89 7e 30             	mov    %edi,0x30(%esi)
405d94:	e8 80 1d 00 00       	call   0x407b19
405d99:	c3                   	ret
405d9a:	cc                   	int3
405d9b:	cc                   	int3
405d9c:	cc                   	int3
405d9d:	cc                   	int3
405d9e:	cc                   	int3
405d9f:	55                   	push   %ebp
405da0:	8b ec                	mov    %esp,%ebp
405da2:	56                   	push   %esi
405da3:	57                   	push   %edi
405da4:	8b 7d 08             	mov    0x8(%ebp),%edi
405da7:	8b f1                	mov    %ecx,%esi
405da9:	8b cf                	mov    %edi,%ecx
405dab:	e8 93 00 00 00       	call   0x405e43
405db0:	84 c0                	test   %al,%al
405db2:	74 06                	je     0x405dba
405db4:	83 66 38 00          	andl   $0x0,0x38(%esi)
405db8:	eb 0a                	jmp    0x405dc4
405dba:	8b ce                	mov    %esi,%ecx
405dbc:	89 7e 38             	mov    %edi,0x38(%esi)
405dbf:	e8 33 ff ff ff       	call   0x405cf7
405dc4:	5f                   	pop    %edi
405dc5:	5e                   	pop    %esi
405dc6:	5d                   	pop    %ebp
405dc7:	c2 04 00             	ret    $0x4
405dca:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
405dce:	74 09                	je     0x405dd9
405dd0:	ff 71 4c             	push   0x4c(%ecx)
405dd3:	e8 ae 59 00 00       	call   0x40b786
405dd8:	59                   	pop    %ecx
405dd9:	c3                   	ret
405dda:	c2 00 00             	ret    $0x0
405ddd:	57                   	push   %edi
405dde:	8b 79 0c             	mov    0xc(%ecx),%edi
405de1:	8d 41 3c             	lea    0x3c(%ecx),%eax
405de4:	39 07                	cmp    %eax,(%edi)
405de6:	75 16                	jne    0x405dfe
405de8:	8b 51 50             	mov    0x50(%ecx),%edx
405deb:	56                   	push   %esi
405dec:	8b 71 54             	mov    0x54(%ecx),%esi
405def:	89 17                	mov    %edx,(%edi)
405df1:	2b f2                	sub    %edx,%esi
405df3:	8b 41 1c             	mov    0x1c(%ecx),%eax
405df6:	89 10                	mov    %edx,(%eax)
405df8:	8b 41 2c             	mov    0x2c(%ecx),%eax
405dfb:	89 30                	mov    %esi,(%eax)
405dfd:	5e                   	pop    %esi
405dfe:	5f                   	pop    %edi
405dff:	c3                   	ret
405e00:	8b d1                	mov    %ecx,%edx
405e02:	56                   	push   %esi
405e03:	57                   	push   %edi
405e04:	8b 7a 0c             	mov    0xc(%edx),%edi
405e07:	8d 72 3c             	lea    0x3c(%edx),%esi
405e0a:	8b 07                	mov    (%edi),%eax
405e0c:	3b c6                	cmp    %esi,%eax
405e0e:	74 10                	je     0x405e20
405e10:	8b 4a 1c             	mov    0x1c(%edx),%ecx
405e13:	89 42 50             	mov    %eax,0x50(%edx)
405e16:	8b 42 2c             	mov    0x2c(%edx),%eax
405e19:	8b 00                	mov    (%eax),%eax
405e1b:	03 01                	add    (%ecx),%eax
405e1d:	89 42 54             	mov    %eax,0x54(%edx)
405e20:	89 37                	mov    %esi,(%edi)
405e22:	8b 42 1c             	mov    0x1c(%edx),%eax
405e25:	5f                   	pop    %edi
405e26:	89 30                	mov    %esi,(%eax)
405e28:	8b 42 2c             	mov    0x2c(%edx),%eax
405e2b:	5e                   	pop    %esi
405e2c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
405e32:	c3                   	ret
405e33:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
405e37:	74 09                	je     0x405e42
405e39:	ff 71 4c             	push   0x4c(%ecx)
405e3c:	e8 59 59 00 00       	call   0x40b79a
405e41:	59                   	pop    %ecx
405e42:	c3                   	ret
405e43:	56                   	push   %esi
405e44:	57                   	push   %edi
405e45:	8b f9                	mov    %ecx,%edi
405e47:	8b 07                	mov    (%edi),%eax
405e49:	8b 70 0c             	mov    0xc(%eax),%esi
405e4c:	8b ce                	mov    %esi,%ecx
405e4e:	ff 15 54 41 42 00    	call   *0x424154
405e54:	8b cf                	mov    %edi,%ecx
405e56:	ff d6                	call   *%esi
405e58:	5f                   	pop    %edi
405e59:	5e                   	pop    %esi
405e5a:	c3                   	ret
405e5b:	53                   	push   %ebx
405e5c:	56                   	push   %esi
405e5d:	8b f1                	mov    %ecx,%esi
405e5f:	33 db                	xor    %ebx,%ebx
405e61:	57                   	push   %edi
405e62:	39 5e 4c             	cmp    %ebx,0x4c(%esi)
405e65:	74 1b                	je     0x405e82
405e67:	e8 b7 fc ff ff       	call   0x405b23
405e6c:	ff 76 4c             	push   0x4c(%esi)
405e6f:	0f b6 f8             	movzbl %al,%edi
405e72:	f7 df                	neg    %edi