408cbc:	55                   	push   %ebp
408cbd:	8b ec                	mov    %esp,%ebp
408cbf:	83 ec 18             	sub    $0x18,%esp
408cc2:	8d 4d e8             	lea    -0x18(%ebp),%ecx
408cc5:	53                   	push   %ebx
408cc6:	57                   	push   %edi
408cc7:	ff 75 0c             	push   0xc(%ebp)
408cca:	e8 2e c5 ff ff       	call   0x4051fd
408ccf:	8b 5d 08             	mov    0x8(%ebp),%ebx
408cd2:	bf 00 01 00 00       	mov    $0x100,%edi
408cd7:	3b df                	cmp    %edi,%ebx
408cd9:	73 60                	jae    0x408d3b
408cdb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
408cde:	83 79 74 01          	cmpl   $0x1,0x74(%ecx)
408ce2:	7e 14                	jle    0x408cf8
408ce4:	8d 45 e8             	lea    -0x18(%ebp),%eax
408ce7:	50                   	push   %eax
408ce8:	6a 01                	push   $0x1
408cea:	53                   	push   %ebx
408ceb:	e8 00 35 00 00       	call   0x40c1f0
408cf0:	8b 4d e8             	mov    -0x18(%ebp),%ecx
408cf3:	83 c4 0c             	add    $0xc,%esp
408cf6:	eb 0d                	jmp    0x408d05
408cf8:	8b 81 90 00 00 00    	mov    0x90(%ecx),%eax
408cfe:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
408d02:	83 e0 01             	and    $0x1,%eax
408d05:	85 c0                	test   %eax,%eax
408d07:	74 1e                	je     0x408d27
408d09:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408d0d:	8b 81 94 00 00 00    	mov    0x94(%ecx),%eax
408d13:	0f b6 0c 18          	movzbl (%eax,%ebx,1),%ecx
408d17:	74 07                	je     0x408d20
408d19:	8b 45 f0             	mov    -0x10(%ebp),%eax
408d1c:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
408d20:	8b c1                	mov    %ecx,%eax
408d22:	e9 d2 00 00 00       	jmp    0x408df9
408d27:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408d2b:	74 07                	je     0x408d34
408d2d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408d30:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
408d34:	8b c3                	mov    %ebx,%eax
408d36:	e9 be 00 00 00       	jmp    0x408df9
408d3b:	8b 45 e8             	mov    -0x18(%ebp),%eax
408d3e:	83 78 74 01          	cmpl   $0x1,0x74(%eax)
408d42:	7e 2d                	jle    0x408d71
408d44:	8b c3                	mov    %ebx,%eax
408d46:	c1 f8 08             	sar    $0x8,%eax
408d49:	89 45 08             	mov    %eax,0x8(%ebp)
408d4c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
408d4f:	0f b6 c0             	movzbl %al,%eax
408d52:	51                   	push   %ecx
408d53:	50                   	push   %eax
408d54:	e8 1e 85 00 00       	call   0x411277
408d59:	59                   	pop    %ecx
408d5a:	59                   	pop    %ecx
408d5b:	85 c0                	test   %eax,%eax
408d5d:	74 12                	je     0x408d71
408d5f:	8b 45 08             	mov    0x8(%ebp),%eax
408d62:	6a 02                	push   $0x2
408d64:	88 45 fc             	mov    %al,-0x4(%ebp)
408d67:	88 5d fd             	mov    %bl,-0x3(%ebp)
408d6a:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
408d6e:	59                   	pop    %ecx
408d6f:	eb 15                	jmp    0x408d86
408d71:	e8 07 f4 ff ff       	call   0x40817d
408d76:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
408d7c:	33 c9                	xor    %ecx,%ecx
408d7e:	88 5d fc             	mov    %bl,-0x4(%ebp)
408d81:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
408d85:	41                   	inc    %ecx
408d86:	8b 45 e8             	mov    -0x18(%ebp),%eax
408d89:	6a 01                	push   $0x1
408d8b:	ff 70 04             	push   0x4(%eax)
408d8e:	8d 55 f8             	lea    -0x8(%ebp),%edx
408d91:	6a 03                	push   $0x3
408d93:	52                   	push   %edx
408d94:	51                   	push   %ecx
408d95:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408d98:	51                   	push   %ecx
408d99:	57                   	push   %edi
408d9a:	ff b0 a8 00 00 00    	push   0xa8(%eax)
408da0:	8d 45 e8             	lea    -0x18(%ebp),%eax
408da3:	50                   	push   %eax
408da4:	e8 4d fc ff ff       	call   0x4089f6
408da9:	83 c4 24             	add    $0x24,%esp
408dac:	85 c0                	test   %eax,%eax
408dae:	75 15                	jne    0x408dc5
408db0:	38 45 f4             	cmp    %al,-0xc(%ebp)
408db3:	0f 84 7b ff ff ff    	je     0x408d34
408db9:	8b 45 f0             	mov    -0x10(%ebp),%eax
408dbc:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
408dc0:	e9 6f ff ff ff       	jmp    0x408d34
408dc5:	83 f8 01             	cmp    $0x1,%eax
408dc8:	75 13                	jne    0x408ddd
408dca:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408dce:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
408dd2:	74 25                	je     0x408df9
408dd4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408dd7:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
408ddb:	eb 1c                	jmp    0x408df9
408ddd:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
408de1:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
408de5:	c1 e2 08             	shl    $0x8,%edx
408de8:	0b d0                	or     %eax,%edx
408dea:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408dee:	74 07                	je     0x408df7
408df0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408df3:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
408df7:	8b c2                	mov    %edx,%eax
408df9:	5f                   	pop    %edi
408dfa:	5b                   	pop    %ebx
408dfb:	c9                   	leave
408dfc:	c3                   	ret
408dfd:	55                   	push   %ebp
408dfe:	8b ec                	mov    %esp,%ebp
408e00:	83 3d 74 27 42 00 00 	cmpl   $0x0,0x422774
408e07:	75 12                	jne    0x408e1b
408e09:	8b 4d 08             	mov    0x8(%ebp),%ecx
408e0c:	8d 41 bf             	lea    -0x41(%ecx),%eax
408e0f:	83 f8 19             	cmp    $0x19,%eax
408e12:	77 03                	ja     0x408e17
408e14:	83 c1 20             	add    $0x20,%ecx
408e17:	8b c1                	mov    %ecx,%eax
408e19:	5d                   	pop    %ebp
408e1a:	c3                   	ret
408e1b:	6a 00                	push   $0x0
408e1d:	ff 75 08             	push   0x8(%ebp)
408e20:	e8 97 fe ff ff       	call   0x408cbc
408e25:	59                   	pop    %ecx
408e26:	59                   	pop    %ecx
408e27:	5d                   	pop    %ebp
408e28:	c3                   	ret
408e29:	cc                   	int3
408e2a:	cc                   	int3
408e2b:	cc                   	int3
408e2c:	cc                   	int3
408e2d:	cc                   	int3
408e2e:	cc                   	int3
408e2f:	cc                   	int3
408e30:	8b 44 24 08          	mov    0x8(%esp),%eax
408e34:	8b 4c 24 10          	mov    0x10(%esp),%ecx
408e38:	0b c8                	or     %eax,%ecx
408e3a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
408e3e:	75 09                	jne    0x408e49
408e40:	8b 44 24 04          	mov    0x4(%esp),%eax
408e44:	f7 e1                	mul    %ecx
408e46:	c2 10 00             	ret    $0x10
408e49:	53                   	push   %ebx
408e4a:	f7 e1                	mul    %ecx
408e4c:	8b d8                	mov    %eax,%ebx
408e4e:	8b 44 24 08          	mov    0x8(%esp),%eax
408e52:	f7 64 24 14          	mull   0x14(%esp)
408e56:	03 d8                	add    %eax,%ebx
408e58:	8b 44 24 08          	mov    0x8(%esp),%eax
408e5c:	f7 e1                	mul    %ecx
408e5e:	03 d3                	add    %ebx,%edx
408e60:	5b                   	pop    %ebx
408e61:	c2 10 00             	ret    $0x10
408e64:	cc                   	int3
408e65:	cc                   	int3
408e66:	cc                   	int3
408e67:	cc                   	int3
408e68:	cc                   	int3
408e69:	cc                   	int3
408e6a:	cc                   	int3
408e6b:	cc                   	int3
408e6c:	cc                   	int3
408e6d:	cc                   	int3
408e6e:	cc                   	int3
408e6f:	cc                   	int3
408e70:	53                   	push   %ebx
408e71:	56                   	push   %esi
408e72:	8b 44 24 18          	mov    0x18(%esp),%eax
408e76:	0b c0                	or     %eax,%eax
408e78:	75 18                	jne    0x408e92
408e7a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
408e7e:	8b 44 24 10          	mov    0x10(%esp),%eax
408e82:	33 d2                	xor    %edx,%edx
408e84:	f7 f1                	div    %ecx
408e86:	8b d8                	mov    %eax,%ebx
408e88:	8b 44 24 0c          	mov    0xc(%esp),%eax
408e8c:	f7 f1                	div    %ecx
408e8e:	8b d3                	mov    %ebx,%edx
408e90:	eb 41                	jmp    0x408ed3
408e92:	8b c8                	mov    %eax,%ecx
408e94:	8b 5c 24 14          	mov    0x14(%esp),%ebx
408e98:	8b 54 24 10          	mov    0x10(%esp),%edx
408e9c:	8b 44 24 0c          	mov    0xc(%esp),%eax
408ea0:	d1 e9                	shr    $1,%ecx
408ea2:	d1 db                	rcr    $1,%ebx
408ea4:	d1 ea                	shr    $1,%edx
408ea6:	d1 d8                	rcr    $1,%eax
408ea8:	0b c9                	or     %ecx,%ecx
408eaa:	75 f4                	jne    0x408ea0
408eac:	f7 f3                	div    %ebx
408eae:	8b f0                	mov    %eax,%esi
408eb0:	f7 64 24 18          	mull   0x18(%esp)
408eb4:	8b c8                	mov    %eax,%ecx
408eb6:	8b 44 24 14          	mov    0x14(%esp),%eax
408eba:	f7 e6                	mul    %esi
408ebc:	03 d1                	add    %ecx,%edx
408ebe:	72 0e                	jb     0x408ece
408ec0:	3b 54 24 10          	cmp    0x10(%esp),%edx
408ec4:	77 08                	ja     0x408ece
408ec6:	72 07                	jb     0x408ecf
408ec8:	3b 44 24 0c          	cmp    0xc(%esp),%eax
408ecc:	76 01                	jbe    0x408ecf
408ece:	4e                   	dec    %esi
408ecf:	33 d2                	xor    %edx,%edx
408ed1:	8b c6                	mov    %esi,%eax
408ed3:	5e                   	pop    %esi
408ed4:	5b                   	pop    %ebx
408ed5:	c2 10 00             	ret    $0x10
408ed8:	55                   	push   %ebp
408ed9:	8b ec                	mov    %esp,%ebp
408edb:	53                   	push   %ebx
408edc:	8b 5d 10             	mov    0x10(%ebp),%ebx
408edf:	8b c3                	mov    %ebx,%eax
408ee1:	56                   	push   %esi
408ee2:	83 e8 00             	sub    $0x0,%eax
408ee5:	0f 84 dc 16 00 00    	je     0x40a5c7
408eeb:	48                   	dec    %eax
408eec:	0f 84 c4 16 00 00    	je     0x40a5b6
408ef2:	48                   	dec    %eax
408ef3:	0f 84 8e 16 00 00    	je     0x40a587
408ef9:	48                   	dec    %eax
408efa:	0f 84 3d 16 00 00    	je     0x40a53d
408f00:	8b 55 0c             	mov    0xc(%ebp),%edx
408f03:	48                   	dec    %eax
408f04:	0f 84 ab 15 00 00    	je     0x40a4b5
408f0a:	8b 75 08             	mov    0x8(%ebp),%esi
408f0d:	57                   	push   %edi
408f0e:	83 fb 20             	cmp    $0x20,%ebx
408f11:	0f 82 a1 04 00 00    	jb     0x4093b8
408f17:	8b 06                	mov    (%esi),%eax
408f19:	3b 02                	cmp    (%edx),%eax
408f1b:	0f 84 80 00 00 00    	je     0x408fa1
408f21:	0f b6 f8             	movzbl %al,%edi
408f24:	0f b6 02             	movzbl (%edx),%eax
408f27:	2b f8                	sub    %eax,%edi
408f29:	74 16                	je     0x408f41
408f2b:	33 c9                	xor    %ecx,%ecx
408f2d:	85 ff                	test   %edi,%edi
408f2f:	0f 9f c1             	setg   %cl
408f32:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
408f39:	85 c9                	test   %ecx,%ecx
408f3b:	0f 85 9b 08 00 00    	jne    0x4097dc
408f41:	0f b6 7e 01          	movzbl 0x1(%esi),%edi
408f45:	0f b6 42 01          	movzbl 0x1(%edx),%eax
408f49:	2b f8                	sub    %eax,%edi
408f4b:	74 16                	je     0x408f63
408f4d:	33 c9                	xor    %ecx,%ecx
408f4f:	85 ff                	test   %edi,%edi
408f51:	0f 9f c1             	setg   %cl
408f54:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
408f5b:	85 c9                	test   %ecx,%ecx
408f5d:	0f 85 79 08 00 00    	jne    0x4097dc
408f63:	0f b6 7e 02          	movzbl 0x2(%esi),%edi
408f67:	0f b6 42 02          	movzbl 0x2(%edx),%eax
408f6b:	2b f8                	sub    %eax,%edi
408f6d:	74 16                	je     0x408f85
408f6f:	33 c9                	xor    %ecx,%ecx
408f71:	85 ff                	test   %edi,%edi
408f73:	0f 9f c1             	setg   %cl
408f76:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
408f7d:	85 c9                	test   %ecx,%ecx
408f7f:	0f 85 57 08 00 00    	jne    0x4097dc
408f85:	0f b6 4e 03          	movzbl 0x3(%esi),%ecx
408f89:	0f b6 42 03          	movzbl 0x3(%edx),%eax
408f8d:	2b c8                	sub    %eax,%ecx
408f8f:	74 12                	je     0x408fa3
408f91:	33 c0                	xor    %eax,%eax
408f93:	85 c9                	test   %ecx,%ecx
408f95:	0f 9f c0             	setg   %al
408f98:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
408f9f:	eb 02                	jmp    0x408fa3
408fa1:	33 c9                	xor    %ecx,%ecx
408fa3:	85 c9                	test   %ecx,%ecx
408fa5:	0f 85 31 08 00 00    	jne    0x4097dc
408fab:	8b 46 04             	mov    0x4(%esi),%eax
408fae:	3b 42 04             	cmp    0x4(%edx),%eax
408fb1:	74 7f                	je     0x409032
408fb3:	0f b6 f8             	movzbl %al,%edi
408fb6:	0f b6 42 04          	movzbl 0x4(%edx),%eax
408fba:	2b f8                	sub    %eax,%edi
408fbc:	74 14                	je     0x408fd2
408fbe:	85 ff                	test   %edi,%edi
408fc0:	0f 9f c1             	setg   %cl
408fc3:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
408fca:	85 c9                	test   %ecx,%ecx
408fcc:	0f 85 0a 08 00 00    	jne    0x4097dc
408fd2:	0f b6 7e 05          	movzbl 0x5(%esi),%edi
408fd6:	0f b6 42 05          	movzbl 0x5(%edx),%eax
408fda:	2b f8                	sub    %eax,%edi
408fdc:	74 16                	je     0x408ff4
408fde:	33 c9                	xor    %ecx,%ecx
408fe0:	85 ff                	test   %edi,%edi
408fe2:	0f 9f c1             	setg   %cl
408fe5:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
408fec:	85 c9                	test   %ecx,%ecx
408fee:	0f 85 e8 07 00 00    	jne    0x4097dc
408ff4:	0f b6 7e 06          	movzbl 0x6(%esi),%edi
408ff8:	0f b6 42 06          	movzbl 0x6(%edx),%eax
408ffc:	2b f8                	sub    %eax,%edi
408ffe:	74 16                	je     0x409016
409000:	33 c9                	xor    %ecx,%ecx
409002:	85 ff                	test   %edi,%edi
409004:	0f 9f c1             	setg   %cl
409007:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40900e:	85 c9                	test   %ecx,%ecx
409010:	0f 85 c6 07 00 00    	jne    0x4097dc
409016:	0f b6 4e 07          	movzbl 0x7(%esi),%ecx
40901a:	0f b6 42 07          	movzbl 0x7(%edx),%eax
40901e:	2b c8                	sub    %eax,%ecx
409020:	74 12                	je     0x409034
409022:	33 c0                	xor    %eax,%eax
409024:	85 c9                	test   %ecx,%ecx
409026:	0f 9f c0             	setg   %al
409029:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
409030:	eb 02                	jmp    0x409034
409032:	33 c9                	xor    %ecx,%ecx
409034:	85 c9                	test   %ecx,%ecx
409036:	0f 85 a0 07 00 00    	jne    0x4097dc
40903c:	8b 46 08             	mov    0x8(%esi),%eax
40903f:	3b 42 08             	cmp    0x8(%edx),%eax
409042:	74 7f                	je     0x4090c3
409044:	0f b6 f8             	movzbl %al,%edi
409047:	0f b6 42 08          	movzbl 0x8(%edx),%eax
40904b:	2b f8                	sub    %eax,%edi
40904d:	74 14                	je     0x409063
40904f:	85 ff                	test   %edi,%edi
409051:	0f 9f c1             	setg   %cl
409054:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40905b:	85 c9                	test   %ecx,%ecx
40905d:	0f 85 79 07 00 00    	jne    0x4097dc
409063:	0f b6 7e 09          	movzbl 0x9(%esi),%edi
409067:	0f b6 42 09          	movzbl 0x9(%edx),%eax
40906b:	2b f8                	sub    %eax,%edi
40906d:	74 16                	je     0x409085
40906f:	33 c9                	xor    %ecx,%ecx
409071:	85 ff                	test   %edi,%edi
409073:	0f 9f c1             	setg   %cl
409076:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40907d:	85 c9                	test   %ecx,%ecx
40907f:	0f 85 57 07 00 00    	jne    0x4097dc
409085:	0f b6 7e 0a          	movzbl 0xa(%esi),%edi
409089:	0f b6 42 0a          	movzbl 0xa(%edx),%eax
40908d:	2b f8                	sub    %eax,%edi
40908f:	74 16                	je     0x4090a7
409091:	33 c9                	xor    %ecx,%ecx