406cb2:	59                   	pop    %ecx
406cb3:	58                   	pop    %eax
406cb4:	8b 53 3c             	mov    0x3c(%ebx),%edx
406cb7:	03 53 4c             	add    0x4c(%ebx),%edx
406cba:	51                   	push   %ecx
406cbb:	e8 84 bc ff ff       	call   0x402944
406cc0:	58                   	pop    %eax
406cc1:	01 43 4c             	add    %eax,0x4c(%ebx)
406cc4:	5b                   	pop    %ebx
406cc5:	c3                   	ret
406cc6:	8b c0                	mov    %eax,%eax
406cc8:	53                   	push   %ebx
406cc9:	56                   	push   %esi
406cca:	57                   	push   %edi
406ccb:	8b fa                	mov    %edx,%edi
406ccd:	8b d8                	mov    %eax,%ebx
406ccf:	8b c3                	mov    %ebx,%eax
406cd1:	e8 6a fd ff ff       	call   0x406a40
406cd6:	8b f0                	mov    %eax,%esi
406cd8:	8b d7                	mov    %edi,%edx
406cda:	8b c3                	mov    %ebx,%eax
406cdc:	e8 6b fd ff ff       	call   0x406a4c
406ce1:	8b c3                	mov    %ebx,%eax
406ce3:	e8 74 fd ff ff       	call   0x406a5c
406ce8:	50                   	push   %eax
406ce9:	e8 6a db ff ff       	call   0x404858
406cee:	3b fe                	cmp    %esi,%edi
406cf0:	76 09                	jbe    0x406cfb
406cf2:	8b d6                	mov    %esi,%edx
406cf4:	8b c3                	mov    %ebx,%eax
406cf6:	e8 51 fd ff ff       	call   0x406a4c
406cfb:	5f                   	pop    %edi
406cfc:	5e                   	pop    %esi
406cfd:	5b                   	pop    %ebx
406cfe:	c3                   	ret
406cff:	90                   	nop
406d00:	53                   	push   %ebx
406d01:	56                   	push   %esi
406d02:	57                   	push   %edi
406d03:	55                   	push   %ebp
406d04:	83 c4 f8             	add    $0xfffffff8,%esp
406d07:	8b f9                	mov    %ecx,%edi
406d09:	89 14 24             	mov    %edx,(%esp)
406d0c:	8b d8                	mov    %eax,%ebx
406d0e:	8b 43 58             	mov    0x58(%ebx),%eax
406d11:	8b 68 1c             	mov    0x1c(%eax),%ebp
406d14:	8b 73 54             	mov    0x54(%ebx),%esi
406d17:	33 c0                	xor    %eax,%eax
406d19:	89 44 24 04          	mov    %eax,0x4(%esp)
406d1d:	83 fd 01             	cmp    $0x1,%ebp
406d20:	7e 1e                	jle    0x406d40
406d22:	8b d5                	mov    %ebp,%edx
406d24:	83 ea 02             	sub    $0x2,%edx
406d27:	8b 43 58             	mov    0x58(%ebx),%eax
406d2a:	e8 d5 35 00 00       	call   0x40a304
406d2f:	89 44 24 04          	mov    %eax,0x4(%esp)
406d33:	8b d5                	mov    %ebp,%edx
406d35:	4a                   	dec    %edx
406d36:	8b 43 58             	mov    0x58(%ebx),%eax
406d39:	e8 c6 35 00 00       	call   0x40a304
406d3e:	8b f0                	mov    %eax,%esi
406d40:	8b 43 54             	mov    0x54(%ebx),%eax
406d43:	8b c8                	mov    %eax,%ecx
406d45:	2b ce                	sub    %esi,%ecx
406d47:	8b d7                	mov    %edi,%edx
406d49:	3b ca                	cmp    %edx,%ecx
406d4b:	7d 2e                	jge    0x406d7b
406d4d:	8b f0                	mov    %eax,%esi
406d4f:	3b d6                	cmp    %esi,%edx
406d51:	7e 02                	jle    0x406d55
406d53:	8b f7                	mov    %edi,%esi
406d55:	8b c6                	mov    %esi,%eax
406d57:	e8 d4 ba ff ff       	call   0x402830
406d5c:	89 44 24 04          	mov    %eax,0x4(%esp)
406d60:	33 f6                	xor    %esi,%esi
406d62:	8b 43 58             	mov    0x58(%ebx),%eax
406d65:	8b 54 24 04          	mov    0x4(%esp),%edx
406d69:	e8 62 e4 ff ff       	call   0x4051d0
406d6e:	8b 43 58             	mov    0x58(%ebx),%eax
406d71:	33 d2                	xor    %edx,%edx
406d73:	e8 58 e4 ff ff       	call   0x4051d0
406d78:	83 c5 02             	add    $0x2,%ebp
406d7b:	01 74 24 04          	add    %esi,0x4(%esp)
406d7f:	8b 44 24 04          	mov    0x4(%esp),%eax
406d83:	89 43 5c             	mov    %eax,0x5c(%ebx)
406d86:	8b 54 24 04          	mov    0x4(%esp),%edx
406d8a:	8b 04 24             	mov    (%esp),%eax
406d8d:	8b cf                	mov    %edi,%ecx
406d8f:	e8 b0 bb ff ff       	call   0x402944
406d94:	03 f7                	add    %edi,%esi
406d96:	8b 43 58             	mov    0x58(%ebx),%eax
406d99:	8b 40 18             	mov    0x18(%eax),%eax
406d9c:	89 74 a8 fc          	mov    %esi,-0x4(%eax,%ebp,4)
406da0:	01 7b 48             	add    %edi,0x48(%ebx)
406da3:	8b 43 48             	mov    0x48(%ebx),%eax
406da6:	89 43 4c             	mov    %eax,0x4c(%ebx)
406da9:	8b c7                	mov    %edi,%eax
406dab:	59                   	pop    %ecx
406dac:	5a                   	pop    %edx
406dad:	5d                   	pop    %ebp
406dae:	5f                   	pop    %edi
406daf:	5e                   	pop    %esi
406db0:	5b                   	pop    %ebx
406db1:	c3                   	ret
406db2:	8b c0                	mov    %eax,%eax
406db4:	53                   	push   %ebx
406db5:	56                   	push   %esi
406db6:	57                   	push   %edi
406db7:	55                   	push   %ebp
406db8:	83 c4 f8             	add    $0xfffffff8,%esp
406dbb:	89 14 24             	mov    %edx,(%esp)
406dbe:	8b d8                	mov    %eax,%ebx
406dc0:	eb 56                	jmp    0x406e18
406dc2:	8b 43 58             	mov    0x58(%ebx),%eax
406dc5:	8b 70 1c             	mov    0x1c(%eax),%esi
406dc8:	83 ee 02             	sub    $0x2,%esi
406dcb:	8b 43 58             	mov    0x58(%ebx),%eax
406dce:	8b 40 18             	mov    0x18(%eax),%eax
406dd1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
406dd4:	89 44 24 04          	mov    %eax,0x4(%esp)
406dd8:	8b 43 58             	mov    0x58(%ebx),%eax
406ddb:	8b 40 18             	mov    0x18(%eax),%eax
406dde:	8b 6c b0 04          	mov    0x4(%eax,%esi,4),%ebp
406de2:	8b 7b 48             	mov    0x48(%ebx),%edi
406de5:	2b 3c 24             	sub    (%esp),%edi
406de8:	3b ef                	cmp    %edi,%ebp
406dea:	7f 1d                	jg     0x406e09
406dec:	8b 44 24 04          	mov    0x4(%esp),%eax
406df0:	e8 6b ba ff ff       	call   0x402860
406df5:	8b 43 58             	mov    0x58(%ebx),%eax
406df8:	b9 02 00 00 00       	mov    $0x2,%ecx
406dfd:	8b d6                	mov    %esi,%edx
406dff:	e8 30 e4 ff ff       	call   0x405234
406e04:	29 6b 48             	sub    %ebp,0x48(%ebx)
406e07:	eb 0f                	jmp    0x406e18
406e09:	2b ef                	sub    %edi,%ebp
406e0b:	8b 43 58             	mov    0x58(%ebx),%eax
406e0e:	8b 40 18             	mov    0x18(%eax),%eax
406e11:	89 6c b0 04          	mov    %ebp,0x4(%eax,%esi,4)
406e15:	29 7b 48             	sub    %edi,0x48(%ebx)
406e18:	8b 43 48             	mov    0x48(%ebx),%eax
406e1b:	3b 04 24             	cmp    (%esp),%eax
406e1e:	77 a2                	ja     0x406dc2
406e20:	8b 43 48             	mov    0x48(%ebx),%eax
406e23:	3b 43 4c             	cmp    0x4c(%ebx),%eax
406e26:	76 03                	jbe    0x406e2b
406e28:	89 43 4c             	mov    %eax,0x4c(%ebx)
406e2b:	59                   	pop    %ecx
406e2c:	5a                   	pop    %edx
406e2d:	5d                   	pop    %ebp
406e2e:	5f                   	pop    %edi
406e2f:	5e                   	pop    %esi
406e30:	5b                   	pop    %ebx
406e31:	c3                   	ret
406e32:	8b c0                	mov    %eax,%eax
406e34:	53                   	push   %ebx
406e35:	56                   	push   %esi
406e36:	57                   	push   %edi
406e37:	8b f0                	mov    %eax,%esi
406e39:	33 db                	xor    %ebx,%ebx
406e3b:	eb 0e                	jmp    0x406e4b
406e3d:	8b 47 18             	mov    0x18(%edi),%eax
406e40:	8b 04 98             	mov    (%eax,%ebx,4),%eax
406e43:	e8 18 ba ff ff       	call   0x402860
406e48:	83 c3 02             	add    $0x2,%ebx
406e4b:	8b 7e 58             	mov    0x58(%esi),%edi
406e4e:	3b 5f 1c             	cmp    0x1c(%edi),%ebx
406e51:	7c ea                	jl     0x406e3d
406e53:	8d 46 58             	lea    0x58(%esi),%eax
406e56:	e8 f5 e2 ff ff       	call   0x405150
406e5b:	33 c0                	xor    %eax,%eax
406e5d:	89 46 4c             	mov    %eax,0x4c(%esi)
406e60:	33 c0                	xor    %eax,%eax
406e62:	89 46 48             	mov    %eax,0x48(%esi)
406e65:	5f                   	pop    %edi
406e66:	5e                   	pop    %esi
406e67:	5b                   	pop    %ebx
406e68:	c3                   	ret
406e69:	8d 40 00             	lea    0x0(%eax),%eax
406e6c:	53                   	push   %ebx
406e6d:	56                   	push   %esi
406e6e:	51                   	push   %ecx
406e6f:	8b f0                	mov    %eax,%esi
406e71:	b8 88 61 42 00       	mov    $0x426188,%eax
406e76:	e8 d9 fc ff ff       	call   0x406b54
406e7b:	89 04 24             	mov    %eax,(%esp)
406e7e:	8b 04 24             	mov    (%esp),%eax
406e81:	8b 15 cc 60 42 00    	mov    0x4260cc,%edx
406e87:	89 50 28             	mov    %edx,0x28(%eax)
406e8a:	8b 04 24             	mov    (%esp),%eax
406e8d:	c7 40 2c c0 6b 40 00 	movl   $0x406bc0,0x2c(%eax)
406e94:	8b 04 24             	mov    (%esp),%eax
406e97:	c7 40 24 c8 6c 40 00 	movl   $0x406cc8,0x24(%eax)
406e9e:	bb 00 02 00 00       	mov    $0x200,%ebx
406ea3:	8b c6                	mov    %esi,%eax
406ea5:	e8 5e 6a 00 00       	call   0x40d908
406eaa:	84 c0                	test   %al,%al
406eac:	74 05                	je     0x406eb3
406eae:	bb 00 03 00 00       	mov    $0x300,%ebx
406eb3:	8b d3                	mov    %ebx,%edx
406eb5:	81 ca 00 00 00 c0    	or     $0xc0000000,%edx
406ebb:	83 ca 01             	or     $0x1,%edx
406ebe:	8b c6                	mov    %esi,%eax
406ec0:	e8 43 3b 00 00       	call   0x40aa08
406ec5:	8b 14 24             	mov    (%esp),%edx
406ec8:	89 42 40             	mov    %eax,0x40(%edx)
406ecb:	8b 04 24             	mov    (%esp),%eax
406ece:	5a                   	pop    %edx
406ecf:	5e                   	pop    %esi
406ed0:	5b                   	pop    %ebx
406ed1:	c3                   	ret
406ed2:	8b c0                	mov    %eax,%eax
406ed4:	51                   	push   %ecx
406ed5:	b8 a8 61 42 00       	mov    $0x4261a8,%eax
406eda:	e8 75 fc ff ff       	call   0x406b54
406edf:	89 04 24             	mov    %eax,(%esp)
406ee2:	8b 04 24             	mov    (%esp),%eax
406ee5:	5a                   	pop    %edx
406ee6:	c3                   	ret
406ee7:	90                   	nop
406ee8:	c3                   	ret
406ee9:	8d 40 00             	lea    0x0(%eax),%eax
406eec:	53                   	push   %ebx
406eed:	56                   	push   %esi
406eee:	83 c4 f4             	add    $0xfffffff4,%esp
406ef1:	8b d8                	mov    %eax,%ebx
406ef3:	8b f4                	mov    %esp,%esi
406ef5:	e8 da ff ff ff       	call   0x406ed4
406efa:	89 06                	mov    %eax,(%esi)
406efc:	8b 06                	mov    (%esi),%eax
406efe:	89 58 54             	mov    %ebx,0x54(%eax)
406f01:	e8 b2 e2 ff ff       	call   0x4051b8
406f06:	8b 16                	mov    (%esi),%edx
406f08:	89 42 58             	mov    %eax,0x58(%edx)
406f0b:	8b 06                	mov    (%esi),%eax
406f0d:	c7 40 2c 00 6d 40 00 	movl   $0x406d00,0x2c(%eax)
406f14:	8b 06                	mov    (%esi),%eax
406f16:	c7 40 24 a8 6b 40 00 	movl   $0x406ba8,0x24(%eax)
406f1d:	8b 06                	mov    (%esi),%eax
406f1f:	c7 40 30 e8 6e 40 00 	movl   $0x406ee8,0x30(%eax)
406f26:	8b 06                	mov    (%esi),%eax
406f28:	c7 40 28 ac 6b 40 00 	movl   $0x406bac,0x28(%eax)
406f2f:	8b 06                	mov    (%esi),%eax
406f31:	c7 40 1c b0 6b 40 00 	movl   $0x406bb0,0x1c(%eax)
406f38:	8b 06                	mov    (%esi),%eax
406f3a:	c7 40 24 b4 6d 40 00 	movl   $0x406db4,0x24(%eax)
406f41:	8d 4c 24 04          	lea    0x4(%esp),%ecx
406f45:	ba 34 6e 40 00       	mov    $0x406e34,%edx
406f4a:	8b 06                	mov    (%esi),%eax
406f4c:	e8 4f e1 ff ff       	call   0x4050a0
406f51:	ff 74 24 08          	push   0x8(%esp)
406f55:	ff 74 24 08          	push   0x8(%esp)
406f59:	8b 06                	mov    (%esi),%eax
406f5b:	e8 fc 32 00 00       	call   0x40a25c
406f60:	8b 06                	mov    (%esi),%eax
406f62:	83 c4 0c             	add    $0xc,%esp
406f65:	5e                   	pop    %esi
406f66:	5b                   	pop    %ebx
406f67:	c3                   	ret
406f68:	55                   	push   %ebp
406f69:	8b ec                	mov    %esp,%ebp
406f6b:	81 c4 04 f0 ff ff    	add    $0xfffff004,%esp
406f71:	50                   	push   %eax
406f72:	83 c4 fc             	add    $0xfffffffc,%esp
406f75:	53                   	push   %ebx
406f76:	56                   	push   %esi
406f77:	57                   	push   %edi
406f78:	8b f1                	mov    %ecx,%esi
406f7a:	89 55 fc             	mov    %edx,-0x4(%ebp)
406f7d:	8b d8                	mov    %eax,%ebx
406f7f:	8b 7d 08             	mov    0x8(%ebp),%edi
406f82:	80 7b 18 00          	cmpb   $0x0,0x18(%ebx)
406f86:	75 5c                	jne    0x406fe4
406f88:	c6 85 fc ef ff ff 00 	movb   $0x0,-0x1004(%ebp)
406f8f:	8b 43 19             	mov    0x19(%ebx),%eax
406f92:	e8 5d cb ff ff       	call   0x403af4
406f97:	50                   	push   %eax
406f98:	68 00 10 00 00       	push   $0x1000
406f9d:	8d 85 fc ef ff ff    	lea    -0x1004(%ebp),%eax
406fa3:	50                   	push   %eax
406fa4:	8b c6                	mov    %esi,%eax
406fa6:	e8 49 cb ff ff       	call   0x403af4
406fab:	50                   	push   %eax
406fac:	8b 45 fc             	mov    -0x4(%ebp),%eax
406faf:	e8 40 cb ff ff       	call   0x403af4
406fb4:	50                   	push   %eax
406fb5:	8b 43 1d             	mov    0x1d(%ebx),%eax
406fb8:	e8 37 cb ff ff       	call   0x403af4
406fbd:	50                   	push   %eax
406fbe:	e8 21 df ff ff       	call   0x404ee4
406fc3:	85 c0                	test   %eax,%eax
406fc5:	74 14                	je     0x406fdb
406fc7:	8b c7                	mov    %edi,%eax
406fc9:	8d 95 fc ef ff ff    	lea    -0x1004(%ebp),%edx
406fcf:	b9 00 10 00 00       	mov    $0x1000,%ecx
406fd4:	e8 03 c9 ff ff       	call   0x4038dc
406fd9:	eb 3a                	jmp    0x407015
406fdb:	8b c7                	mov    %edi,%eax
406fdd:	e8 b2 c6 ff ff       	call   0x403694
406fe2:	eb 31                	jmp    0x407015
406fe4:	8b c7                	mov    %edi,%eax
406fe6:	8b d6                	mov    %esi,%edx
406fe8:	e8 fb c6 ff ff       	call   0x4036e8
406fed:	8b 43 19             	mov    0x19(%ebx),%eax
406ff0:	e8 ff ca ff ff       	call   0x403af4
406ff5:	50                   	push   %eax
406ff6:	8b c6                	mov    %esi,%eax
406ff8:	e8 f7 ca ff ff       	call   0x403af4
406ffd:	50                   	push   %eax
406ffe:	8b 45 fc             	mov    -0x4(%ebp),%eax
407001:	e8 ee ca ff ff       	call   0x403af4
407006:	50                   	push   %eax
407007:	8b 43 1d             	mov    0x1d(%ebx),%eax
40700a:	e8 e5 ca ff ff       	call   0x403af4
40700f:	50                   	push   %eax
407010:	e8 27 df ff ff       	call   0x404f3c
407015:	5f                   	pop    %edi
407016:	5e                   	pop    %esi
407017:	5b                   	pop    %ebx
407018:	8b e5                	mov    %ebp,%esp
40701a:	5d                   	pop    %ebp
40701b:	c2 04 00             	ret    $0x4
40701e:	8b c0                	mov    %eax,%eax
407020:	53                   	push   %ebx
407021:	56                   	push   %esi
407022:	8b f0                	mov    %eax,%esi
407024:	8b 15 48 4d 40 00    	mov    0x404d48,%edx
40702a:	33 c0                	xor    %eax,%eax
40702c:	e8 cf 31 00 00       	call   0x40a200
407031:	8b d8                	mov    %eax,%ebx
407033:	8d 43 19             	lea    0x19(%ebx),%eax
407036:	8b d6                	mov    %esi,%edx
407038:	e8 ab c6 ff ff       	call   0x4036e8
40703d:	8b c3                	mov    %ebx,%eax
40703f:	5e                   	pop    %esi
407040:	5b                   	pop    %ebx
407041:	c3                   	ret
407042:	8b c0                	mov    %eax,%eax
407044:	33 d2                	xor    %edx,%edx
407046:	e8 21 48 00 00       	call   0x40b86c
40704b:	c3                   	ret
40704c:	6a 00                	push   $0x0
40704e:	6a 00                	push   $0x0
407050:	68 4b 01 00 00       	push   $0x14b
407055:	50                   	push   %eax
407056:	e8 e1 54 00 00       	call   0x40c53c
40705b:	c3                   	ret
40705c:	6a 00                	push   $0x0
40705e:	6a 00                	push   $0x0
407060:	68 09 10 00 00       	push   $0x1009