403b66:	57                   	push   %edi
403b67:	51                   	push   %ecx
403b68:	8b 4d 04             	mov    0x4(%ebp),%ecx
403b6b:	ba 45 01 00 00       	mov    $0x145,%edx
403b70:	e8 06 e8 ff ff       	call   0x40237b
403b75:	8b 74 24 0c          	mov    0xc(%esp),%esi
403b79:	8b 44 24 1c          	mov    0x1c(%esp),%eax
403b7d:	8b 5c 24 18          	mov    0x18(%esp),%ebx
403b81:	eb 6a                	jmp    0x403bed
403b83:	8b 4c 24 10          	mov    0x10(%esp),%ecx
403b87:	8d 7b 10             	lea    0x10(%ebx),%edi
403b8a:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
403b90:	6a 30                	push   $0x30
403b92:	5e                   	pop    %esi
403b93:	8b 01                	mov    (%ecx),%eax
403b95:	89 43 04             	mov    %eax,0x4(%ebx)
403b98:	83 21 00             	andl   $0x0,(%ecx)
403b9b:	8b 44 24 18          	mov    0x18(%esp),%eax
403b9f:	89 43 08             	mov    %eax,0x8(%ebx)
403ba2:	33 c0                	xor    %eax,%eax
403ba4:	89 44 24 10          	mov    %eax,0x10(%esp)
403ba8:	89 44 24 18          	mov    %eax,0x18(%esp)
403bac:	8b 44 24 1c          	mov    0x1c(%esp),%eax
403bb0:	89 43 0c             	mov    %eax,0xc(%ebx)
403bb3:	33 c0                	xor    %eax,%eax
403bb5:	56                   	push   %esi
403bb6:	50                   	push   %eax
403bb7:	57                   	push   %edi
403bb8:	89 44 24 20          	mov    %eax,0x20(%esp)
403bbc:	89 44 24 28          	mov    %eax,0x28(%esp)
403bc0:	e8 86 0d 00 00       	call   0x40494b
403bc5:	83 c4 0c             	add    $0xc,%esp
403bc8:	66 89 37             	mov    %si,(%edi)
403bcb:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
403bd2:	33 c0                	xor    %eax,%eax
403bd4:	83 c7 08             	add    $0x8,%edi
403bd7:	33 f6                	xor    %esi,%esi
403bd9:	6a 0a                	push   $0xa
403bdb:	59                   	pop    %ecx
403bdc:	f3 ab                	rep stos %eax,%es:(%edi)
403bde:	8b 45 08             	mov    0x8(%ebp),%eax
403be1:	33 ff                	xor    %edi,%edi
403be3:	89 18                	mov    %ebx,(%eax)
403be5:	8b 5c 24 10          	mov    0x10(%esp),%ebx
403be9:	8b 44 24 14          	mov    0x14(%esp),%eax
403bed:	85 c0                	test   %eax,%eax
403bef:	74 06                	je     0x403bf7
403bf1:	50                   	push   %eax
403bf2:	e8 fb e7 ff ff       	call   0x4023f2
403bf7:	85 db                	test   %ebx,%ebx
403bf9:	74 06                	je     0x403c01
403bfb:	53                   	push   %ebx
403bfc:	e8 f1 e7 ff ff       	call   0x4023f2
403c01:	85 f6                	test   %esi,%esi
403c03:	74 10                	je     0x403c15
403c05:	56                   	push   %esi
403c06:	6a 00                	push   $0x0
403c08:	ff 15 58 60 40 00    	call   *0x406058
403c0e:	50                   	push   %eax
403c0f:	ff 15 6c 60 40 00    	call   *0x40606c
403c15:	8b c7                	mov    %edi,%eax
403c17:	5f                   	pop    %edi
403c18:	5e                   	pop    %esi
403c19:	5b                   	pop    %ebx
403c1a:	8b e5                	mov    %ebp,%esp
403c1c:	5d                   	pop    %ebp
403c1d:	c2 04 00             	ret    $0x4
403c20:	e8 c7 e7 ff ff       	call   0x4023ec
403c25:	cc                   	int3
403c26:	8b ff                	mov    %edi,%edi
403c28:	55                   	push   %ebp
403c29:	8b ec                	mov    %esp,%ebp
403c2b:	51                   	push   %ecx
403c2c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
403c2f:	8d 41 28             	lea    0x28(%ecx),%eax
403c32:	57                   	push   %edi
403c33:	8b 7d fc             	mov    -0x4(%ebp),%edi
403c36:	89 45 fc             	mov    %eax,-0x4(%ebp)
403c39:	3b f8                	cmp    %eax,%edi
403c3b:	74 3b                	je     0x403c78
403c3d:	53                   	push   %ebx
403c3e:	56                   	push   %esi
403c3f:	8b 1f                	mov    (%edi),%ebx
403c41:	85 db                	test   %ebx,%ebx
403c43:	74 24                	je     0x403c69
403c45:	8b f3                	mov    %ebx,%esi
403c47:	8b 5b 04             	mov    0x4(%ebx),%ebx
403c4a:	8d 4e 08             	lea    0x8(%esi),%ecx
403c4d:	e8 b0 eb ff ff       	call   0x402802
403c52:	56                   	push   %esi
403c53:	6a 00                	push   $0x0
403c55:	ff 15 58 60 40 00    	call   *0x406058
403c5b:	50                   	push   %eax
403c5c:	ff 15 6c 60 40 00    	call   *0x40606c
403c62:	85 db                	test   %ebx,%ebx
403c64:	75 df                	jne    0x403c45
403c66:	8b 45 fc             	mov    -0x4(%ebp),%eax
403c69:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
403c6f:	83 c7 04             	add    $0x4,%edi
403c72:	3b f8                	cmp    %eax,%edi
403c74:	75 c9                	jne    0x403c3f
403c76:	5e                   	pop    %esi
403c77:	5b                   	pop    %ebx
403c78:	5f                   	pop    %edi
403c79:	c9                   	leave
403c7a:	c3                   	ret
403c7b:	8b ff                	mov    %edi,%edi
403c7d:	55                   	push   %ebp
403c7e:	8b ec                	mov    %esp,%ebp
403c80:	56                   	push   %esi
403c81:	57                   	push   %edi
403c82:	8b 39                	mov    (%ecx),%edi
403c84:	33 f6                	xor    %esi,%esi
403c86:	56                   	push   %esi
403c87:	6a ff                	push   $0xffffffff
403c89:	57                   	push   %edi
403c8a:	ff 15 38 60 40 00    	call   *0x406038
403c90:	b9 80 00 00 00       	mov    $0x80,%ecx
403c95:	3d 02 01 00 00       	cmp    $0x102,%eax
403c9a:	74 08                	je     0x403ca4
403c9c:	85 c0                	test   %eax,%eax
403c9e:	74 0c                	je     0x403cac
403ca0:	3b c1                	cmp    %ecx,%eax
403ca2:	75 15                	jne    0x403cb9
403ca4:	85 c0                	test   %eax,%eax
403ca6:	74 04                	je     0x403cac
403ca8:	3b c1                	cmp    %ecx,%eax
403caa:	75 02                	jne    0x403cae
403cac:	8b f7                	mov    %edi,%esi
403cae:	8b 45 08             	mov    0x8(%ebp),%eax
403cb1:	5f                   	pop    %edi
403cb2:	89 30                	mov    %esi,(%eax)
403cb4:	5e                   	pop    %esi
403cb5:	5d                   	pop    %ebp
403cb6:	c2 10 00             	ret    $0x10
403cb9:	51                   	push   %ecx
403cba:	8b 4d 04             	mov    0x4(%ebp),%ecx
403cbd:	e8 04 e7 ff ff       	call   0x4023c6
403cc2:	cc                   	int3
403cc3:	8b ff                	mov    %edi,%edi
403cc5:	55                   	push   %ebp
403cc6:	8b ec                	mov    %esp,%ebp
403cc8:	51                   	push   %ecx
403cc9:	53                   	push   %ebx
403cca:	56                   	push   %esi
403ccb:	8b f1                	mov    %ecx,%esi
403ccd:	8b da                	mov    %edx,%ebx
403ccf:	33 c9                	xor    %ecx,%ecx
403cd1:	57                   	push   %edi
403cd2:	3b f3                	cmp    %ebx,%esi
403cd4:	74 45                	je     0x403d1b
403cd6:	8b 7d 08             	mov    0x8(%ebp),%edi
403cd9:	85 ff                	test   %edi,%edi
403cdb:	74 3e                	je     0x403d1b
403cdd:	66 39 0f             	cmp    %cx,(%edi)
403ce0:	74 39                	je     0x403d1b
403ce2:	8b cf                	mov    %edi,%ecx
403ce4:	e8 2d e2 ff ff       	call   0x401f16
403ce9:	2b de                	sub    %esi,%ebx
403ceb:	89 45 fc             	mov    %eax,-0x4(%ebp)
403cee:	3b d8                	cmp    %eax,%ebx
403cf0:	73 0c                	jae    0x403cfe
403cf2:	8b 45 0c             	mov    0xc(%ebp),%eax
403cf5:	85 c0                	test   %eax,%eax
403cf7:	74 2b                	je     0x403d24
403cf9:	83 20 00             	andl   $0x0,(%eax)
403cfc:	eb 26                	jmp    0x403d24
403cfe:	50                   	push   %eax
403cff:	57                   	push   %edi
403d00:	53                   	push   %ebx
403d01:	56                   	push   %esi
403d02:	ff 15 68 61 40 00    	call   *0x406168
403d08:	8b 45 0c             	mov    0xc(%ebp),%eax
403d0b:	83 c4 10             	add    $0x10,%esp
403d0e:	85 c0                	test   %eax,%eax
403d10:	74 02                	je     0x403d14
403d12:	89 30                	mov    %esi,(%eax)
403d14:	8b 45 fc             	mov    -0x4(%ebp),%eax
403d17:	03 c6                	add    %esi,%eax
403d19:	eb 0b                	jmp    0x403d26
403d1b:	8b 45 0c             	mov    0xc(%ebp),%eax
403d1e:	85 c0                	test   %eax,%eax
403d20:	74 02                	je     0x403d24
403d22:	89 08                	mov    %ecx,(%eax)
403d24:	8b c6                	mov    %esi,%eax
403d26:	5f                   	pop    %edi
403d27:	5e                   	pop    %esi
403d28:	5b                   	pop    %ebx
403d29:	c9                   	leave
403d2a:	c2 08 00             	ret    $0x8
403d2d:	8b ff                	mov    %edi,%edi
403d2f:	55                   	push   %ebp
403d30:	8b ec                	mov    %esp,%ebp
403d32:	53                   	push   %ebx
403d33:	56                   	push   %esi
403d34:	57                   	push   %edi
403d35:	8b fa                	mov    %edx,%edi
403d37:	8b f1                	mov    %ecx,%esi
403d39:	3b f7                	cmp    %edi,%esi
403d3b:	74 3e                	je     0x403d7b
403d3d:	8b 4d 08             	mov    0x8(%ebp),%ecx
403d40:	85 c9                	test   %ecx,%ecx
403d42:	74 37                	je     0x403d7b
403d44:	80 39 00             	cmpb   $0x0,(%ecx)
403d47:	74 32                	je     0x403d7b
403d49:	8b d1                	mov    %ecx,%edx
403d4b:	8d 5a 01             	lea    0x1(%edx),%ebx
403d4e:	8a 02                	mov    (%edx),%al
403d50:	42                   	inc    %edx
403d51:	84 c0                	test   %al,%al
403d53:	75 f9                	jne    0x403d4e
403d55:	2b d3                	sub    %ebx,%edx
403d57:	2b fe                	sub    %esi,%edi
403d59:	8d 5a 01             	lea    0x1(%edx),%ebx
403d5c:	3b fb                	cmp    %ebx,%edi
403d5e:	72 1b                	jb     0x403d7b
403d60:	53                   	push   %ebx
403d61:	51                   	push   %ecx
403d62:	57                   	push   %edi
403d63:	56                   	push   %esi
403d64:	ff 15 68 61 40 00    	call   *0x406168
403d6a:	8b 45 0c             	mov    0xc(%ebp),%eax
403d6d:	83 c4 10             	add    $0x10,%esp
403d70:	85 c0                	test   %eax,%eax
403d72:	74 02                	je     0x403d76
403d74:	89 30                	mov    %esi,(%eax)
403d76:	8d 04 33             	lea    (%ebx,%esi,1),%eax
403d79:	eb 0c                	jmp    0x403d87
403d7b:	8b 45 0c             	mov    0xc(%ebp),%eax
403d7e:	85 c0                	test   %eax,%eax
403d80:	74 03                	je     0x403d85
403d82:	83 20 00             	andl   $0x0,(%eax)
403d85:	8b c6                	mov    %esi,%eax
403d87:	5f                   	pop    %edi
403d88:	5e                   	pop    %esi
403d89:	5b                   	pop    %ebx
403d8a:	5d                   	pop    %ebp
403d8b:	c2 08 00             	ret    $0x8
403d8e:	8b ff                	mov    %edi,%edi
403d90:	55                   	push   %ebp
403d91:	8b ec                	mov    %esp,%ebp
403d93:	51                   	push   %ecx
403d94:	57                   	push   %edi
403d95:	8d 45 fc             	lea    -0x4(%ebp),%eax
403d98:	8b f9                	mov    %ecx,%edi
403d9a:	50                   	push   %eax
403d9b:	68 84 14 40 00       	push   $0x401484
403da0:	6a 01                	push   $0x1
403da2:	6a 00                	push   $0x0
403da4:	68 44 12 40 00       	push   $0x401244
403da9:	ff 15 d8 60 40 00    	call   *0x4060d8
403daf:	85 c0                	test   %eax,%eax
403db1:	78 36                	js     0x403de9
403db3:	53                   	push   %ebx
403db4:	56                   	push   %esi
403db5:	8d 5f 10             	lea    0x10(%edi),%ebx
403db8:	eb 16                	jmp    0x403dd0
403dba:	ff 77 04             	push   0x4(%edi)
403dbd:	8b 71 0c             	mov    0xc(%ecx),%esi
403dc0:	8b ce                	mov    %esi,%ecx
403dc2:	ff 37                	push   (%edi)
403dc4:	50                   	push   %eax
403dc5:	ff 15 90 61 40 00    	call   *0x406190
403dcb:	ff d6                	call   *%esi
403dcd:	83 c7 08             	add    $0x8,%edi
403dd0:	8b 45 fc             	mov    -0x4(%ebp),%eax
403dd3:	8b 08                	mov    (%eax),%ecx
403dd5:	3b fb                	cmp    %ebx,%edi
403dd7:	75 e1                	jne    0x403dba
403dd9:	8b 71 08             	mov    0x8(%ecx),%esi
403ddc:	8b ce                	mov    %esi,%ecx
403dde:	50                   	push   %eax
403ddf:	ff 15 90 61 40 00    	call   *0x406190
403de5:	ff d6                	call   *%esi
403de7:	5e                   	pop    %esi
403de8:	5b                   	pop    %ebx
403de9:	5f                   	pop    %edi
403dea:	c9                   	leave
403deb:	c3                   	ret
403dec:	8b ff                	mov    %edi,%edi
403dee:	55                   	push   %ebp
403def:	8b ec                	mov    %esp,%ebp
403df1:	83 ec 0c             	sub    $0xc,%esp
403df4:	53                   	push   %ebx
403df5:	56                   	push   %esi
403df6:	8b d9                	mov    %ecx,%ebx
403df8:	89 55 f8             	mov    %edx,-0x8(%ebp)
403dfb:	68 40 12 40 00       	push   $0x401240
403e00:	6a 1c                	push   $0x1c
403e02:	83 23 00             	andl   $0x0,(%ebx)
403e05:	e8 de 05 00 00       	call   0x4043e8
403e0a:	59                   	pop    %ecx
403e0b:	59                   	pop    %ecx
403e0c:	85 c0                	test   %eax,%eax
403e0e:	75 07                	jne    0x403e17
403e10:	be 0e 00 07 80       	mov    $0x8007000e,%esi
403e15:	eb 75                	jmp    0x403e8c
403e17:	57                   	push   %edi
403e18:	8b c8                	mov    %eax,%ecx
403e1a:	e8 75 00 00 00       	call   0x403e94
403e1f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403e22:	8b f8                	mov    %eax,%edi
403e24:	89 7d f4             	mov    %edi,-0xc(%ebp)
403e27:	8b 31                	mov    (%ecx),%esi
403e29:	8b 4d 08             	mov    0x8(%ebp),%ecx
403e2c:	8b 01                	mov    (%ecx),%eax
403e2e:	89 45 fc             	mov    %eax,-0x4(%ebp)
403e31:	ff 15 1c 60 40 00    	call   *0x40601c
403e37:	89 47 18             	mov    %eax,0x18(%edi)
403e3a:	89 77 10             	mov    %esi,0x10(%edi)
403e3d:	83 fe 02             	cmp    $0x2,%esi
403e40:	75 10                	jne    0x403e52
403e42:	ff 75 fc             	push   -0x4(%ebp)
403e45:	8d 4f 14             	lea    0x14(%edi),%ecx
403e48:	ff 75 f8             	push   -0x8(%ebp)
403e4b:	e8 ee ed ff ff       	call   0x402c3e
403e50:	eb 17                	jmp    0x403e69
403e52:	8d 77 0c             	lea    0xc(%edi),%esi
403e55:	8b ce                	mov    %esi,%ecx
403e57:	e8 17 fa ff ff       	call   0x403873
403e5c:	56                   	push   %esi
403e5d:	ff 75 fc             	push   -0x4(%ebp)
403e60:	ff 75 f8             	push   -0x8(%ebp)
403e63:	ff 15 cc 60 40 00    	call   *0x4060cc
403e69:	8b f0                	mov    %eax,%esi
403e6b:	85 f6                	test   %esi,%esi
403e6d:	78 14                	js     0x403e83
403e6f:	8b 07                	mov    (%edi),%eax
403e71:	57                   	push   %edi
403e72:	8b 70 04             	mov    0x4(%eax),%esi
403e75:	8b ce                	mov    %esi,%ecx
403e77:	ff 15 90 61 40 00    	call   *0x406190
403e7d:	ff d6                	call   *%esi
403e7f:	89 3b                	mov    %edi,(%ebx)
403e81:	33 f6                	xor    %esi,%esi
403e83:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403e86:	e8 66 f8 ff ff       	call   0x4036f1
403e8b:	5f                   	pop    %edi
403e8c:	8b c6                	mov    %esi,%eax
403e8e:	5e                   	pop    %esi
403e8f:	5b                   	pop    %ebx
403e90:	c9                   	leave
403e91:	c2 08 00             	ret    $0x8
403e94:	8b ff                	mov    %edi,%edi
403e96:	57                   	push   %edi
403e97:	8b f9                	mov    %ecx,%edi
403e99:	8b 0d 48 54 40 00    	mov    0x405448,%ecx
403e9f:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
403ea6:	c7 07 44 10 40 00    	movl   $0x401044,(%edi)
403eac:	85 c9                	test   %ecx,%ecx