403c78:	8b 41 08             	mov    0x8(%ecx),%eax
403c7b:	8b 04 b0             	mov    (%eax,%esi,4),%eax
403c7e:	85 c0                	test   %eax,%eax
403c80:	75 1c                	jne    0x403c9e
403c82:	eb 02                	jmp    0x403c86
403c84:	8b c7                	mov    %edi,%eax
403c86:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
403c8a:	74 12                	je     0x403c9e
403c8c:	e8 1a 96 02 00       	call   0x42d2ab
403c91:	3b 58 0c             	cmp    0xc(%eax),%ebx
403c94:	73 06                	jae    0x403c9c
403c96:	8b 40 08             	mov    0x8(%eax),%eax
403c99:	8b 3c b0             	mov    (%eax,%esi,4),%edi
403c9c:	8b c7                	mov    %edi,%eax
403c9e:	5f                   	pop    %edi
403c9f:	5e                   	pop    %esi
403ca0:	5b                   	pop    %ebx
403ca1:	5d                   	pop    %ebp
403ca2:	c2 04 00             	ret    $0x4
403ca5:	33 c0                	xor    %eax,%eax
403ca7:	40                   	inc    %eax
403ca8:	c3                   	ret
403ca9:	55                   	push   %ebp
403caa:	8b ec                	mov    %esp,%ebp
403cac:	8b 45 0c             	mov    0xc(%ebp),%eax
403caf:	83 ec 10             	sub    $0x10,%esp
403cb2:	53                   	push   %ebx
403cb3:	8b d9                	mov    %ecx,%ebx
403cb5:	56                   	push   %esi
403cb6:	57                   	push   %edi
403cb7:	89 43 04             	mov    %eax,0x4(%ebx)
403cba:	8d 45 f0             	lea    -0x10(%ebp),%eax
403cbd:	50                   	push   %eax
403cbe:	c7 03 e0 90 43 00    	movl   $0x4390e0,(%ebx)
403cc4:	e8 9d 99 02 00       	call   0x42d666
403cc9:	8b f0                	mov    %eax,%esi
403ccb:	8d 7b 08             	lea    0x8(%ebx),%edi
403cce:	59                   	pop    %ecx
403ccf:	8b c3                	mov    %ebx,%eax
403cd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cd3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cd4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
403cd5:	5f                   	pop    %edi
403cd6:	5e                   	pop    %esi
403cd7:	5b                   	pop    %ebx
403cd8:	c9                   	leave
403cd9:	c2 08 00             	ret    $0x8
403cdc:	55                   	push   %ebp
403cdd:	8b ec                	mov    %esp,%ebp
403cdf:	83 ec 38             	sub    $0x38,%esp
403ce2:	53                   	push   %ebx
403ce3:	56                   	push   %esi
403ce4:	8b 75 08             	mov    0x8(%ebp),%esi
403ce7:	33 db                	xor    %ebx,%ebx
403ce9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403cec:	85 f6                	test   %esi,%esi
403cee:	74 57                	je     0x403d47
403cf0:	39 1e                	cmp    %ebx,(%esi)
403cf2:	75 53                	jne    0x403d47
403cf4:	57                   	push   %edi
403cf5:	6a 18                	push   $0x18
403cf7:	e8 c4 2c 00 00       	call   0x4069c0
403cfc:	8b f8                	mov    %eax,%edi
403cfe:	59                   	pop    %ecx
403cff:	85 ff                	test   %edi,%edi
403d01:	74 32                	je     0x403d35
403d03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403d06:	8b 51 04             	mov    0x4(%ecx),%edx
403d09:	85 d2                	test   %edx,%edx
403d0b:	75 07                	jne    0x403d14
403d0d:	b9 14 95 43 00       	mov    $0x439514,%ecx
403d12:	eb 0a                	jmp    0x403d1e
403d14:	8b 4a 18             	mov    0x18(%edx),%ecx
403d17:	85 c9                	test   %ecx,%ecx
403d19:	75 03                	jne    0x403d1e
403d1b:	8d 4a 1c             	lea    0x1c(%edx),%ecx
403d1e:	53                   	push   %ebx
403d1f:	51                   	push   %ecx
403d20:	8d 4d c8             	lea    -0x38(%ebp),%ecx
403d23:	e8 d6 fd ff ff       	call   0x403afe
403d28:	50                   	push   %eax
403d29:	8b cf                	mov    %edi,%ecx
403d2b:	e8 79 ff ff ff       	call   0x403ca9
403d30:	33 db                	xor    %ebx,%ebx
403d32:	43                   	inc    %ebx
403d33:	eb 02                	jmp    0x403d37
403d35:	8b c3                	mov    %ebx,%eax
403d37:	89 06                	mov    %eax,(%esi)
403d39:	5f                   	pop    %edi
403d3a:	f6 c3 01             	test   $0x1,%bl
403d3d:	74 08                	je     0x403d47
403d3f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
403d42:	e8 1d fe ff ff       	call   0x403b64
403d47:	6a 02                	push   $0x2
403d49:	58                   	pop    %eax
403d4a:	5e                   	pop    %esi
403d4b:	5b                   	pop    %ebx
403d4c:	c9                   	leave
403d4d:	c3                   	ret
403d4e:	56                   	push   %esi
403d4f:	8b f1                	mov    %ecx,%esi
403d51:	8b 46 10             	mov    0x10(%esi),%eax
403d54:	85 c0                	test   %eax,%eax
403d56:	7e 0a                	jle    0x403d62
403d58:	ff 76 0c             	push   0xc(%esi)
403d5b:	e8 b0 2e 00 00       	call   0x406c10
403d60:	eb 0a                	jmp    0x403d6c
403d62:	79 09                	jns    0x403d6d
403d64:	ff 76 0c             	push   0xc(%esi)
403d67:	e8 84 2c 00 00       	call   0x4069f0
403d6c:	59                   	pop    %ecx
403d6d:	ff 76 14             	push   0x14(%esi)
403d70:	e8 9b 2e 00 00       	call   0x406c10
403d75:	59                   	pop    %ecx
403d76:	5e                   	pop    %esi
403d77:	c3                   	ret
403d78:	8d 41 08             	lea    0x8(%ecx),%eax
403d7b:	50                   	push   %eax
403d7c:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
403d81:	50                   	push   %eax
403d82:	e8 4a 99 02 00       	call   0x42d6d1
403d87:	59                   	pop    %ecx
403d88:	59                   	pop    %ecx
403d89:	c2 04 00             	ret    $0x4
403d8c:	56                   	push   %esi
403d8d:	8b 74 24 08          	mov    0x8(%esp),%esi
403d91:	3b 74 24 0c          	cmp    0xc(%esp),%esi
403d95:	74 1a                	je     0x403db1
403d97:	57                   	push   %edi
403d98:	8d 79 08             	lea    0x8(%ecx),%edi
403d9b:	0f b6 06             	movzbl (%esi),%eax
403d9e:	57                   	push   %edi
403d9f:	50                   	push   %eax
403da0:	e8 2c 99 02 00       	call   0x42d6d1
403da5:	88 06                	mov    %al,(%esi)
403da7:	46                   	inc    %esi
403da8:	59                   	pop    %ecx
403da9:	59                   	pop    %ecx
403daa:	3b 74 24 10          	cmp    0x10(%esp),%esi
403dae:	75 eb                	jne    0x403d9b
403db0:	5f                   	pop    %edi
403db1:	8b c6                	mov    %esi,%eax
403db3:	5e                   	pop    %esi
403db4:	c2 08 00             	ret    $0x8
403db7:	8d 41 08             	lea    0x8(%ecx),%eax
403dba:	50                   	push   %eax
403dbb:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
403dc0:	50                   	push   %eax
403dc1:	e8 fa 99 02 00       	call   0x42d7c0
403dc6:	59                   	pop    %ecx
403dc7:	59                   	pop    %ecx
403dc8:	c2 04 00             	ret    $0x4
403dcb:	56                   	push   %esi
403dcc:	8b 74 24 08          	mov    0x8(%esp),%esi
403dd0:	3b 74 24 0c          	cmp    0xc(%esp),%esi
403dd4:	74 1a                	je     0x403df0
403dd6:	57                   	push   %edi
403dd7:	8d 79 08             	lea    0x8(%ecx),%edi
403dda:	0f b6 06             	movzbl (%esi),%eax
403ddd:	57                   	push   %edi
403dde:	50                   	push   %eax
403ddf:	e8 dc 99 02 00       	call   0x42d7c0
403de4:	88 06                	mov    %al,(%esi)
403de6:	46                   	inc    %esi
403de7:	59                   	pop    %ecx
403de8:	59                   	pop    %ecx
403de9:	3b 74 24 10          	cmp    0x10(%esp),%esi
403ded:	75 eb                	jne    0x403dda
403def:	5f                   	pop    %edi
403df0:	8b c6                	mov    %esi,%eax
403df2:	5e                   	pop    %esi
403df3:	c2 08 00             	ret    $0x8
403df6:	8a 44 24 04          	mov    0x4(%esp),%al
403dfa:	c2 04 00             	ret    $0x4
403dfd:	55                   	push   %ebp
403dfe:	8b ec                	mov    %esp,%ebp
403e00:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403e03:	2b 4d 08             	sub    0x8(%ebp),%ecx
403e06:	51                   	push   %ecx
403e07:	ff 75 08             	push   0x8(%ebp)
403e0a:	ff 75 10             	push   0x10(%ebp)
403e0d:	e8 2e 70 00 00       	call   0x40ae40
403e12:	8b 45 0c             	mov    0xc(%ebp),%eax
403e15:	83 c4 0c             	add    $0xc,%esp
403e18:	5d                   	pop    %ebp
403e19:	c2 0c 00             	ret    $0xc
403e1c:	8a 44 24 04          	mov    0x4(%esp),%al
403e20:	c2 08 00             	ret    $0x8
403e23:	55                   	push   %ebp
403e24:	8b ec                	mov    %esp,%ebp
403e26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403e29:	2b 4d 08             	sub    0x8(%ebp),%ecx
403e2c:	51                   	push   %ecx
403e2d:	ff 75 08             	push   0x8(%ebp)
403e30:	ff 75 14             	push   0x14(%ebp)
403e33:	e8 08 70 00 00       	call   0x40ae40
403e38:	8b 45 0c             	mov    0xc(%ebp),%eax
403e3b:	83 c4 0c             	add    $0xc,%esp
403e3e:	5d                   	pop    %ebp
403e3f:	c2 10 00             	ret    $0x10
403e42:	56                   	push   %esi
403e43:	8b f1                	mov    %ecx,%esi
403e45:	c7 06 e0 90 43 00    	movl   $0x4390e0,(%esi)
403e4b:	e8 fe fe ff ff       	call   0x403d4e
403e50:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
403e55:	c7 06 8c 84 43 00    	movl   $0x43848c,(%esi)
403e5b:	74 0a                	je     0x403e67
403e5d:	6a 18                	push   $0x18
403e5f:	56                   	push   %esi
403e60:	e8 8b 2b 00 00       	call   0x4069f0
403e65:	59                   	pop    %ecx
403e66:	59                   	pop    %ecx
403e67:	8b c6                	mov    %esi,%eax
403e69:	5e                   	pop    %esi
403e6a:	c2 04 00             	ret    $0x4
403e6d:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
403e72:	56                   	push   %esi
403e73:	8b f1                	mov    %ecx,%esi
403e75:	c7 06 e0 96 43 00    	movl   $0x4396e0,(%esi)
403e7b:	74 0a                	je     0x403e87
403e7d:	6a 08                	push   $0x8
403e7f:	56                   	push   %esi
403e80:	e8 6b 2b 00 00       	call   0x4069f0
403e85:	59                   	pop    %ecx
403e86:	59                   	pop    %ecx
403e87:	8b c6                	mov    %esi,%eax
403e89:	5e                   	pop    %esi
403e8a:	c2 04 00             	ret    $0x4
403e8d:	8b 54 24 04          	mov    0x4(%esp),%edx
403e91:	56                   	push   %esi
403e92:	8b 74 24 0c          	mov    0xc(%esp),%esi
403e96:	8b 42 04             	mov    0x4(%edx),%eax
403e99:	8b 4e 04             	mov    0x4(%esi),%ecx
403e9c:	8b 40 04             	mov    0x4(%eax),%eax
403e9f:	3b 41 04             	cmp    0x4(%ecx),%eax
403ea2:	75 0a                	jne    0x403eae
403ea4:	8b 02                	mov    (%edx),%eax
403ea6:	3b 06                	cmp    (%esi),%eax
403ea8:	75 04                	jne    0x403eae
403eaa:	b0 01                	mov    $0x1,%al
403eac:	5e                   	pop    %esi
403ead:	c3                   	ret
403eae:	32 c0                	xor    %al,%al
403eb0:	5e                   	pop    %esi
403eb1:	c3                   	ret
403eb2:	8b 44 24 04          	mov    0x4(%esp),%eax
403eb6:	8b 54 24 08          	mov    0x8(%esp),%edx
403eba:	89 10                	mov    %edx,(%eax)
403ebc:	89 48 04             	mov    %ecx,0x4(%eax)
403ebf:	c2 08 00             	ret    $0x8
403ec2:	55                   	push   %ebp
403ec3:	8b ec                	mov    %esp,%ebp
403ec5:	51                   	push   %ecx
403ec6:	51                   	push   %ecx
403ec7:	ff 75 0c             	push   0xc(%ebp)
403eca:	8b 01                	mov    (%ecx),%eax
403ecc:	8d 55 f8             	lea    -0x8(%ebp),%edx
403ecf:	ff 75 08             	push   0x8(%ebp)
403ed2:	52                   	push   %edx
403ed3:	ff 50 0c             	call   *0xc(%eax)
403ed6:	50                   	push   %eax
403ed7:	e8 b1 ff ff ff       	call   0x403e8d
403edc:	59                   	pop    %ecx
403edd:	59                   	pop    %ecx
403ede:	c9                   	leave
403edf:	c2 08 00             	ret    $0x8
403ee2:	8b 41 04             	mov    0x4(%ecx),%eax
403ee5:	56                   	push   %esi
403ee6:	8b 74 24 08          	mov    0x8(%esp),%esi
403eea:	8b 56 04             	mov    0x4(%esi),%edx
403eed:	3b 42 04             	cmp    0x4(%edx),%eax
403ef0:	75 0c                	jne    0x403efe
403ef2:	8b 06                	mov    (%esi),%eax
403ef4:	3b 44 24 0c          	cmp    0xc(%esp),%eax
403ef8:	75 04                	jne    0x403efe
403efa:	b0 01                	mov    $0x1,%al
403efc:	eb 02                	jmp    0x403f00
403efe:	32 c0                	xor    %al,%al
403f00:	5e                   	pop    %esi
403f01:	c2 08 00             	ret    $0x8
403f04:	e8 bc 01 00 00       	call   0x4040c5
403f09:	8b 54 24 04          	mov    0x4(%esp),%edx
403f0d:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403f11:	89 42 04             	mov    %eax,0x4(%edx)
403f14:	8b c2                	mov    %edx,%eax
403f16:	89 0a                	mov    %ecx,(%edx)
403f18:	c3                   	ret
403f19:	55                   	push   %ebp
403f1a:	8b ec                	mov    %esp,%ebp
403f1c:	83 ec 20             	sub    $0x20,%esp
403f1f:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
403f24:	33 c5                	xor    %ebp,%eax
403f26:	89 45 f8             	mov    %eax,-0x8(%ebp)
403f29:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
403f2d:	56                   	push   %esi
403f2e:	8b 75 08             	mov    0x8(%ebp),%esi
403f31:	74 0f                	je     0x403f42
403f33:	6a 02                	push   $0x2
403f35:	68 18 95 43 00       	push   $0x439518
403f3a:	8d 4d 14             	lea    0x14(%ebp),%ecx
403f3d:	e8 df 0e 00 00       	call   0x404e21
403f42:	8b 4d 10             	mov    0x10(%ebp),%ecx
403f45:	8d 55 e0             	lea    -0x20(%ebp),%edx
403f48:	ff 75 0c             	push   0xc(%ebp)
403f4b:	52                   	push   %edx
403f4c:	8b 01                	mov    (%ecx),%eax
403f4e:	ff 50 08             	call   *0x8(%eax)
403f51:	6a ff                	push   $0xffffffff
403f53:	6a 00                	push   $0x0
403f55:	8d 45 e0             	lea    -0x20(%ebp),%eax
403f58:	50                   	push   %eax
403f59:	8d 4d 14             	lea    0x14(%ebp),%ecx
403f5c:	e8 ae 20 00 00       	call   0x40600f
403f61:	6a 00                	push   $0x0
403f63:	6a 01                	push   $0x1
403f65:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403f68:	e8 92 1e 00 00       	call   0x405dff
403f6d:	8d 45 14             	lea    0x14(%ebp),%eax
403f70:	8b ce                	mov    %esi,%ecx
403f72:	50                   	push   %eax
403f73:	e8 38 0f 00 00       	call   0x404eb0
403f78:	6a 00                	push   $0x0
403f7a:	6a 01                	push   $0x1
403f7c:	8d 4d 14             	lea    0x14(%ebp),%ecx
403f7f:	e8 7b 1e 00 00       	call   0x405dff
403f84:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403f87:	8b c6                	mov    %esi,%eax
403f89:	33 cd                	xor    %ebp,%ecx
403f8b:	5e                   	pop    %esi
403f8c:	e8 16 5d 00 00       	call   0x409ca7
403f91:	c9                   	leave
403f92:	c3                   	ret
403f93:	55                   	push   %ebp
403f94:	8b ec                	mov    %esp,%ebp
403f96:	83 ec 20             	sub    $0x20,%esp
403f99:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
403f9e:	33 c5                	xor    %ebp,%eax
403fa0:	89 45 f8             	mov    %eax,-0x8(%ebp)
403fa3:	8b 45 10             	mov    0x10(%ebp),%eax
403fa6:	56                   	push   %esi
403fa7:	83 ec 18             	sub    $0x18,%esp
403faa:	8b f1                	mov    %ecx,%esi
403fac:	8b cc                	mov    %esp,%ecx
403fae:	50                   	push   %eax
403faf:	e8 19 10 00 00       	call   0x404fcd
403fb4:	ff 75 0c             	push   0xc(%ebp)
403fb7:	8d 45 e0             	lea    -0x20(%ebp),%eax
403fba:	ff 75 08             	push   0x8(%ebp)
403fbd:	50                   	push   %eax