410bc0:	8b 4b 04             	mov    0x4(%ebx),%ecx
410bc3:	85 c9                	test   %ecx,%ecx
410bc5:	74 24                	je     0x410beb
410bc7:	8b 01                	mov    (%ecx),%eax
410bc9:	56                   	push   %esi
410bca:	51                   	push   %ecx
410bcb:	8b 78 1c             	mov    0x1c(%eax),%edi
410bce:	8b cf                	mov    %edi,%ecx
410bd0:	ff 15 28 63 41 00    	call   *0x416328
410bd6:	ff d7                	call   *%edi
410bd8:	8b f8                	mov    %eax,%edi
410bda:	85 ff                	test   %edi,%edi
410bdc:	79 28                	jns    0x410c06
410bde:	57                   	push   %edi
410bdf:	68 d8 44 40 00       	push   $0x4044d8
410be4:	68 06 05 00 00       	push   $0x506
410be9:	eb 10                	jmp    0x410bfb
410beb:	bf 03 40 00 80       	mov    $0x80004003,%edi
410bf0:	57                   	push   %edi
410bf1:	68 d8 44 40 00       	push   $0x4044d8
410bf6:	68 0b 05 00 00       	push   $0x50b
410bfb:	68 20 41 40 00       	push   $0x404120
410c00:	51                   	push   %ecx
410c01:	e8 cc 03 00 00       	call   0x410fd2
410c06:	56                   	push   %esi
410c07:	ff 15 b8 61 41 00    	call   *0x4161b8
410c0d:	8b c7                	mov    %edi,%eax
410c0f:	e8 2c 19 00 00       	call   0x412540
410c14:	c2 04 00             	ret    $0x4
410c17:	8b ff                	mov    %edi,%edi
410c19:	55                   	push   %ebp
410c1a:	8b ec                	mov    %esp,%ebp
410c1c:	51                   	push   %ecx
410c1d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
410c21:	53                   	push   %ebx
410c22:	56                   	push   %esi
410c23:	57                   	push   %edi
410c24:	8b f1                	mov    %ecx,%esi
410c26:	0f 84 89 00 00 00    	je     0x410cb5
410c2c:	83 3e 00             	cmpl   $0x0,(%esi)
410c2f:	8b 7d 0c             	mov    0xc(%ebp),%edi
410c32:	74 04                	je     0x410c38
410c34:	85 ff                	test   %edi,%edi
410c36:	74 7d                	je     0x410cb5
410c38:	ff 36                	push   (%esi)
410c3a:	ff 15 7c 61 41 00    	call   *0x41617c
410c40:	8b d8                	mov    %eax,%ebx
410c42:	03 fb                	add    %ebx,%edi
410c44:	3b fb                	cmp    %ebx,%edi
410c46:	7c 76                	jl     0x410cbe
410c48:	57                   	push   %edi
410c49:	6a 00                	push   $0x0
410c4b:	ff 15 80 61 41 00    	call   *0x416180
410c51:	89 45 fc             	mov    %eax,-0x4(%ebp)
410c54:	85 c0                	test   %eax,%eax
410c56:	74 66                	je     0x410cbe
410c58:	ff 36                	push   (%esi)
410c5a:	ff 15 7c 61 41 00    	call   *0x41617c
410c60:	85 c0                	test   %eax,%eax
410c62:	74 1d                	je     0x410c81
410c64:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
410c67:	50                   	push   %eax
410c68:	ff 36                	push   (%esi)
410c6a:	8d 04 3f             	lea    (%edi,%edi,1),%eax
410c6d:	50                   	push   %eax
410c6e:	ff 75 fc             	push   -0x4(%ebp)
410c71:	ff 15 c4 62 41 00    	call   *0x4162c4
410c77:	83 c4 10             	add    $0x10,%esp
410c7a:	8b c8                	mov    %eax,%ecx
410c7c:	e8 8b 3f ff ff       	call   0x404c0c
410c81:	8b 45 0c             	mov    0xc(%ebp),%eax
410c84:	03 c0                	add    %eax,%eax
410c86:	50                   	push   %eax
410c87:	ff 75 08             	push   0x8(%ebp)
410c8a:	50                   	push   %eax
410c8b:	8b 45 fc             	mov    -0x4(%ebp),%eax
410c8e:	8d 04 58             	lea    (%eax,%ebx,2),%eax
410c91:	50                   	push   %eax
410c92:	ff 15 c4 62 41 00    	call   *0x4162c4
410c98:	83 c4 10             	add    $0x10,%esp
410c9b:	8b c8                	mov    %eax,%ecx
410c9d:	e8 6a 3f ff ff       	call   0x404c0c
410ca2:	8b 5d fc             	mov    -0x4(%ebp),%ebx
410ca5:	33 c0                	xor    %eax,%eax
410ca7:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
410cab:	ff 36                	push   (%esi)
410cad:	ff 15 b8 61 41 00    	call   *0x4161b8
410cb3:	89 1e                	mov    %ebx,(%esi)
410cb5:	33 c0                	xor    %eax,%eax
410cb7:	5f                   	pop    %edi
410cb8:	5e                   	pop    %esi
410cb9:	5b                   	pop    %ebx
410cba:	c9                   	leave
410cbb:	c2 08 00             	ret    $0x8
410cbe:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
410cc3:	eb f2                	jmp    0x410cb7
410cc5:	8b ff                	mov    %edi,%edi
410cc7:	57                   	push   %edi
410cc8:	33 c0                	xor    %eax,%eax
410cca:	ba 20 56 41 00       	mov    $0x415620,%edx
410ccf:	6a 06                	push   $0x6
410cd1:	59                   	pop    %ecx
410cd2:	8b fa                	mov    %edx,%edi
410cd4:	f3 ab                	rep stos %eax,%es:(%edi)
410cd6:	a3 38 56 41 00       	mov    %eax,0x415638
410cdb:	8b ca                	mov    %edx,%ecx
410cdd:	a3 3c 56 41 00       	mov    %eax,0x41563c
410ce2:	a3 40 56 41 00       	mov    %eax,0x415640
410ce7:	b8 00 00 40 00       	mov    $0x400000,%eax
410cec:	c7 05 08 56 41 00 3c 	movl   $0x3c,0x415608
410cf3:	00 00 00
410cf6:	a3 10 56 41 00       	mov    %eax,0x415610
410cfb:	a3 0c 56 41 00       	mov    %eax,0x41560c
410d00:	c6 05 14 56 41 00 01 	movb   $0x1,0x415614
410d07:	c7 05 18 56 41 00 00 	movl   $0x800,0x415618
410d0e:	08 00 00
410d11:	c7 05 1c 56 41 00 0c 	movl   $0x40450c,0x41561c
410d18:	45 40 00
410d1b:	e8 1f 3f ff ff       	call   0x404c3f
410d20:	5f                   	pop    %edi
410d21:	85 c0                	test   %eax,%eax
410d23:	79 07                	jns    0x410d2c
410d25:	c6 05 50 56 41 00 01 	movb   $0x1,0x415650
410d2c:	b8 08 56 41 00       	mov    $0x415608,%eax
410d31:	c3                   	ret
410d32:	a1 38 56 41 00       	mov    0x415638,%eax
410d37:	85 c0                	test   %eax,%eax
410d39:	74 0f                	je     0x410d4a
410d3b:	50                   	push   %eax
410d3c:	ff 15 bc 62 41 00    	call   *0x4162bc
410d42:	83 25 38 56 41 00 00 	andl   $0x0,0x415638
410d49:	59                   	pop    %ecx
410d4a:	83 25 3c 56 41 00 00 	andl   $0x0,0x41563c
410d51:	83 25 40 56 41 00 00 	andl   $0x0,0x415640
410d58:	c3                   	ret
410d59:	a1 fc 51 41 00       	mov    0x4151fc,%eax
410d5e:	57                   	push   %edi
410d5f:	8b fa                	mov    %edx,%edi
410d61:	85 c0                	test   %eax,%eax
410d63:	74 74                	je     0x410dd9
410d65:	83 f8 2c             	cmp    $0x2c,%eax
410d68:	74 07                	je     0x410d71
410d6a:	b8 57 00 07 80       	mov    $0x80070057,%eax
410d6f:	5f                   	pop    %edi
410d70:	c3                   	ret
410d71:	a1 20 52 41 00       	mov    0x415220,%eax
410d76:	53                   	push   %ebx
410d77:	33 db                	xor    %ebx,%ebx
410d79:	56                   	push   %esi
410d7a:	8b f3                	mov    %ebx,%esi
410d7c:	85 c0                	test   %eax,%eax
410d7e:	7e 23                	jle    0x410da3
410d80:	85 f6                	test   %esi,%esi
410d82:	78 59                	js     0x410ddd
410d84:	3b f0                	cmp    %eax,%esi
410d86:	7d 55                	jge    0x410ddd
410d88:	a1 1c 52 41 00       	mov    0x41521c,%eax
410d8d:	57                   	push   %edi
410d8e:	0f b7 04 70          	movzwl (%eax,%esi,2),%eax
410d92:	50                   	push   %eax
410d93:	ff 15 e8 61 41 00    	call   *0x4161e8
410d99:	a1 20 52 41 00       	mov    0x415220,%eax
410d9e:	46                   	inc    %esi
410d9f:	3b f0                	cmp    %eax,%esi
410da1:	7c dd                	jl     0x410d80
410da3:	a1 1c 52 41 00       	mov    0x41521c,%eax
410da8:	85 c0                	test   %eax,%eax
410daa:	74 0e                	je     0x410dba
410dac:	50                   	push   %eax
410dad:	ff 15 bc 62 41 00    	call   *0x4162bc
410db3:	59                   	pop    %ecx
410db4:	89 1d 1c 52 41 00    	mov    %ebx,0x41521c
410dba:	68 00 52 41 00       	push   $0x415200
410dbf:	89 1d 20 52 41 00    	mov    %ebx,0x415220
410dc5:	89 1d 24 52 41 00    	mov    %ebx,0x415224
410dcb:	ff 15 c8 60 41 00    	call   *0x4160c8
410dd1:	5e                   	pop    %esi
410dd2:	89 1d fc 51 41 00    	mov    %ebx,0x4151fc
410dd8:	5b                   	pop    %ebx
410dd9:	33 c0                	xor    %eax,%eax
410ddb:	5f                   	pop    %edi
410ddc:	c3                   	ret
410ddd:	b9 8c 00 00 c0       	mov    $0xc000008c,%ecx
410de2:	e8 ea 3d ff ff       	call   0x404bd1
410de7:	cc                   	int3
410de8:	a1 1c 52 41 00       	mov    0x41521c,%eax
410ded:	85 c0                	test   %eax,%eax
410def:	74 0f                	je     0x410e00
410df1:	50                   	push   %eax
410df2:	ff 15 bc 62 41 00    	call   *0x4162bc
410df8:	83 25 1c 52 41 00 00 	andl   $0x0,0x41521c
410dff:	59                   	pop    %ecx
410e00:	83 25 20 52 41 00 00 	andl   $0x0,0x415220
410e07:	83 25 24 52 41 00 00 	andl   $0x0,0x415224
410e0e:	c3                   	ret
410e0f:	8b ff                	mov    %edi,%edi
410e11:	55                   	push   %ebp
410e12:	8b ec                	mov    %esp,%ebp
410e14:	83 ec 1c             	sub    $0x1c,%esp
410e17:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410e1c:	33 c5                	xor    %ebp,%eax
410e1e:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e21:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
410e25:	8d 45 e4             	lea    -0x1c(%ebp),%eax
410e28:	57                   	push   %edi
410e29:	50                   	push   %eax
410e2a:	6a fe                	push   $0xfffffffe
410e2c:	bf c8 30 40 00       	mov    $0x4030c8,%edi
410e31:	5a                   	pop    %edx
410e32:	8b cf                	mov    %edi,%ecx
410e34:	e8 0e c7 ff ff       	call   0x40d547
410e39:	85 c0                	test   %eax,%eax
410e3b:	78 35                	js     0x410e72
410e3d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
410e40:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
410e44:	83 c0 02             	add    $0x2,%eax
410e47:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
410e4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
410e4e:	8d 45 e8             	lea    -0x18(%ebp),%eax
410e51:	50                   	push   %eax
410e52:	6a 01                	push   $0x1
410e54:	68 28 2c 40 00       	push   $0x402c28
410e59:	ff 35 4c 56 41 00    	push   0x41564c
410e5f:	89 7d e8             	mov    %edi,-0x18(%ebp)
410e62:	ff 35 48 56 41 00    	push   0x415648
410e68:	ff 15 98 60 41 00    	call   *0x416098
410e6e:	85 c0                	test   %eax,%eax
410e70:	74 05                	je     0x410e77
410e72:	b8 05 40 00 80       	mov    $0x80004005,%eax
410e77:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410e7a:	33 cd                	xor    %ebp,%ecx
410e7c:	5f                   	pop    %edi
410e7d:	e8 6e 11 00 00       	call   0x411ff0
410e82:	c9                   	leave
410e83:	c2 08 00             	ret    $0x8
410e86:	8b ff                	mov    %edi,%edi
410e88:	55                   	push   %ebp
410e89:	8b ec                	mov    %esp,%ebp
410e8b:	83 ec 40             	sub    $0x40,%esp
410e8e:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410e93:	33 c5                	xor    %ebp,%eax
410e95:	89 45 fc             	mov    %eax,-0x4(%ebp)
410e98:	56                   	push   %esi
410e99:	8b 75 0c             	mov    0xc(%ebp),%esi
410e9c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
410e9f:	57                   	push   %edi
410ea0:	50                   	push   %eax
410ea1:	6a fe                	push   $0xfffffffe
410ea3:	33 ff                	xor    %edi,%edi
410ea5:	8b ce                	mov    %esi,%ecx
410ea7:	5a                   	pop    %edx
410ea8:	89 7d c4             	mov    %edi,-0x3c(%ebp)
410eab:	e8 97 c6 ff ff       	call   0x40d547
410eb0:	85 c0                	test   %eax,%eax
410eb2:	78 54                	js     0x410f08
410eb4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
410eb7:	83 c0 02             	add    $0x2,%eax
410eba:	89 75 c8             	mov    %esi,-0x38(%ebp)
410ebd:	89 45 d0             	mov    %eax,-0x30(%ebp)
410ec0:	8d 45 10             	lea    0x10(%ebp),%eax
410ec3:	6a 04                	push   $0x4
410ec5:	59                   	pop    %ecx
410ec6:	89 45 d8             	mov    %eax,-0x28(%ebp)
410ec9:	8d 45 14             	lea    0x14(%ebp),%eax
410ecc:	89 45 e8             	mov    %eax,-0x18(%ebp)
410ecf:	8d 45 c8             	lea    -0x38(%ebp),%eax
410ed2:	50                   	push   %eax
410ed3:	6a 03                	push   $0x3
410ed5:	68 08 2c 40 00       	push   $0x402c08
410eda:	ff 35 4c 56 41 00    	push   0x41564c
410ee0:	89 7d cc             	mov    %edi,-0x34(%ebp)
410ee3:	ff 35 48 56 41 00    	push   0x415648
410ee9:	89 7d d4             	mov    %edi,-0x2c(%ebp)
410eec:	89 7d dc             	mov    %edi,-0x24(%ebp)
410eef:	89 4d e0             	mov    %ecx,-0x20(%ebp)
410ef2:	89 7d e4             	mov    %edi,-0x1c(%ebp)
410ef5:	89 7d ec             	mov    %edi,-0x14(%ebp)
410ef8:	89 4d f0             	mov    %ecx,-0x10(%ebp)
410efb:	89 7d f4             	mov    %edi,-0xc(%ebp)
410efe:	ff 15 98 60 41 00    	call   *0x416098
410f04:	85 c0                	test   %eax,%eax
410f06:	74 05                	je     0x410f0d
410f08:	b8 05 40 00 80       	mov    $0x80004005,%eax
410f0d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410f10:	5f                   	pop    %edi
410f11:	33 cd                	xor    %ebp,%ecx
410f13:	5e                   	pop    %esi
410f14:	e8 d7 10 00 00       	call   0x411ff0
410f19:	c9                   	leave
410f1a:	c2 10 00             	ret    $0x10
410f1d:	8b ff                	mov    %edi,%edi
410f1f:	55                   	push   %ebp
410f20:	8b ec                	mov    %esp,%ebp
410f22:	83 ec 30             	sub    $0x30,%esp
410f25:	a1 f4 51 41 00       	mov    0x4151f4,%eax
410f2a:	33 c5                	xor    %ebp,%eax
410f2c:	89 45 f8             	mov    %eax,-0x8(%ebp)
410f2f:	53                   	push   %ebx
410f30:	56                   	push   %esi
410f31:	8b 75 10             	mov    0x10(%ebp),%esi
410f34:	8d 45 d0             	lea    -0x30(%ebp),%eax
410f37:	57                   	push   %edi
410f38:	8b 7d 08             	mov    0x8(%ebp),%edi
410f3b:	33 db                	xor    %ebx,%ebx
410f3d:	50                   	push   %eax
410f3e:	6a fe                	push   $0xfffffffe
410f40:	5a                   	pop    %edx
410f41:	8b ce                	mov    %esi,%ecx
410f43:	89 5d d0             	mov    %ebx,-0x30(%ebp)
410f46:	e8 fc c5 ff ff       	call   0x40d547
410f4b:	85 c0                	test   %eax,%eax
410f4d:	78 42                	js     0x410f91
410f4f:	8d 45 0c             	lea    0xc(%ebp),%eax
410f52:	89 5d d8             	mov    %ebx,-0x28(%ebp)
410f55:	89 45 d4             	mov    %eax,-0x2c(%ebp)
410f58:	8b 45 d0             	mov    -0x30(%ebp),%eax
410f5b:	83 c0 02             	add    $0x2,%eax
410f5e:	c7 45 dc 04 00 00 00 	movl   $0x4,-0x24(%ebp)
410f65:	89 45 ec             	mov    %eax,-0x14(%ebp)
410f68:	8d 45 d4             	lea    -0x2c(%ebp),%eax
410f6b:	50                   	push   %eax
410f6c:	6a 02                	push   $0x2
410f6e:	57                   	push   %edi
410f6f:	ff 35 4c 56 41 00    	push   0x41564c
410f75:	89 5d e0             	mov    %ebx,-0x20(%ebp)
410f78:	ff 35 48 56 41 00    	push   0x415648
410f7e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410f81:	89 5d e8             	mov    %ebx,-0x18(%ebp)
410f84:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410f87:	ff 15 98 60 41 00    	call   *0x416098
410f8d:	85 c0                	test   %eax,%eax
410f8f:	74 05                	je     0x410f96
410f91:	b8 05 40 00 80       	mov    $0x80004005,%eax
410f96:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410f99:	5f                   	pop    %edi
410f9a:	5e                   	pop    %esi
410f9b:	33 cd                	xor    %ebp,%ecx
410f9d:	5b                   	pop    %ebx
410f9e:	e8 4d 10 00 00       	call   0x411ff0
410fa3:	c9                   	leave
410fa4:	c2 0c 00             	ret    $0xc
410fa7:	8b ff                	mov    %edi,%edi
410fa9:	55                   	push   %ebp
410faa:	8b ec                	mov    %esp,%ebp
410fac:	6a 00                	push   $0x0
410fae:	6a 00                	push   $0x0
410fb0:	ff 75 08             	push   0x8(%ebp)
410fb3:	ff 35 4c 56 41 00    	push   0x41564c
410fb9:	ff 35 48 56 41 00    	push   0x415648
410fbf:	ff 15 98 60 41 00    	call   *0x416098