406de5:	89 45 c8             	mov    %eax,-0x38(%ebp)
406de8:	8b 46 20             	mov    0x20(%esi),%eax
406deb:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
406df2:	89 45 cc             	mov    %eax,-0x34(%ebp)
406df5:	89 4d bc             	mov    %ecx,-0x44(%ebp)
406df8:	6a 00                	push   $0x0
406dfa:	eb de                	jmp    0x406dda
406dfc:	8b ff                	mov    %edi,%edi
406dfe:	55                   	push   %ebp
406dff:	8b ec                	mov    %esp,%ebp
406e01:	83 e4 f8             	and    $0xfffffff8,%esp
406e04:	b8 64 14 00 00       	mov    $0x1464,%eax
406e09:	e8 42 bd 01 00       	call   0x422b50
406e0e:	a1 10 42 42 00       	mov    0x424210,%eax
406e13:	33 c4                	xor    %esp,%eax
406e15:	89 84 24 60 14 00 00 	mov    %eax,0x1460(%esp)
406e1c:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
406e20:	8b 45 08             	mov    0x8(%ebp),%eax
406e23:	53                   	push   %ebx
406e24:	8b 5d 10             	mov    0x10(%ebp),%ebx
406e27:	56                   	push   %esi
406e28:	89 5c 24 10          	mov    %ebx,0x10(%esp)
406e2c:	8b 5d 14             	mov    0x14(%ebp),%ebx
406e2f:	57                   	push   %edi
406e30:	8b 7d 0c             	mov    0xc(%ebp),%edi
406e33:	89 5c 24 10          	mov    %ebx,0x10(%esp)
406e37:	75 0d                	jne    0x406e46
406e39:	83 3d c8 4c 42 00 00 	cmpl   $0x0,0x424cc8
406e40:	74 04                	je     0x406e46
406e42:	b3 01                	mov    $0x1,%bl
406e44:	eb 02                	jmp    0x406e48
406e46:	32 db                	xor    %bl,%bl
406e48:	8d 74 24 18          	lea    0x18(%esp),%esi
406e4c:	56                   	push   %esi
406e4d:	51                   	push   %ecx
406e4e:	8d 74 24 70          	lea    0x70(%esp),%esi
406e52:	56                   	push   %esi
406e53:	51                   	push   %ecx
406e54:	8d b4 24 78 04 00 00 	lea    0x478(%esp),%esi
406e5b:	56                   	push   %esi
406e5c:	8b 75 18             	mov    0x18(%ebp),%esi
406e5f:	51                   	push   %ecx
406e60:	6a 00                	push   $0x0
406e62:	ff 75 1c             	push   0x1c(%ebp)
406e65:	56                   	push   %esi
406e66:	ff 74 24 34          	push   0x34(%esp)
406e6a:	ff 74 24 3c          	push   0x3c(%esp)
406e6e:	57                   	push   %edi
406e6f:	50                   	push   %eax
406e70:	e8 f6 fc ff ff       	call   0x406b6b
406e75:	83 fe 03             	cmp    $0x3,%esi
406e78:	74 4b                	je     0x406ec5
406e7a:	85 f6                	test   %esi,%esi
406e7c:	75 30                	jne    0x406eae
406e7e:	84 db                	test   %bl,%bl
406e80:	74 1d                	je     0x406e9f
406e82:	8b 35 c8 4c 42 00    	mov    0x424cc8,%esi
406e88:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
406e8f:	50                   	push   %eax
406e90:	8d 44 24 1c          	lea    0x1c(%esp),%eax
406e94:	8b ce                	mov    %esi,%ecx
406e96:	50                   	push   %eax
406e97:	ff 15 78 64 42 00    	call   *0x426478
406e9d:	ff d6                	call   *%esi
406e9f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
406ea3:	e8 a9 fc ff ff       	call   0x406b51
406ea8:	8d 4c 24 18          	lea    0x18(%esp),%ecx
406eac:	eb 1b                	jmp    0x406ec9
406eae:	8b 8c 24 6c 14 00 00 	mov    0x146c(%esp),%ecx
406eb5:	5f                   	pop    %edi
406eb6:	5e                   	pop    %esi
406eb7:	5b                   	pop    %ebx
406eb8:	33 cc                	xor    %esp,%ecx
406eba:	e8 b1 a9 01 00       	call   0x421870
406ebf:	8b e5                	mov    %ebp,%esp
406ec1:	5d                   	pop    %ebp
406ec2:	c2 20 00             	ret    $0x20
406ec5:	8d 4c 24 18          	lea    0x18(%esp),%ecx
406ec9:	e8 bc fe ff ff       	call   0x406d8a
406ece:	cc                   	int3
406ecf:	8b ff                	mov    %edi,%edi
406ed1:	55                   	push   %ebp
406ed2:	8b ec                	mov    %esp,%ebp
406ed4:	83 e4 f8             	and    $0xfffffff8,%esp
406ed7:	51                   	push   %ecx
406ed8:	51                   	push   %ecx
406ed9:	ff 75 1c             	push   0x1c(%ebp)
406edc:	ff 75 18             	push   0x18(%ebp)
406edf:	ff 75 14             	push   0x14(%ebp)
406ee2:	ff 75 10             	push   0x10(%ebp)
406ee5:	ff 75 0c             	push   0xc(%ebp)
406ee8:	ff 75 08             	push   0x8(%ebp)
406eeb:	e8 0c ff ff ff       	call   0x406dfc
406ef0:	8b e5                	mov    %ebp,%esp
406ef2:	5d                   	pop    %ebp
406ef3:	c2 18 00             	ret    $0x18
406ef6:	8b ff                	mov    %edi,%edi
406ef8:	55                   	push   %ebp
406ef9:	8b ec                	mov    %esp,%ebp
406efb:	53                   	push   %ebx
406efc:	56                   	push   %esi
406efd:	57                   	push   %edi
406efe:	ff 75 14             	push   0x14(%ebp)
406f01:	8b fa                	mov    %edx,%edi
406f03:	8b d9                	mov    %ecx,%ebx
406f05:	51                   	push   %ecx
406f06:	51                   	push   %ecx
406f07:	68 a4 1a 40 00       	push   $0x401aa4
406f0c:	e8 90 fb ff ff       	call   0x406aa1
406f11:	8b f0                	mov    %eax,%esi
406f13:	85 f6                	test   %esi,%esi
406f15:	7f 04                	jg     0x406f1b
406f17:	8b ce                	mov    %esi,%ecx
406f19:	eb 09                	jmp    0x406f24
406f1b:	0f b7 ce             	movzwl %si,%ecx
406f1e:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
406f24:	51                   	push   %ecx
406f25:	51                   	push   %ecx
406f26:	51                   	push   %ecx
406f27:	6a 03                	push   $0x3
406f29:	ff 75 14             	push   0x14(%ebp)
406f2c:	8b d7                	mov    %edi,%edx
406f2e:	8b cb                	mov    %ebx,%ecx
406f30:	6a 00                	push   $0x0
406f32:	6a 00                	push   $0x0
406f34:	68 a4 1a 40 00       	push   $0x401aa4
406f39:	e8 be fe ff ff       	call   0x406dfc
406f3e:	5f                   	pop    %edi
406f3f:	8b c6                	mov    %esi,%eax
406f41:	5e                   	pop    %esi
406f42:	5b                   	pop    %ebx
406f43:	5d                   	pop    %ebp
406f44:	c2 14 00             	ret    $0x14
406f47:	8b ff                	mov    %edi,%edi
406f49:	55                   	push   %ebp
406f4a:	8b ec                	mov    %esp,%ebp
406f4c:	53                   	push   %ebx
406f4d:	56                   	push   %esi
406f4e:	57                   	push   %edi
406f4f:	ff 75 14             	push   0x14(%ebp)
406f52:	8b fa                	mov    %edx,%edi
406f54:	8b d9                	mov    %ecx,%ebx
406f56:	51                   	push   %ecx
406f57:	51                   	push   %ecx
406f58:	ff 75 08             	push   0x8(%ebp)
406f5b:	e8 41 fb ff ff       	call   0x406aa1
406f60:	8b f0                	mov    %eax,%esi
406f62:	85 f6                	test   %esi,%esi
406f64:	7e 09                	jle    0x406f6f
406f66:	0f b7 f6             	movzwl %si,%esi
406f69:	81 ce 00 00 07 80    	or     $0x80070000,%esi
406f6f:	51                   	push   %ecx
406f70:	51                   	push   %ecx
406f71:	56                   	push   %esi
406f72:	6a 01                	push   $0x1
406f74:	ff 75 14             	push   0x14(%ebp)
406f77:	8b d7                	mov    %edi,%edx
406f79:	8b cb                	mov    %ebx,%ecx
406f7b:	6a 00                	push   $0x0
406f7d:	6a 00                	push   $0x0
406f7f:	ff 75 08             	push   0x8(%ebp)
406f82:	e8 75 fe ff ff       	call   0x406dfc
406f87:	5f                   	pop    %edi
406f88:	8b c6                	mov    %esi,%eax
406f8a:	5e                   	pop    %esi
406f8b:	5b                   	pop    %ebx
406f8c:	5d                   	pop    %ebp
406f8d:	c2 14 00             	ret    $0x14
406f90:	8b ff                	mov    %edi,%edi
406f92:	55                   	push   %ebp
406f93:	8b ec                	mov    %esp,%ebp
406f95:	ff 75 0c             	push   0xc(%ebp)
406f98:	6a 01                	push   $0x1
406f9a:	ff 75 04             	push   0x4(%ebp)
406f9d:	6a 00                	push   $0x0
406f9f:	6a 00                	push   $0x0
406fa1:	ff 75 08             	push   0x8(%ebp)
406fa4:	e8 26 ff ff ff       	call   0x406ecf
406fa9:	5d                   	pop    %ebp
406faa:	c2 08 00             	ret    $0x8
406fad:	8b ff                	mov    %edi,%edi
406faf:	55                   	push   %ebp
406fb0:	8b ec                	mov    %esp,%ebp
406fb2:	51                   	push   %ecx
406fb3:	51                   	push   %ecx
406fb4:	ff 75 04             	push   0x4(%ebp)
406fb7:	51                   	push   %ecx
406fb8:	51                   	push   %ecx
406fb9:	ff 75 08             	push   0x8(%ebp)
406fbc:	e8 86 ff ff ff       	call   0x406f47
406fc1:	59                   	pop    %ecx
406fc2:	5d                   	pop    %ebp
406fc3:	c2 04 00             	ret    $0x4
406fc6:	8b ff                	mov    %edi,%edi
406fc8:	55                   	push   %ebp
406fc9:	8b ec                	mov    %esp,%ebp
406fcb:	51                   	push   %ecx
406fcc:	ff 75 04             	push   0x4(%ebp)
406fcf:	83 ec 0c             	sub    $0xc,%esp
406fd2:	e8 1f ff ff ff       	call   0x406ef6
406fd7:	5d                   	pop    %ebp
406fd8:	c2 04 00             	ret    $0x4
406fdb:	8b ff                	mov    %edi,%edi
406fdd:	55                   	push   %ebp
406fde:	8b ec                	mov    %esp,%ebp
406fe0:	68 ff ff 00 80       	push   $0x8000ffff
406fe5:	6a 03                	push   $0x3
406fe7:	ff 75 04             	push   0x4(%ebp)
406fea:	6a 00                	push   $0x0
406fec:	6a 00                	push   $0x0
406fee:	ff 75 08             	push   0x8(%ebp)
406ff1:	e8 d9 fe ff ff       	call   0x406ecf
406ff6:	5d                   	pop    %ebp
406ff7:	c2 04 00             	ret    $0x4
406ffa:	6a 07                	push   $0x7
406ffc:	59                   	pop    %ecx
406ffd:	cd 29                	int    $0x29
406fff:	c3                   	ret
407000:	8b ff                	mov    %edi,%edi
407002:	55                   	push   %ebp
407003:	8b ec                	mov    %esp,%ebp
407005:	ff 75 08             	push   0x8(%ebp)
407008:	ff 15 54 61 42 00    	call   *0x426154
40700e:	85 c0                	test   %eax,%eax
407010:	74 04                	je     0x407016
407012:	5d                   	pop    %ebp
407013:	c2 04 00             	ret    $0x4
407016:	51                   	push   %ecx
407017:	8b 4d 04             	mov    0x4(%ebp),%ecx
40701a:	ba 26 09 00 00       	mov    $0x926,%edx
40701f:	e8 a2 ff ff ff       	call   0x406fc6
407024:	cc                   	int3
407025:	8b ff                	mov    %edi,%edi
407027:	55                   	push   %ebp
407028:	8b ec                	mov    %esp,%ebp
40702a:	ff 75 08             	push   0x8(%ebp)
40702d:	ff 15 78 61 42 00    	call   *0x426178
407033:	85 c0                	test   %eax,%eax
407035:	74 04                	je     0x40703b
407037:	5d                   	pop    %ebp
407038:	c2 04 00             	ret    $0x4
40703b:	51                   	push   %ecx
40703c:	8b 4d 04             	mov    0x4(%ebp),%ecx
40703f:	ba 30 09 00 00       	mov    $0x930,%edx
407044:	e8 7d ff ff ff       	call   0x406fc6
407049:	cc                   	int3
40704a:	8b ff                	mov    %edi,%edi
40704c:	55                   	push   %ebp
40704d:	8b ec                	mov    %esp,%ebp
40704f:	51                   	push   %ecx
407050:	51                   	push   %ecx
407051:	53                   	push   %ebx
407052:	33 c0                	xor    %eax,%eax
407054:	8b da                	mov    %edx,%ebx
407056:	56                   	push   %esi
407057:	57                   	push   %edi
407058:	8b f8                	mov    %eax,%edi
40705a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40705d:	89 03                	mov    %eax,(%ebx)
40705f:	89 45 fc             	mov    %eax,-0x4(%ebp)
407062:	8d 45 f8             	lea    -0x8(%ebp),%eax
407065:	51                   	push   %ecx
407066:	50                   	push   %eax
407067:	e8 26 02 00 00       	call   0x407292
40706c:	8b f0                	mov    %eax,%esi
40706e:	85 f6                	test   %esi,%esi
407070:	79 13                	jns    0x407085
407072:	8b 4d 04             	mov    0x4(%ebp),%ecx
407075:	56                   	push   %esi
407076:	68 a0 1a 40 00       	push   $0x401aa0
40707b:	6a 62                	push   $0x62
40707d:	5a                   	pop    %edx
40707e:	e8 0d ff ff ff       	call   0x406f90
407083:	eb 05                	jmp    0x40708a
407085:	8b 7d f8             	mov    -0x8(%ebp),%edi
407088:	33 f6                	xor    %esi,%esi
40708a:	85 f6                	test   %esi,%esi
40708c:	79 15                	jns    0x4070a3
40708e:	8b 4d 04             	mov    0x4(%ebp),%ecx
407091:	56                   	push   %esi
407092:	68 a0 1a 40 00       	push   $0x401aa0
407097:	6a 6b                	push   $0x6b
407099:	5a                   	pop    %edx
40709a:	e8 f1 fe ff ff       	call   0x406f90
40709f:	8b c6                	mov    %esi,%eax
4070a1:	eb 09                	jmp    0x4070ac
4070a3:	8b c7                	mov    %edi,%eax
4070a5:	c1 e0 02             	shl    $0x2,%eax
4070a8:	89 03                	mov    %eax,(%ebx)
4070aa:	33 c0                	xor    %eax,%eax
4070ac:	5f                   	pop    %edi
4070ad:	5e                   	pop    %esi
4070ae:	5b                   	pop    %ebx
4070af:	c9                   	leave
4070b0:	c3                   	ret
4070b1:	8b ff                	mov    %edi,%edi
4070b3:	55                   	push   %ebp
4070b4:	8b ec                	mov    %esp,%ebp
4070b6:	81 ec 14 02 00 00    	sub    $0x214,%esp
4070bc:	a1 10 42 42 00       	mov    0x424210,%eax
4070c1:	33 c5                	xor    %ebp,%eax
4070c3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4070c6:	53                   	push   %ebx
4070c7:	56                   	push   %esi
4070c8:	57                   	push   %edi
4070c9:	8b 7d 10             	mov    0x10(%ebp),%edi
4070cc:	8b d9                	mov    %ecx,%ebx
4070ce:	8b c7                	mov    %edi,%eax
4070d0:	25 00 00 00 80       	and    $0x80000000,%eax
4070d5:	0b 45 14             	or     0x14(%ebp),%eax
4070d8:	0f 85 91 00 00 00    	jne    0x40716f
4070de:	ff 75 08             	push   0x8(%ebp)
4070e1:	be 04 01 00 00       	mov    $0x104,%esi
4070e6:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4070ec:	8b d6                	mov    %esi,%edx
4070ee:	e8 61 f3 ff ff       	call   0x406454
4070f3:	68 dc 1a 40 00       	push   $0x401adc
4070f8:	8b d6                	mov    %esi,%edx
4070fa:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
407100:	e8 84 f3 ff ff       	call   0x406489
407105:	81 e7 ff ff ff 7f    	and    $0x7fffffff,%edi
40710b:	76 04                	jbe    0x407111
40710d:	8b c7                	mov    %edi,%eax
40710f:	eb 03                	jmp    0x407114
407111:	33 c0                	xor    %eax,%eax
407113:	40                   	inc    %eax
407114:	68 03 00 1f 00       	push   $0x1f0003
407119:	33 f6                	xor    %esi,%esi
40711b:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
407121:	56                   	push   %esi
407122:	51                   	push   %ecx
407123:	50                   	push   %eax
407124:	57                   	push   %edi
407125:	56                   	push   %esi
407126:	ff 15 44 61 42 00    	call   *0x426144
40712c:	85 c0                	test   %eax,%eax
40712e:	74 0a                	je     0x40713a
407130:	50                   	push   %eax
407131:	8b cb                	mov    %ebx,%ecx
407133:	e8 43 32 00 00       	call   0x40a37b
407138:	eb 07                	jmp    0x407141
40713a:	e8 9a f9 ff ff       	call   0x406ad9
40713f:	8b f0                	mov    %eax,%esi
407141:	85 f6                	test   %esi,%esi
407143:	79 17                	jns    0x40715c
407145:	8b 4d 04             	mov    0x4(%ebp),%ecx
407148:	ba 85 00 00 00       	mov    $0x85,%edx
40714d:	56                   	push   %esi
40714e:	68 a0 1a 40 00       	push   $0x401aa0
407153:	e8 38 fe ff ff       	call   0x406f90