414ca1:	56                   	push   %esi
414ca2:	57                   	push   %edi
414ca3:	8b fa                	mov    %edx,%edi
414ca5:	85 ff                	test   %edi,%edi
414ca7:	75 2c                	jne    0x414cd5
414ca9:	a1 00 b0 42 00       	mov    0x42b000,%eax
414cae:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414cb3:	74 19                	je     0x414cce
414cb5:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414cb9:	74 13                	je     0x414cce
414cbb:	ff 70 14             	push   0x14(%eax)
414cbe:	ba 10 2b 40 00       	mov    $0x402b10,%edx
414cc3:	ff 70 10             	push   0x10(%eax)
414cc6:	6a 6c                	push   $0x6c
414cc8:	59                   	pop    %ecx
414cc9:	e8 e2 26 ff ff       	call   0x4073b0
414cce:	be 57 00 07 80       	mov    $0x80070057,%esi
414cd3:	eb 5c                	jmp    0x414d31
414cd5:	33 f6                	xor    %esi,%esi
414cd7:	c7 45 f4 60 0f 00 00 	movl   $0xf60,-0xc(%ebp)
414cde:	56                   	push   %esi
414cdf:	8d 45 fc             	lea    -0x4(%ebp),%eax
414ce2:	89 37                	mov    %esi,(%edi)
414ce4:	6a 0c                	push   $0xc
414ce6:	89 45 f0             	mov    %eax,-0x10(%ebp)
414ce9:	8d 45 f0             	lea    -0x10(%ebp),%eax
414cec:	50                   	push   %eax
414ced:	6a 1a                	push   $0x1a
414cef:	51                   	push   %ecx
414cf0:	c7 45 f8 04 00 00 00 	movl   $0x4,-0x8(%ebp)
414cf7:	ff 15 18 c4 42 00    	call   *0x42c418
414cfd:	8b c8                	mov    %eax,%ecx
414cff:	85 c9                	test   %ecx,%ecx
414d01:	74 29                	je     0x414d2c
414d03:	a1 00 b0 42 00       	mov    0x42b000,%eax
414d08:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414d0d:	74 12                	je     0x414d21
414d0f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414d13:	74 0c                	je     0x414d21
414d15:	51                   	push   %ecx
414d16:	ff 70 14             	push   0x14(%eax)
414d19:	ff 70 10             	push   0x10(%eax)
414d1c:	e8 0b ee ff ff       	call   0x413b2c
414d21:	8b 75 fc             	mov    -0x4(%ebp),%esi
414d24:	81 ce 00 00 00 10    	or     $0x10000000,%esi
414d2a:	eb 05                	jmp    0x414d31
414d2c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414d2f:	89 0f                	mov    %ecx,(%edi)
414d31:	5f                   	pop    %edi
414d32:	8b c6                	mov    %esi,%eax
414d34:	5e                   	pop    %esi
414d35:	c9                   	leave
414d36:	c3                   	ret
414d37:	8b ff                	mov    %edi,%edi
414d39:	55                   	push   %ebp
414d3a:	8b ec                	mov    %esp,%ebp
414d3c:	83 ec 18             	sub    $0x18,%esp
414d3f:	53                   	push   %ebx
414d40:	8b 5d 08             	mov    0x8(%ebp),%ebx
414d43:	33 c0                	xor    %eax,%eax
414d45:	89 4d f8             	mov    %ecx,-0x8(%ebp)
414d48:	56                   	push   %esi
414d49:	8b f2                	mov    %edx,%esi
414d4b:	57                   	push   %edi
414d4c:	8d 7d e8             	lea    -0x18(%ebp),%edi
414d4f:	ab                   	stos   %eax,%es:(%edi)
414d50:	ab                   	stos   %eax,%es:(%edi)
414d51:	ab                   	stos   %eax,%es:(%edi)
414d52:	ab                   	stos   %eax,%es:(%edi)
414d53:	85 db                	test   %ebx,%ebx
414d55:	75 07                	jne    0x414d5e
414d57:	be 57 00 07 80       	mov    $0x80070057,%esi
414d5c:	eb 64                	jmp    0x414dc2
414d5e:	33 ff                	xor    %edi,%edi
414d60:	8b cb                	mov    %ebx,%ecx
414d62:	57                   	push   %edi
414d63:	e8 bd 7e ff ff       	call   0x40cc25
414d68:	8b 45 f8             	mov    -0x8(%ebp),%eax
414d6b:	89 45 e8             	mov    %eax,-0x18(%ebp)
414d6e:	8d 45 e8             	lea    -0x18(%ebp),%eax
414d71:	50                   	push   %eax
414d72:	6a 01                	push   $0x1
414d74:	57                   	push   %edi
414d75:	89 7d f0             	mov    %edi,-0x10(%ebp)
414d78:	89 7d f4             	mov    %edi,-0xc(%ebp)
414d7b:	89 75 ec             	mov    %esi,-0x14(%ebp)
414d7e:	ff 15 24 c0 42 00    	call   *0x42c024
414d84:	8b f0                	mov    %eax,%esi
414d86:	85 f6                	test   %esi,%esi
414d88:	74 0d                	je     0x414d97
414d8a:	7e 36                	jle    0x414dc2
414d8c:	0f b7 f6             	movzwl %si,%esi
414d8f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414d95:	eb 2b                	jmp    0x414dc2
414d97:	8b 7d f4             	mov    -0xc(%ebp),%edi
414d9a:	85 ff                	test   %edi,%edi
414d9c:	74 15                	je     0x414db3
414d9e:	33 c0                	xor    %eax,%eax
414da0:	66 39 07             	cmp    %ax,(%edi)
414da3:	74 0e                	je     0x414db3
414da5:	57                   	push   %edi
414da6:	8b cb                	mov    %ebx,%ecx
414da8:	e8 0b 73 ff ff       	call   0x40c0b8
414dad:	8b f0                	mov    %eax,%esi
414daf:	85 f6                	test   %esi,%esi
414db1:	78 04                	js     0x414db7
414db3:	33 db                	xor    %ebx,%ebx
414db5:	8b f3                	mov    %ebx,%esi
414db7:	85 ff                	test   %edi,%edi
414db9:	74 07                	je     0x414dc2
414dbb:	57                   	push   %edi
414dbc:	ff 15 7c c1 42 00    	call   *0x42c17c
414dc2:	5f                   	pop    %edi
414dc3:	8b c6                	mov    %esi,%eax
414dc5:	5e                   	pop    %esi
414dc6:	5b                   	pop    %ebx
414dc7:	c9                   	leave
414dc8:	c2 04 00             	ret    $0x4
414dcb:	8b ff                	mov    %edi,%edi
414dcd:	55                   	push   %ebp
414dce:	8b ec                	mov    %esp,%ebp
414dd0:	b8 14 20 00 00       	mov    $0x2014,%eax
414dd5:	e8 96 35 01 00       	call   0x428370
414dda:	a1 74 b6 42 00       	mov    0x42b674,%eax
414ddf:	33 c5                	xor    %ebp,%eax
414de1:	89 45 fc             	mov    %eax,-0x4(%ebp)
414de4:	53                   	push   %ebx
414de5:	56                   	push   %esi
414de6:	8b c1                	mov    %ecx,%eax
414de8:	33 db                	xor    %ebx,%ebx
414dea:	57                   	push   %edi
414deb:	33 ff                	xor    %edi,%edi
414ded:	89 85 ec df ff ff    	mov    %eax,-0x2014(%ebp)
414df3:	8b f2                	mov    %edx,%esi
414df5:	85 c0                	test   %eax,%eax
414df7:	0f 84 4c 01 00 00    	je     0x414f49
414dfd:	85 f6                	test   %esi,%esi
414dff:	0f 84 44 01 00 00    	je     0x414f49
414e05:	53                   	push   %ebx
414e06:	8b ce                	mov    %esi,%ecx
414e08:	e8 18 7e ff ff       	call   0x40cc25
414e0d:	b9 80 2a 40 00       	mov    $0x402a80,%ecx
414e12:	e8 68 cd ff ff       	call   0x411b7f
414e17:	8b f8                	mov    %eax,%edi
414e19:	85 ff                	test   %edi,%edi
414e1b:	75 0a                	jne    0x414e27
414e1d:	be 32 00 07 80       	mov    $0x80070032,%esi
414e22:	e9 62 01 00 00       	jmp    0x414f89
414e27:	68 9c 2a 40 00       	push   $0x402a9c
414e2c:	57                   	push   %edi
414e2d:	ff 15 84 c1 42 00    	call   *0x42c184
414e33:	89 85 f4 df ff ff    	mov    %eax,-0x200c(%ebp)
414e39:	85 c0                	test   %eax,%eax
414e3b:	75 0a                	jne    0x414e47
414e3d:	be 32 00 07 80       	mov    $0x80070032,%esi
414e42:	e9 2c 01 00 00       	jmp    0x414f73
414e47:	6a 01                	push   $0x1
414e49:	6a 00                	push   $0x0
414e4b:	6a 00                	push   $0x0
414e4d:	ff 15 38 c0 42 00    	call   *0x42c038
414e53:	8b d8                	mov    %eax,%ebx
414e55:	85 db                	test   %ebx,%ebx
414e57:	75 48                	jne    0x414ea1
414e59:	ff 15 18 c2 42 00    	call   *0x42c218
414e5f:	8b f0                	mov    %eax,%esi
414e61:	85 f6                	test   %esi,%esi
414e63:	7e 09                	jle    0x414e6e
414e65:	0f b7 f6             	movzwl %si,%esi
414e68:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414e6e:	a1 00 b0 42 00       	mov    0x42b000,%eax
414e73:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414e78:	0f 84 f5 00 00 00    	je     0x414f73
414e7e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414e82:	0f 84 eb 00 00 00    	je     0x414f73
414e88:	56                   	push   %esi
414e89:	ff 70 14             	push   0x14(%eax)
414e8c:	ff 70 10             	push   0x10(%eax)
414e8f:	6a 6f                	push   $0x6f
414e91:	ba 10 2b 40 00       	mov    $0x402b10,%edx
414e96:	59                   	pop    %ecx
414e97:	e8 32 25 ff ff       	call   0x4073ce
414e9c:	e9 d2 00 00 00       	jmp    0x414f73
414ea1:	8b 8d f4 df ff ff    	mov    -0x200c(%ebp),%ecx
414ea7:	33 c0                	xor    %eax,%eax
414ea9:	66 89 85 f8 df ff ff 	mov    %ax,-0x2008(%ebp)
414eb0:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
414eb6:	50                   	push   %eax
414eb7:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
414ebd:	c7 85 f0 df ff ff 00 	movl   $0x1000,-0x2010(%ebp)
414ec4:	10 00 00
414ec7:	50                   	push   %eax
414ec8:	ff b5 ec df ff ff    	push   -0x2014(%ebp)
414ece:	53                   	push   %ebx
414ecf:	ff 15 d4 c4 42 00    	call   *0x42c4d4
414ed5:	ff 95 f4 df ff ff    	call   *-0x200c(%ebp)
414edb:	85 c0                	test   %eax,%eax
414edd:	75 32                	jne    0x414f11
414edf:	ff 15 18 c2 42 00    	call   *0x42c218
414ee5:	8b f0                	mov    %eax,%esi
414ee7:	85 f6                	test   %esi,%esi
414ee9:	7e 09                	jle    0x414ef4
414eeb:	0f b7 f6             	movzwl %si,%esi
414eee:	81 ce 00 00 07 80    	or     $0x80070000,%esi
414ef4:	a1 00 b0 42 00       	mov    0x42b000,%eax
414ef9:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414efe:	74 73                	je     0x414f73
414f00:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414f04:	74 6d                	je     0x414f73
414f06:	56                   	push   %esi
414f07:	ff 70 14             	push   0x14(%eax)
414f0a:	ff 70 10             	push   0x10(%eax)
414f0d:	6a 70                	push   $0x70
414f0f:	eb 80                	jmp    0x414e91
414f11:	8d 85 f8 df ff ff    	lea    -0x2008(%ebp),%eax
414f17:	8b ce                	mov    %esi,%ecx
414f19:	50                   	push   %eax
414f1a:	e8 99 71 ff ff       	call   0x40c0b8
414f1f:	8b f0                	mov    %eax,%esi
414f21:	85 f6                	test   %esi,%esi
414f23:	79 20                	jns    0x414f45
414f25:	a1 00 b0 42 00       	mov    0x42b000,%eax
414f2a:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414f2f:	74 42                	je     0x414f73
414f31:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414f35:	74 3c                	je     0x414f73
414f37:	56                   	push   %esi
414f38:	ff 70 14             	push   0x14(%eax)
414f3b:	ff 70 10             	push   0x10(%eax)
414f3e:	6a 71                	push   $0x71
414f40:	e9 4c ff ff ff       	jmp    0x414e91
414f45:	33 f6                	xor    %esi,%esi
414f47:	eb 2a                	jmp    0x414f73
414f49:	be 57 00 07 80       	mov    $0x80070057,%esi
414f4e:	a1 00 b0 42 00       	mov    0x42b000,%eax
414f53:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
414f58:	74 2f                	je     0x414f89
414f5a:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
414f5e:	74 29                	je     0x414f89
414f60:	ff 70 14             	push   0x14(%eax)
414f63:	ba 10 2b 40 00       	mov    $0x402b10,%edx
414f68:	ff 70 10             	push   0x10(%eax)
414f6b:	6a 6e                	push   $0x6e
414f6d:	59                   	pop    %ecx
414f6e:	e8 3d 24 ff ff       	call   0x4073b0
414f73:	85 ff                	test   %edi,%edi
414f75:	74 07                	je     0x414f7e
414f77:	57                   	push   %edi
414f78:	ff 15 28 c1 42 00    	call   *0x42c128
414f7e:	85 db                	test   %ebx,%ebx
414f80:	74 07                	je     0x414f89
414f82:	53                   	push   %ebx
414f83:	ff 15 34 c0 42 00    	call   *0x42c034
414f89:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414f8c:	8b c6                	mov    %esi,%eax
414f8e:	5f                   	pop    %edi
414f8f:	5e                   	pop    %esi
414f90:	33 cd                	xor    %ebp,%ecx
414f92:	5b                   	pop    %ebx
414f93:	e8 48 2b 01 00       	call   0x427ae0
414f98:	c9                   	leave
414f99:	c3                   	ret
414f9a:	8b ff                	mov    %edi,%edi
414f9c:	55                   	push   %ebp
414f9d:	8b ec                	mov    %esp,%ebp
414f9f:	83 ec 30             	sub    $0x30,%esp
414fa2:	56                   	push   %esi
414fa3:	57                   	push   %edi
414fa4:	6a 46                	push   $0x46
414fa6:	58                   	pop    %eax
414fa7:	6a 48                	push   $0x48
414fa9:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
414fad:	33 ff                	xor    %edi,%edi
414faf:	58                   	pop    %eax
414fb0:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
414fb4:	8b f1                	mov    %ecx,%esi
414fb6:	8d 45 f4             	lea    -0xc(%ebp),%eax
414fb9:	c7 45 f8 c8 2a 40 00 	movl   $0x402ac8,-0x8(%ebp)
414fc0:	89 45 d8             	mov    %eax,-0x28(%ebp)
414fc3:	8d 45 d0             	lea    -0x30(%ebp),%eax
414fc6:	50                   	push   %eax
414fc7:	68 01 00 10 00       	push   $0x100001
414fcc:	8d 45 fc             	lea    -0x4(%ebp),%eax
414fcf:	c7 45 d0 18 00 00 00 	movl   $0x18,-0x30(%ebp)
414fd6:	50                   	push   %eax
414fd7:	89 7d d4             	mov    %edi,-0x2c(%ebp)
414fda:	89 7d dc             	mov    %edi,-0x24(%ebp)
414fdd:	89 7d e0             	mov    %edi,-0x20(%ebp)
414fe0:	89 7d e4             	mov    %edi,-0x1c(%ebp)
414fe3:	ff 15 4c c4 42 00    	call   *0x42c44c
414fe9:	85 c0                	test   %eax,%eax
414feb:	78 36                	js     0x415023
414fed:	83 fe ff             	cmp    $0xffffffff,%esi
414ff0:	74 0f                	je     0x415001
414ff2:	8b c6                	mov    %esi,%eax
414ff4:	b9 f0 d8 ff ff       	mov    $0xffffd8f0,%ecx
414ff9:	f7 e9                	imul   %ecx
414ffb:	89 45 e8             	mov    %eax,-0x18(%ebp)
414ffe:	89 55 ec             	mov    %edx,-0x14(%ebp)
415001:	46                   	inc    %esi
415002:	8d 45 e8             	lea    -0x18(%ebp),%eax
415005:	f7 de                	neg    %esi
415007:	1b f6                	sbb    %esi,%esi
415009:	23 f0                	and    %eax,%esi
41500b:	56                   	push   %esi
41500c:	57                   	push   %edi
41500d:	ff 75 fc             	push   -0x4(%ebp)
415010:	ff 15 2c c4 42 00    	call   *0x42c42c
415016:	ff 75 fc             	push   -0x4(%ebp)
415019:	8b f0                	mov    %eax,%esi
41501b:	ff 15 48 c4 42 00    	call   *0x42c448
415021:	8b c6                	mov    %esi,%eax
415023:	5f                   	pop    %edi
415024:	5e                   	pop    %esi
415025:	c9                   	leave
415026:	c3                   	ret
415027:	8b ff                	mov    %edi,%edi
415029:	55                   	push   %ebp
41502a:	8b ec                	mov    %esp,%ebp
41502c:	81 ec 9c 00 00 00    	sub    $0x9c,%esp
415032:	a1 74 b6 42 00       	mov    0x42b674,%eax
415037:	33 c5                	xor    %ebp,%eax
415039:	89 45 fc             	mov    %eax,-0x4(%ebp)
41503c:	8b 45 08             	mov    0x8(%ebp),%eax
41503f:	53                   	push   %ebx
415040:	56                   	push   %esi
415041:	57                   	push   %edi
415042:	6a 04                	push   $0x4
415044:	89 45 9c             	mov    %eax,-0x64(%ebp)
415047:	bf c0 1b 40 00       	mov    $0x401bc0,%edi
41504c:	8d 45 a4             	lea    -0x5c(%ebp),%eax
41504f:	89 4d a0             	mov    %ecx,-0x60(%ebp)
415052:	33 c9                	xor    %ecx,%ecx
415054:	89 55 98             	mov    %edx,-0x68(%ebp)
415057:	50                   	push   %eax
415058:	51                   	push   %ecx
415059:	6a 01                	push   $0x1
41505b:	57                   	push   %edi
41505c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41505f:	8b d9                	mov    %ecx,%ebx
415061:	66 c7 45 f8 00 05    	movw   $0x500,-0x8(%ebp)
415067:	89 4d ac             	mov    %ecx,-0x54(%ebp)
41506a:	89 4d b0             	mov    %ecx,-0x50(%ebp)
41506d:	ff 15 20 c4 42 00    	call   *0x42c420
415073:	33 f6                	xor    %esi,%esi
415075:	85 c0                	test   %eax,%eax
415077:	78 17                	js     0x415090
415079:	39 5d a4             	cmp    %ebx,-0x5c(%ebp)
41507c:	74 12                	je     0x415090
41507e:	56                   	push   %esi
41507f:	56                   	push   %esi