411cac:	8b d9                	mov    %ecx,%ebx
411cae:	8b f8                	mov    %eax,%edi
411cb0:	83 fa ff             	cmp    $0xffffffff,%edx
411cb3:	75 11                	jne    0x411cc6
411cb5:	2b de                	sub    %esi,%ebx
411cb7:	8a 06                	mov    (%esi),%al
411cb9:	88 04 33             	mov    %al,(%ebx,%esi,1)
411cbc:	46                   	inc    %esi
411cbd:	84 c0                	test   %al,%al
411cbf:	74 1d                	je     0x411cde
411cc1:	4f                   	dec    %edi
411cc2:	75 f3                	jne    0x411cb7
411cc4:	eb 18                	jmp    0x411cde
411cc6:	2b f1                	sub    %ecx,%esi
411cc8:	8a 04 1e             	mov    (%esi,%ebx,1),%al
411ccb:	88 03                	mov    %al,(%ebx)
411ccd:	43                   	inc    %ebx
411cce:	84 c0                	test   %al,%al
411cd0:	74 06                	je     0x411cd8
411cd2:	4f                   	dec    %edi
411cd3:	74 03                	je     0x411cd8
411cd5:	4a                   	dec    %edx
411cd6:	75 f0                	jne    0x411cc8
411cd8:	85 d2                	test   %edx,%edx
411cda:	75 02                	jne    0x411cde
411cdc:	88 13                	mov    %dl,(%ebx)
411cde:	85 ff                	test   %edi,%edi
411ce0:	5f                   	pop    %edi
411ce1:	5b                   	pop    %ebx
411ce2:	75 91                	jne    0x411c75
411ce4:	83 fa ff             	cmp    $0xffffffff,%edx
411ce7:	75 0d                	jne    0x411cf6
411ce9:	8b 45 0c             	mov    0xc(%ebp),%eax
411cec:	6a 50                	push   $0x50
411cee:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
411cf3:	58                   	pop    %eax
411cf4:	eb b1                	jmp    0x411ca7
411cf6:	c6 01 00             	movb   $0x0,(%ecx)
411cf9:	e8 7f 64 ff ff       	call   0x40817d
411cfe:	6a 22                	push   $0x22
411d00:	eb 9b                	jmp    0x411c9d
411d02:	55                   	push   %ebp
411d03:	8b ec                	mov    %esp,%ebp
411d05:	51                   	push   %ecx
411d06:	51                   	push   %ecx
411d07:	a1 90 08 42 00       	mov    0x420890,%eax
411d0c:	33 c5                	xor    %ebp,%eax
411d0e:	89 45 fc             	mov    %eax,-0x4(%ebp)
411d11:	8b 45 08             	mov    0x8(%ebp),%eax
411d14:	53                   	push   %ebx
411d15:	8b 00                	mov    (%eax),%eax
411d17:	56                   	push   %esi
411d18:	8b 40 04             	mov    0x4(%eax),%eax
411d1b:	57                   	push   %edi
411d1c:	33 f6                	xor    %esi,%esi
411d1e:	56                   	push   %esi
411d1f:	56                   	push   %esi
411d20:	ff 75 10             	push   0x10(%ebp)
411d23:	89 45 f8             	mov    %eax,-0x8(%ebp)
411d26:	ff 75 0c             	push   0xc(%ebp)
411d29:	e8 1c de ff ff       	call   0x40fb4a
411d2e:	8b d8                	mov    %eax,%ebx
411d30:	83 c4 10             	add    $0x10,%esp
411d33:	85 db                	test   %ebx,%ebx
411d35:	75 07                	jne    0x411d3e
411d37:	33 c0                	xor    %eax,%eax
411d39:	e9 8a 00 00 00       	jmp    0x411dc8
411d3e:	7e 45                	jle    0x411d85
411d40:	6a e0                	push   $0xffffffe0
411d42:	33 d2                	xor    %edx,%edx
411d44:	58                   	pop    %eax
411d45:	f7 f3                	div    %ebx
411d47:	83 f8 02             	cmp    $0x2,%eax
411d4a:	72 39                	jb     0x411d85
411d4c:	8d 04 5d 08 00 00 00 	lea    0x8(,%ebx,2),%eax
411d53:	3d 00 04 00 00       	cmp    $0x400,%eax
411d58:	77 13                	ja     0x411d6d
411d5a:	e8 51 de ff ff       	call   0x40fbb0
411d5f:	8b fc                	mov    %esp,%edi
411d61:	85 ff                	test   %edi,%edi
411d63:	74 d2                	je     0x411d37
411d65:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
411d6b:	eb 13                	jmp    0x411d80
411d6d:	50                   	push   %eax
411d6e:	e8 ca 64 ff ff       	call   0x40823d
411d73:	8b f8                	mov    %eax,%edi
411d75:	59                   	pop    %ecx
411d76:	85 ff                	test   %edi,%edi
411d78:	74 bd                	je     0x411d37
411d7a:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
411d80:	83 c7 08             	add    $0x8,%edi
411d83:	eb 02                	jmp    0x411d87
411d85:	8b fe                	mov    %esi,%edi
411d87:	85 ff                	test   %edi,%edi
411d89:	74 ac                	je     0x411d37
411d8b:	53                   	push   %ebx
411d8c:	57                   	push   %edi
411d8d:	ff 75 10             	push   0x10(%ebp)
411d90:	ff 75 0c             	push   0xc(%ebp)
411d93:	e8 b2 dd ff ff       	call   0x40fb4a
411d98:	83 c4 10             	add    $0x10,%esp
411d9b:	85 c0                	test   %eax,%eax
411d9d:	74 20                	je     0x411dbf
411d9f:	56                   	push   %esi
411da0:	56                   	push   %esi
411da1:	39 75 18             	cmp    %esi,0x18(%ebp)
411da4:	75 04                	jne    0x411daa
411da6:	56                   	push   %esi
411da7:	56                   	push   %esi
411da8:	eb 06                	jmp    0x411db0
411daa:	ff 75 18             	push   0x18(%ebp)
411dad:	ff 75 14             	push   0x14(%ebp)
411db0:	6a ff                	push   $0xffffffff
411db2:	57                   	push   %edi
411db3:	56                   	push   %esi
411db4:	ff 75 f8             	push   -0x8(%ebp)
411db7:	ff 15 4c 90 41 00    	call   *0x41904c
411dbd:	8b f0                	mov    %eax,%esi
411dbf:	57                   	push   %edi
411dc0:	e8 75 6c ff ff       	call   0x408a3a
411dc5:	59                   	pop    %ecx
411dc6:	8b c6                	mov    %esi,%eax
411dc8:	8d 65 ec             	lea    -0x14(%ebp),%esp
411dcb:	5f                   	pop    %edi
411dcc:	5e                   	pop    %esi
411dcd:	5b                   	pop    %ebx
411dce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411dd1:	33 cd                	xor    %ebp,%ecx
411dd3:	e8 61 29 ff ff       	call   0x404739
411dd8:	c9                   	leave
411dd9:	c3                   	ret
411dda:	55                   	push   %ebp
411ddb:	8b ec                	mov    %esp,%ebp
411ddd:	83 ec 10             	sub    $0x10,%esp
411de0:	ff 75 08             	push   0x8(%ebp)
411de3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
411de6:	e8 12 34 ff ff       	call   0x4051fd
411deb:	ff 75 18             	push   0x18(%ebp)
411dee:	8d 45 f0             	lea    -0x10(%ebp),%eax
411df1:	ff 75 14             	push   0x14(%ebp)
411df4:	ff 75 10             	push   0x10(%ebp)
411df7:	ff 75 0c             	push   0xc(%ebp)
411dfa:	50                   	push   %eax
411dfb:	e8 02 ff ff ff       	call   0x411d02
411e00:	83 c4 14             	add    $0x14,%esp
411e03:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
411e07:	74 07                	je     0x411e10
411e09:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411e0c:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
411e10:	c9                   	leave
411e11:	c3                   	ret
411e12:	cc                   	int3
411e13:	cc                   	int3
411e14:	cc                   	int3
411e15:	cc                   	int3
411e16:	cc                   	int3
411e17:	cc                   	int3
411e18:	cc                   	int3
411e19:	cc                   	int3
411e1a:	cc                   	int3
411e1b:	cc                   	int3
411e1c:	cc                   	int3
411e1d:	cc                   	int3
411e1e:	cc                   	int3
411e1f:	cc                   	int3
411e20:	56                   	push   %esi
411e21:	8b 44 24 14          	mov    0x14(%esp),%eax
411e25:	0b c0                	or     %eax,%eax
411e27:	75 28                	jne    0x411e51
411e29:	8b 4c 24 10          	mov    0x10(%esp),%ecx
411e2d:	8b 44 24 0c          	mov    0xc(%esp),%eax
411e31:	33 d2                	xor    %edx,%edx
411e33:	f7 f1                	div    %ecx
411e35:	8b d8                	mov    %eax,%ebx
411e37:	8b 44 24 08          	mov    0x8(%esp),%eax
411e3b:	f7 f1                	div    %ecx
411e3d:	8b f0                	mov    %eax,%esi
411e3f:	8b c3                	mov    %ebx,%eax
411e41:	f7 64 24 10          	mull   0x10(%esp)
411e45:	8b c8                	mov    %eax,%ecx
411e47:	8b c6                	mov    %esi,%eax
411e49:	f7 64 24 10          	mull   0x10(%esp)
411e4d:	03 d1                	add    %ecx,%edx
411e4f:	eb 47                	jmp    0x411e98
411e51:	8b c8                	mov    %eax,%ecx
411e53:	8b 5c 24 10          	mov    0x10(%esp),%ebx
411e57:	8b 54 24 0c          	mov    0xc(%esp),%edx
411e5b:	8b 44 24 08          	mov    0x8(%esp),%eax
411e5f:	d1 e9                	shr    $1,%ecx
411e61:	d1 db                	rcr    $1,%ebx
411e63:	d1 ea                	shr    $1,%edx
411e65:	d1 d8                	rcr    $1,%eax
411e67:	0b c9                	or     %ecx,%ecx
411e69:	75 f4                	jne    0x411e5f
411e6b:	f7 f3                	div    %ebx
411e6d:	8b f0                	mov    %eax,%esi
411e6f:	f7 64 24 14          	mull   0x14(%esp)
411e73:	8b c8                	mov    %eax,%ecx
411e75:	8b 44 24 10          	mov    0x10(%esp),%eax
411e79:	f7 e6                	mul    %esi
411e7b:	03 d1                	add    %ecx,%edx
411e7d:	72 0e                	jb     0x411e8d
411e7f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
411e83:	77 08                	ja     0x411e8d
411e85:	72 0f                	jb     0x411e96
411e87:	3b 44 24 08          	cmp    0x8(%esp),%eax
411e8b:	76 09                	jbe    0x411e96
411e8d:	4e                   	dec    %esi
411e8e:	2b 44 24 10          	sub    0x10(%esp),%eax
411e92:	1b 54 24 14          	sbb    0x14(%esp),%edx
411e96:	33 db                	xor    %ebx,%ebx
411e98:	2b 44 24 08          	sub    0x8(%esp),%eax
411e9c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
411ea0:	f7 da                	neg    %edx
411ea2:	f7 d8                	neg    %eax
411ea4:	83 da 00             	sbb    $0x0,%edx
411ea7:	8b ca                	mov    %edx,%ecx
411ea9:	8b d3                	mov    %ebx,%edx
411eab:	8b d9                	mov    %ecx,%ebx
411ead:	8b c8                	mov    %eax,%ecx
411eaf:	8b c6                	mov    %esi,%eax
411eb1:	5e                   	pop    %esi
411eb2:	c2 10 00             	ret    $0x10
411eb5:	55                   	push   %ebp
411eb6:	8b ec                	mov    %esp,%ebp
411eb8:	56                   	push   %esi
411eb9:	8b 75 08             	mov    0x8(%ebp),%esi
411ebc:	83 fe fe             	cmp    $0xfffffffe,%esi
411ebf:	75 0d                	jne    0x411ece
411ec1:	e8 b7 62 ff ff       	call   0x40817d
411ec6:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411ecc:	eb 46                	jmp    0x411f14
411ece:	e8 1f b7 ff ff       	call   0x40d5f2
411ed3:	85 c0                	test   %eax,%eax
411ed5:	79 05                	jns    0x411edc
411ed7:	83 c8 ff             	or     $0xffffffff,%eax
411eda:	eb 3a                	jmp    0x411f16
411edc:	85 f6                	test   %esi,%esi
411ede:	78 24                	js     0x411f04
411ee0:	3b 35 14 2a 42 00    	cmp    0x422a14,%esi
411ee6:	73 1c                	jae    0x411f04
411ee8:	8b c6                	mov    %esi,%eax
411eea:	c1 f8 05             	sar    $0x5,%eax
411eed:	83 e6 1f             	and    $0x1f,%esi
411ef0:	8b 04 85 20 2a 42 00 	mov    0x422a20(,%eax,4),%eax
411ef7:	c1 e6 06             	shl    $0x6,%esi
411efa:	0f be 44 30 04       	movsbl 0x4(%eax,%esi,1),%eax
411eff:	83 e0 40             	and    $0x40,%eax
411f02:	eb 12                	jmp    0x411f16
411f04:	e8 74 62 ff ff       	call   0x40817d
411f09:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
411f0f:	e8 e1 96 ff ff       	call   0x40b5f5
411f14:	33 c0                	xor    %eax,%eax
411f16:	5e                   	pop    %esi
411f17:	5d                   	pop    %ebp
411f18:	c3                   	ret
411f19:	55                   	push   %ebp
411f1a:	8b ec                	mov    %esp,%ebp
411f1c:	56                   	push   %esi
411f1d:	8b 75 08             	mov    0x8(%ebp),%esi
411f20:	85 f6                	test   %esi,%esi
411f22:	0f 84 ea 00 00 00    	je     0x412012
411f28:	8b 46 0c             	mov    0xc(%esi),%eax
411f2b:	3b 05 04 03 42 00    	cmp    0x420304,%eax
411f31:	74 07                	je     0x411f3a
411f33:	50                   	push   %eax
411f34:	e8 df 31 ff ff       	call   0x405118
411f39:	59                   	pop    %ecx
411f3a:	8b 46 10             	mov    0x10(%esi),%eax
411f3d:	3b 05 08 03 42 00    	cmp    0x420308,%eax
411f43:	74 07                	je     0x411f4c
411f45:	50                   	push   %eax
411f46:	e8 cd 31 ff ff       	call   0x405118
411f4b:	59                   	pop    %ecx
411f4c:	8b 46 14             	mov    0x14(%esi),%eax
411f4f:	3b 05 0c 03 42 00    	cmp    0x42030c,%eax
411f55:	74 07                	je     0x411f5e
411f57:	50                   	push   %eax
411f58:	e8 bb 31 ff ff       	call   0x405118
411f5d:	59                   	pop    %ecx
411f5e:	8b 46 18             	mov    0x18(%esi),%eax
411f61:	3b 05 10 03 42 00    	cmp    0x420310,%eax
411f67:	74 07                	je     0x411f70
411f69:	50                   	push   %eax
411f6a:	e8 a9 31 ff ff       	call   0x405118
411f6f:	59                   	pop    %ecx
411f70:	8b 46 1c             	mov    0x1c(%esi),%eax
411f73:	3b 05 14 03 42 00    	cmp    0x420314,%eax
411f79:	74 07                	je     0x411f82
411f7b:	50                   	push   %eax
411f7c:	e8 97 31 ff ff       	call   0x405118
411f81:	59                   	pop    %ecx
411f82:	8b 46 20             	mov    0x20(%esi),%eax
411f85:	3b 05 18 03 42 00    	cmp    0x420318,%eax
411f8b:	74 07                	je     0x411f94
411f8d:	50                   	push   %eax
411f8e:	e8 85 31 ff ff       	call   0x405118
411f93:	59                   	pop    %ecx
411f94:	8b 46 24             	mov    0x24(%esi),%eax
411f97:	3b 05 1c 03 42 00    	cmp    0x42031c,%eax
411f9d:	74 07                	je     0x411fa6
411f9f:	50                   	push   %eax
411fa0:	e8 73 31 ff ff       	call   0x405118
411fa5:	59                   	pop    %ecx
411fa6:	8b 46 38             	mov    0x38(%esi),%eax
411fa9:	3b 05 30 03 42 00    	cmp    0x420330,%eax
411faf:	74 07                	je     0x411fb8
411fb1:	50                   	push   %eax
411fb2:	e8 61 31 ff ff       	call   0x405118
411fb7:	59                   	pop    %ecx
411fb8:	8b 46 3c             	mov    0x3c(%esi),%eax
411fbb:	3b 05 34 03 42 00    	cmp    0x420334,%eax
411fc1:	74 07                	je     0x411fca
411fc3:	50                   	push   %eax
411fc4:	e8 4f 31 ff ff       	call   0x405118
411fc9:	59                   	pop    %ecx
411fca:	8b 46 40             	mov    0x40(%esi),%eax
411fcd:	3b 05 38 03 42 00    	cmp    0x420338,%eax
411fd3:	74 07                	je     0x411fdc
411fd5:	50                   	push   %eax
411fd6:	e8 3d 31 ff ff       	call   0x405118
411fdb:	59                   	pop    %ecx
411fdc:	8b 46 44             	mov    0x44(%esi),%eax
411fdf:	3b 05 3c 03 42 00    	cmp    0x42033c,%eax
411fe5:	74 07                	je     0x411fee
411fe7:	50                   	push   %eax
411fe8:	e8 2b 31 ff ff       	call   0x405118
411fed:	59                   	pop    %ecx
411fee:	8b 46 48             	mov    0x48(%esi),%eax
411ff1:	3b 05 40 03 42 00    	cmp    0x420340,%eax
411ff7:	74 07                	je     0x412000
411ff9:	50                   	push   %eax
411ffa:	e8 19 31 ff ff       	call   0x405118
411fff:	59                   	pop    %ecx
412000:	8b 46 4c             	mov    0x4c(%esi),%eax
412003:	3b 05 44 03 42 00    	cmp    0x420344,%eax
412009:	74 07                	je     0x412012
41200b:	50                   	push   %eax
41200c:	e8 07 31 ff ff       	call   0x405118
412011:	59                   	pop    %ecx
412012:	5e                   	pop    %esi
412013:	5d                   	pop    %ebp
412014:	c3                   	ret
412015:	55                   	push   %ebp
412016:	8b ec                	mov    %esp,%ebp
412018:	83 ec 14             	sub    $0x14,%esp
41201b:	53                   	push   %ebx
41201c:	8b 5d 08             	mov    0x8(%ebp),%ebx
41201f:	33 c9                	xor    %ecx,%ecx
412021:	56                   	push   %esi