4058a1:	83 0a ff             	orl    $0xffffffff,(%edx)
4058a4:	83 c2 20             	add    $0x20,%edx
4058a7:	41                   	inc    %ecx
4058a8:	81 fa f0 05 41 00    	cmp    $0x4105f0,%edx
4058ae:	7c d1                	jl     0x405881
4058b0:	5e                   	pop    %esi
4058b1:	c3                   	ret
4058b2:	e8 75 0c 00 00       	call   0x40652c
4058b7:	80 3d bc 18 41 00 00 	cmpb   $0x0,0x4118bc
4058be:	74 05                	je     0x4058c5
4058c0:	e9 2c 32 00 00       	jmp    0x408af1
4058c5:	c3                   	ret
4058c6:	8b 44 24 04          	mov    0x4(%esp),%eax
4058ca:	b9 80 05 41 00       	mov    $0x410580,%ecx
4058cf:	3b c1                	cmp    %ecx,%eax
4058d1:	72 17                	jb     0x4058ea
4058d3:	3d e0 07 41 00       	cmp    $0x4107e0,%eax
4058d8:	77 10                	ja     0x4058ea
4058da:	2b c1                	sub    %ecx,%eax
4058dc:	c1 f8 05             	sar    $0x5,%eax
4058df:	83 c0 1c             	add    $0x1c,%eax
4058e2:	50                   	push   %eax
4058e3:	e8 0d 17 00 00       	call   0x406ff5
4058e8:	59                   	pop    %ecx
4058e9:	c3                   	ret
4058ea:	83 c0 20             	add    $0x20,%eax
4058ed:	50                   	push   %eax
4058ee:	ff 15 b4 d0 40 00    	call   *0x40d0b4
4058f4:	c3                   	ret
4058f5:	8b 44 24 04          	mov    0x4(%esp),%eax
4058f9:	83 f8 14             	cmp    $0x14,%eax
4058fc:	7d 0b                	jge    0x405909
4058fe:	83 c0 1c             	add    $0x1c,%eax
405901:	50                   	push   %eax
405902:	e8 ee 16 00 00       	call   0x406ff5
405907:	59                   	pop    %ecx
405908:	c3                   	ret
405909:	8b 44 24 08          	mov    0x8(%esp),%eax
40590d:	83 c0 20             	add    $0x20,%eax
405910:	50                   	push   %eax
405911:	ff 15 b4 d0 40 00    	call   *0x40d0b4
405917:	c3                   	ret
405918:	8b 44 24 04          	mov    0x4(%esp),%eax
40591c:	b9 80 05 41 00       	mov    $0x410580,%ecx
405921:	3b c1                	cmp    %ecx,%eax
405923:	72 17                	jb     0x40593c
405925:	3d e0 07 41 00       	cmp    $0x4107e0,%eax
40592a:	77 10                	ja     0x40593c
40592c:	2b c1                	sub    %ecx,%eax
40592e:	c1 f8 05             	sar    $0x5,%eax
405931:	83 c0 1c             	add    $0x1c,%eax
405934:	50                   	push   %eax
405935:	e8 1c 17 00 00       	call   0x407056
40593a:	59                   	pop    %ecx
40593b:	c3                   	ret
40593c:	83 c0 20             	add    $0x20,%eax
40593f:	50                   	push   %eax
405940:	ff 15 c8 d0 40 00    	call   *0x40d0c8
405946:	c3                   	ret
405947:	8b 44 24 04          	mov    0x4(%esp),%eax
40594b:	83 f8 14             	cmp    $0x14,%eax
40594e:	7d 0b                	jge    0x40595b
405950:	83 c0 1c             	add    $0x1c,%eax
405953:	50                   	push   %eax
405954:	e8 fd 16 00 00       	call   0x407056
405959:	59                   	pop    %ecx
40595a:	c3                   	ret
40595b:	8b 44 24 08          	mov    0x8(%esp),%eax
40595f:	83 c0 20             	add    $0x20,%eax
405962:	50                   	push   %eax
405963:	ff 15 c8 d0 40 00    	call   *0x40d0c8
405969:	c3                   	ret
40596a:	55                   	push   %ebp
40596b:	8b ec                	mov    %esp,%ebp
40596d:	51                   	push   %ecx
40596e:	53                   	push   %ebx
40596f:	56                   	push   %esi
405970:	57                   	push   %edi
405971:	8b 45 0c             	mov    0xc(%ebp),%eax
405974:	83 c0 0c             	add    $0xc,%eax
405977:	89 45 fc             	mov    %eax,-0x4(%ebp)
40597a:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
405981:	8b 03                	mov    (%ebx),%eax
405983:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405989:	8b 45 08             	mov    0x8(%ebp),%eax
40598c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40598f:	8b 63 fc             	mov    -0x4(%ebx),%esp
405992:	8b 6d fc             	mov    -0x4(%ebp),%ebp
405995:	ff e0                	jmp    *%eax
405997:	5f                   	pop    %edi
405998:	5e                   	pop    %esi
405999:	5b                   	pop    %ebx
40599a:	c9                   	leave
40599b:	c2 08 00             	ret    $0x8
40599e:	58                   	pop    %eax
40599f:	59                   	pop    %ecx
4059a0:	87 04 24             	xchg   %eax,(%esp)
4059a3:	ff e0                	jmp    *%eax
4059a5:	58                   	pop    %eax
4059a6:	59                   	pop    %ecx
4059a7:	87 04 24             	xchg   %eax,(%esp)
4059aa:	ff e0                	jmp    *%eax
4059ac:	55                   	push   %ebp
4059ad:	8b ec                	mov    %esp,%ebp
4059af:	51                   	push   %ecx
4059b0:	51                   	push   %ecx
4059b1:	53                   	push   %ebx
4059b2:	56                   	push   %esi
4059b3:	57                   	push   %edi
4059b4:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4059ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
4059bd:	c7 45 fc d4 59 40 00 	movl   $0x4059d4,-0x4(%ebp)
4059c4:	6a 00                	push   $0x0
4059c6:	ff 75 0c             	push   0xc(%ebp)
4059c9:	ff 75 fc             	push   -0x4(%ebp)
4059cc:	ff 75 08             	push   0x8(%ebp)
4059cf:	e8 48 6a 00 00       	call   0x40c41c
4059d4:	8b 45 0c             	mov    0xc(%ebp),%eax
4059d7:	8b 40 04             	mov    0x4(%eax),%eax
4059da:	24 fd                	and    $0xfd,%al
4059dc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4059df:	89 41 04             	mov    %eax,0x4(%ecx)
4059e2:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4059e8:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4059eb:	89 03                	mov    %eax,(%ebx)
4059ed:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
4059f4:	5f                   	pop    %edi
4059f5:	5e                   	pop    %esi
4059f6:	5b                   	pop    %ebx
4059f7:	c9                   	leave
4059f8:	c2 08 00             	ret    $0x8
4059fb:	55                   	push   %ebp
4059fc:	8b ec                	mov    %esp,%ebp
4059fe:	83 ec 04             	sub    $0x4,%esp
405a01:	53                   	push   %ebx
405a02:	56                   	push   %esi
405a03:	57                   	push   %edi
405a04:	fc                   	cld
405a05:	89 45 fc             	mov    %eax,-0x4(%ebp)
405a08:	33 c0                	xor    %eax,%eax
405a0a:	50                   	push   %eax
405a0b:	50                   	push   %eax
405a0c:	50                   	push   %eax
405a0d:	ff 75 fc             	push   -0x4(%ebp)
405a10:	ff 75 14             	push   0x14(%ebp)
405a13:	ff 75 10             	push   0x10(%ebp)
405a16:	ff 75 0c             	push   0xc(%ebp)
405a19:	ff 75 08             	push   0x8(%ebp)
405a1c:	e8 51 31 00 00       	call   0x408b72
405a21:	83 c4 20             	add    $0x20,%esp
405a24:	89 45 14             	mov    %eax,0x14(%ebp)
405a27:	5f                   	pop    %edi
405a28:	5e                   	pop    %esi
405a29:	5b                   	pop    %ebx
405a2a:	8b 45 14             	mov    0x14(%ebp),%eax
405a2d:	8b e5                	mov    %ebp,%esp
405a2f:	5d                   	pop    %ebp
405a30:	c3                   	ret
405a31:	55                   	push   %ebp
405a32:	8b ec                	mov    %esp,%ebp
405a34:	83 ec 14             	sub    $0x14,%esp
405a37:	8b 45 0c             	mov    0xc(%ebp),%eax
405a3a:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
405a3e:	8b 4d 08             	mov    0x8(%ebp),%ecx
405a41:	89 45 f4             	mov    %eax,-0xc(%ebp)
405a44:	8b 45 14             	mov    0x14(%ebp),%eax
405a47:	c7 45 f0 85 5a 40 00 	movl   $0x405a85,-0x10(%ebp)
405a4e:	40                   	inc    %eax
405a4f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
405a52:	89 45 fc             	mov    %eax,-0x4(%ebp)
405a55:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405a5b:	89 45 ec             	mov    %eax,-0x14(%ebp)
405a5e:	8d 85 ec ff ff ff    	lea    -0x14(%ebp),%eax
405a64:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405a6a:	ff 75 18             	push   0x18(%ebp)
405a6d:	51                   	push   %ecx
405a6e:	ff 75 10             	push   0x10(%ebp)
405a71:	e8 1a 39 00 00       	call   0x409390
405a76:	8b c8                	mov    %eax,%ecx
405a78:	8b 45 ec             	mov    -0x14(%ebp),%eax
405a7b:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405a81:	8b c1                	mov    %ecx,%eax
405a83:	c9                   	leave
405a84:	c3                   	ret
405a85:	55                   	push   %ebp
405a86:	8b ec                	mov    %esp,%ebp
405a88:	fc                   	cld
405a89:	8b 45 0c             	mov    0xc(%ebp),%eax
405a8c:	6a 00                	push   $0x0
405a8e:	50                   	push   %eax
405a8f:	ff 70 10             	push   0x10(%eax)
405a92:	ff 70 08             	push   0x8(%eax)
405a95:	6a 00                	push   $0x0
405a97:	ff 75 10             	push   0x10(%ebp)
405a9a:	ff 70 0c             	push   0xc(%eax)
405a9d:	ff 75 08             	push   0x8(%ebp)
405aa0:	e8 cd 30 00 00       	call   0x408b72
405aa5:	83 c4 20             	add    $0x20,%esp
405aa8:	5d                   	pop    %ebp
405aa9:	c3                   	ret
405aaa:	55                   	push   %ebp
405aab:	8b ec                	mov    %esp,%ebp
405aad:	83 ec 34             	sub    $0x34,%esp
405ab0:	53                   	push   %ebx
405ab1:	56                   	push   %esi
405ab2:	57                   	push   %edi
405ab3:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
405ab7:	c7 45 dc 60 5b 40 00 	movl   $0x405b60,-0x24(%ebp)
405abe:	8b 45 18             	mov    0x18(%ebp),%eax
405ac1:	89 45 e0             	mov    %eax,-0x20(%ebp)
405ac4:	8b 45 0c             	mov    0xc(%ebp),%eax
405ac7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405aca:	8b 45 1c             	mov    0x1c(%ebp),%eax
405acd:	89 45 e8             	mov    %eax,-0x18(%ebp)
405ad0:	8b 45 20             	mov    0x20(%ebp),%eax
405ad3:	89 45 ec             	mov    %eax,-0x14(%ebp)
405ad6:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
405ada:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
405ade:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
405ae2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405ae6:	c7 45 f0 32 5b 40 00 	movl   $0x405b32,-0x10(%ebp)
405aed:	89 65 f4             	mov    %esp,-0xc(%ebp)
405af0:	89 6d f8             	mov    %ebp,-0x8(%ebp)
405af3:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405af9:	89 45 d8             	mov    %eax,-0x28(%ebp)
405afc:	8d 85 d8 ff ff ff    	lea    -0x28(%ebp),%eax
405b02:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405b08:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
405b0f:	8b 45 08             	mov    0x8(%ebp),%eax
405b12:	89 45 d0             	mov    %eax,-0x30(%ebp)
405b15:	8b 45 10             	mov    0x10(%ebp),%eax
405b18:	89 45 d4             	mov    %eax,-0x2c(%ebp)
405b1b:	8d 45 d0             	lea    -0x30(%ebp),%eax
405b1e:	50                   	push   %eax
405b1f:	8b 45 08             	mov    0x8(%ebp),%eax
405b22:	ff 30                	push   (%eax)
405b24:	e8 9e 2b 00 00       	call   0x4086c7
405b29:	ff 50 68             	call   *0x68(%eax)
405b2c:	59                   	pop    %ecx
405b2d:	59                   	pop    %ecx
405b2e:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
405b32:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
405b36:	74 17                	je     0x405b4f
405b38:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
405b3f:	8b 03                	mov    (%ebx),%eax
405b41:	8b 5d d8             	mov    -0x28(%ebp),%ebx
405b44:	89 03                	mov    %eax,(%ebx)
405b46:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
405b4d:	eb 09                	jmp    0x405b58
405b4f:	8b 45 d8             	mov    -0x28(%ebp),%eax
405b52:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405b58:	8b 45 cc             	mov    -0x34(%ebp),%eax
405b5b:	5f                   	pop    %edi
405b5c:	5e                   	pop    %esi
405b5d:	5b                   	pop    %ebx
405b5e:	c9                   	leave
405b5f:	c3                   	ret
405b60:	55                   	push   %ebp
405b61:	8b ec                	mov    %esp,%ebp
405b63:	53                   	push   %ebx
405b64:	56                   	push   %esi
405b65:	57                   	push   %edi
405b66:	fc                   	cld
405b67:	8b 45 08             	mov    0x8(%ebp),%eax
405b6a:	8b 40 04             	mov    0x4(%eax),%eax
405b6d:	83 e0 66             	and    $0x66,%eax
405b70:	85 c0                	test   %eax,%eax
405b72:	74 0f                	je     0x405b83
405b74:	8b 45 0c             	mov    0xc(%ebp),%eax
405b77:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
405b7e:	6a 01                	push   $0x1
405b80:	58                   	pop    %eax
405b81:	eb 4d                	jmp    0x405bd0
405b83:	6a 01                	push   $0x1
405b85:	8b 45 0c             	mov    0xc(%ebp),%eax
405b88:	ff 70 14             	push   0x14(%eax)
405b8b:	8b 45 0c             	mov    0xc(%ebp),%eax
405b8e:	ff 70 10             	push   0x10(%eax)
405b91:	8b 45 0c             	mov    0xc(%ebp),%eax
405b94:	ff 70 08             	push   0x8(%eax)
405b97:	6a 00                	push   $0x0
405b99:	ff 75 10             	push   0x10(%ebp)
405b9c:	8b 45 0c             	mov    0xc(%ebp),%eax
405b9f:	ff 70 0c             	push   0xc(%eax)
405ba2:	ff 75 08             	push   0x8(%ebp)
405ba5:	e8 c8 2f 00 00       	call   0x408b72
405baa:	83 c4 20             	add    $0x20,%esp
405bad:	8b 45 0c             	mov    0xc(%ebp),%eax
405bb0:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
405bb4:	75 0b                	jne    0x405bc1
405bb6:	ff 75 08             	push   0x8(%ebp)
405bb9:	ff 75 0c             	push   0xc(%ebp)
405bbc:	e8 eb fd ff ff       	call   0x4059ac
405bc1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
405bc4:	8b 63 1c             	mov    0x1c(%ebx),%esp
405bc7:	8b 6b 20             	mov    0x20(%ebx),%ebp
405bca:	ff 63 18             	jmp    *0x18(%ebx)
405bcd:	6a 01                	push   $0x1
405bcf:	58                   	pop    %eax
405bd0:	5f                   	pop    %edi
405bd1:	5e                   	pop    %esi
405bd2:	5b                   	pop    %ebx
405bd3:	5d                   	pop    %ebp
405bd4:	c3                   	ret
405bd5:	55                   	push   %ebp
405bd6:	8b ec                	mov    %esp,%ebp
405bd8:	51                   	push   %ecx
405bd9:	53                   	push   %ebx
405bda:	56                   	push   %esi
405bdb:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
405bdf:	57                   	push   %edi
405be0:	8b 7d 08             	mov    0x8(%ebp),%edi
405be3:	8b 77 0c             	mov    0xc(%edi),%esi
405be6:	8b 5f 10             	mov    0x10(%edi),%ebx
405be9:	8b c6                	mov    %esi,%eax
405beb:	89 75 08             	mov    %esi,0x8(%ebp)
405bee:	89 45 fc             	mov    %eax,-0x4(%ebp)
405bf1:	7c 39                	jl     0x405c2c
405bf3:	83 fe ff             	cmp    $0xffffffff,%esi
405bf6:	75 05                	jne    0x405bfd
405bf8:	e8 40 38 00 00       	call   0x40943d
405bfd:	8b 4d 10             	mov    0x10(%ebp),%ecx
405c00:	4e                   	dec    %esi
405c01:	8d 04 b6             	lea    (%esi,%esi,4),%eax
405c04:	39 4c 83 04          	cmp    %ecx,0x4(%ebx,%eax,4)
405c08:	8d 04 83             	lea    (%ebx,%eax,4),%eax
405c0b:	7d 05                	jge    0x405c12
405c0d:	3b 48 08             	cmp    0x8(%eax),%ecx
405c10:	7e 05                	jle    0x405c17
405c12:	83 fe ff             	cmp    $0xffffffff,%esi
405c15:	75 0c                	jne    0x405c23
405c17:	8b 45 08             	mov    0x8(%ebp),%eax
405c1a:	ff 4d 0c             	decl   0xc(%ebp)
405c1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
405c20:	89 75 08             	mov    %esi,0x8(%ebp)
405c23:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
405c27:	7d ca                	jge    0x405bf3
405c29:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c2c:	8b 4d 14             	mov    0x14(%ebp),%ecx
405c2f:	46                   	inc    %esi
405c30:	89 31                	mov    %esi,(%ecx)
405c32:	8b 4d 18             	mov    0x18(%ebp),%ecx
405c35:	89 01                	mov    %eax,(%ecx)
405c37:	3b 47 0c             	cmp    0xc(%edi),%eax
405c3a:	77 04                	ja     0x405c40
405c3c:	3b f0                	cmp    %eax,%esi
405c3e:	76 05                	jbe    0x405c45
405c40:	e8 f8 37 00 00       	call   0x40943d
405c45:	8d 04 b6             	lea    (%esi,%esi,4),%eax
405c48:	5f                   	pop    %edi