404b96:	74 49                	je     0x404be1
404b98:	80 f9 0d             	cmp    $0xd,%cl
404b9b:	74 55                	je     0x404bf2
404b9d:	80 f9 0e             	cmp    $0xe,%cl
404ba0:	74 70                	je     0x404c12
404ba2:	80 f9 0f             	cmp    $0xf,%cl
404ba5:	0f 84 80 00 00 00    	je     0x404c2b
404bab:	80 f9 11             	cmp    $0x11,%cl
404bae:	0f 84 88 00 00 00    	je     0x404c3c
404bb4:	b0 02                	mov    $0x2,%al
404bb6:	5d                   	pop    %ebp
404bb7:	5f                   	pop    %edi
404bb8:	5e                   	pop    %esi
404bb9:	5b                   	pop    %ebx
404bba:	e9 59 dc ff ff       	jmp    0x402818
404bbf:	8b 14 30             	mov    (%eax,%esi,1),%edx
404bc2:	01 d8                	add    %ebx,%eax
404bc4:	e8 47 f4 ff ff       	call   0x404010
404bc9:	b8 04 00 00 00       	mov    $0x4,%eax
404bce:	eb 7d                	jmp    0x404c4d
404bd0:	8b 14 30             	mov    (%eax,%esi,1),%edx
404bd3:	01 d8                	add    %ebx,%eax
404bd5:	e8 fe fa ff ff       	call   0x4046d8
404bda:	b8 04 00 00 00       	mov    $0x4,%eax
404bdf:	eb 6c                	jmp    0x404c4d
404be1:	8d 14 30             	lea    (%eax,%esi,1),%edx
404be4:	01 d8                	add    %ebx,%eax
404be6:	e8 51 ff ff ff       	call   0x404b3c
404beb:	b8 10 00 00 00       	mov    $0x10,%eax
404bf0:	eb 5b                	jmp    0x404c4d
404bf2:	31 c9                	xor    %ecx,%ecx
404bf4:	8a 4a 01             	mov    0x1(%edx),%cl
404bf7:	ff 74 11 02          	push   0x2(%ecx,%edx,1)
404bfb:	ff 74 11 06          	push   0x6(%ecx,%edx,1)
404bff:	8b 4c 11 0a          	mov    0xa(%ecx,%edx,1),%ecx
404c03:	8b 09                	mov    (%ecx),%ecx
404c05:	8d 14 30             	lea    (%eax,%esi,1),%edx
404c08:	01 d8                	add    %ebx,%eax
404c0a:	e8 61 00 00 00       	call   0x404c70
404c0f:	58                   	pop    %eax
404c10:	eb 3b                	jmp    0x404c4d
404c12:	31 c9                	xor    %ecx,%ecx
404c14:	8a 4a 01             	mov    0x1(%edx),%cl
404c17:	8b 4c 11 02          	mov    0x2(%ecx,%edx,1),%ecx
404c1b:	51                   	push   %ecx
404c1c:	89 d1                	mov    %edx,%ecx
404c1e:	8d 14 30             	lea    (%eax,%esi,1),%edx
404c21:	01 d8                	add    %ebx,%eax
404c23:	e8 2c ff ff ff       	call   0x404b54
404c28:	58                   	pop    %eax
404c29:	eb 22                	jmp    0x404c4d
404c2b:	8b 14 30             	mov    (%eax,%esi,1),%edx
404c2e:	01 d8                	add    %ebx,%eax
404c30:	e8 3f 0a 00 00       	call   0x405674
404c35:	b8 04 00 00 00       	mov    $0x4,%eax
404c3a:	eb 11                	jmp    0x404c4d
404c3c:	89 d1                	mov    %edx,%ecx
404c3e:	8b 14 30             	mov    (%eax,%esi,1),%edx
404c41:	01 d8                	add    %ebx,%eax
404c43:	e8 70 03 00 00       	call   0x404fb8
404c48:	b8 04 00 00 00       	mov    $0x4,%eax
404c4d:	03 47 04             	add    0x4(%edi),%eax
404c50:	83 c7 08             	add    $0x8,%edi
404c53:	4d                   	dec    %ebp
404c54:	0f 85 14 ff ff ff    	jne    0x404b6e
404c5a:	59                   	pop    %ecx
404c5b:	29 c1                	sub    %eax,%ecx
404c5d:	7e 0a                	jle    0x404c69
404c5f:	8d 14 18             	lea    (%eax,%ebx,1),%edx
404c62:	01 f0                	add    %esi,%eax
404c64:	e8 4f dc ff ff       	call   0x4028b8
404c69:	5d                   	pop    %ebp
404c6a:	5f                   	pop    %edi
404c6b:	5e                   	pop    %esi
404c6c:	5b                   	pop    %ebx
404c6d:	c3                   	ret
404c6e:	8b c0                	mov    %eax,%eax
404c70:	53                   	push   %ebx
404c71:	56                   	push   %esi
404c72:	57                   	push   %edi
404c73:	55                   	push   %ebp
404c74:	89 c3                	mov    %eax,%ebx
404c76:	89 d6                	mov    %edx,%esi
404c78:	89 cf                	mov    %ecx,%edi
404c7a:	8b 6c 24 14          	mov    0x14(%esp),%ebp
404c7e:	8a 0f                	mov    (%edi),%cl
404c80:	80 f9 0a             	cmp    $0xa,%cl
404c83:	74 31                	je     0x404cb6
404c85:	80 f9 0b             	cmp    $0xb,%cl
404c88:	74 43                	je     0x404ccd
404c8a:	80 f9 0c             	cmp    $0xc,%cl
404c8d:	74 52                	je     0x404ce1
404c8f:	80 f9 0d             	cmp    $0xd,%cl
404c92:	74 61                	je     0x404cf5
404c94:	80 f9 0e             	cmp    $0xe,%cl
404c97:	74 7d                	je     0x404d16
404c99:	80 f9 0f             	cmp    $0xf,%cl
404c9c:	0f 84 91 00 00 00    	je     0x404d33
404ca2:	80 f9 11             	cmp    $0x11,%cl
404ca5:	0f 84 9c 00 00 00    	je     0x404d47
404cab:	b0 02                	mov    $0x2,%al
404cad:	5d                   	pop    %ebp
404cae:	5f                   	pop    %edi
404caf:	5e                   	pop    %esi
404cb0:	5b                   	pop    %ebx
404cb1:	e9 62 db ff ff       	jmp    0x402818
404cb6:	89 d8                	mov    %ebx,%eax
404cb8:	8b 16                	mov    (%esi),%edx
404cba:	e8 51 f3 ff ff       	call   0x404010
404cbf:	83 c3 04             	add    $0x4,%ebx
404cc2:	83 c6 04             	add    $0x4,%esi
404cc5:	4d                   	dec    %ebp
404cc6:	75 ee                	jne    0x404cb6
404cc8:	e9 8e 00 00 00       	jmp    0x404d5b
404ccd:	89 d8                	mov    %ebx,%eax
404ccf:	8b 16                	mov    (%esi),%edx
404cd1:	e8 02 fa ff ff       	call   0x4046d8
404cd6:	83 c3 04             	add    $0x4,%ebx
404cd9:	83 c6 04             	add    $0x4,%esi
404cdc:	4d                   	dec    %ebp
404cdd:	75 ee                	jne    0x404ccd
404cdf:	eb 7a                	jmp    0x404d5b
404ce1:	89 d8                	mov    %ebx,%eax
404ce3:	89 f2                	mov    %esi,%edx
404ce5:	e8 52 fe ff ff       	call   0x404b3c
404cea:	83 c3 10             	add    $0x10,%ebx
404ced:	83 c6 10             	add    $0x10,%esi
404cf0:	4d                   	dec    %ebp
404cf1:	75 ee                	jne    0x404ce1
404cf3:	eb 66                	jmp    0x404d5b
404cf5:	31 c9                	xor    %ecx,%ecx
404cf7:	8a 4f 01             	mov    0x1(%edi),%cl
404cfa:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
404cfe:	89 d8                	mov    %ebx,%eax
404d00:	89 f2                	mov    %esi,%edx
404d02:	8b 4f 08             	mov    0x8(%edi),%ecx
404d05:	ff 77 04             	push   0x4(%edi)
404d08:	e8 63 ff ff ff       	call   0x404c70
404d0d:	03 1f                	add    (%edi),%ebx
404d0f:	03 37                	add    (%edi),%esi
404d11:	4d                   	dec    %ebp
404d12:	75 ea                	jne    0x404cfe
404d14:	eb 45                	jmp    0x404d5b
404d16:	89 d8                	mov    %ebx,%eax
404d18:	89 f2                	mov    %esi,%edx
404d1a:	89 f9                	mov    %edi,%ecx
404d1c:	e8 33 fe ff ff       	call   0x404b54
404d21:	31 c0                	xor    %eax,%eax
404d23:	8a 47 01             	mov    0x1(%edi),%al
404d26:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
404d2a:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
404d2e:	4d                   	dec    %ebp
404d2f:	75 e5                	jne    0x404d16
404d31:	eb 28                	jmp    0x404d5b
404d33:	89 d8                	mov    %ebx,%eax
404d35:	8b 16                	mov    (%esi),%edx
404d37:	e8 38 09 00 00       	call   0x405674
404d3c:	83 c3 04             	add    $0x4,%ebx
404d3f:	83 c6 04             	add    $0x4,%esi
404d42:	4d                   	dec    %ebp
404d43:	75 ee                	jne    0x404d33
404d45:	eb 14                	jmp    0x404d5b
404d47:	89 d8                	mov    %ebx,%eax
404d49:	8b 16                	mov    (%esi),%edx
404d4b:	89 f9                	mov    %edi,%ecx
404d4d:	e8 66 02 00 00       	call   0x404fb8
404d52:	83 c3 04             	add    $0x4,%ebx
404d55:	83 c6 04             	add    $0x4,%esi
404d58:	4d                   	dec    %ebp
404d59:	75 ec                	jne    0x404d47
404d5b:	5d                   	pop    %ebp
404d5c:	5f                   	pop    %edi
404d5d:	5e                   	pop    %esi
404d5e:	5b                   	pop    %ebx
404d5f:	c2 04 00             	ret    $0x4
404d62:	c3                   	ret
404d63:	90                   	nop
404d64:	52                   	push   %edx
404d65:	e8 52 d9 ff ff       	call   0x4026bc
404d6a:	5a                   	pop    %edx
404d6b:	85 c0                	test   %eax,%eax
404d6d:	74 07                	je     0x404d76
404d6f:	50                   	push   %eax
404d70:	e8 77 fc ff ff       	call   0x4049ec
404d75:	58                   	pop    %eax
404d76:	c3                   	ret
404d77:	90                   	nop
404d78:	50                   	push   %eax
404d79:	e8 b2 fd ff ff       	call   0x404b30
404d7e:	58                   	pop    %eax
404d7f:	e8 58 d9 ff ff       	call   0x4026dc
404d84:	c3                   	ret
404d85:	8d 40 00             	lea    0x0(%eax),%eax
404d88:	b0 11                	mov    $0x11,%al
404d8a:	e9 89 da ff ff       	jmp    0x402818
404d8f:	c3                   	ret
404d90:	52                   	push   %edx
404d91:	50                   	push   %eax
404d92:	8b 44 24 10          	mov    0x10(%esp),%eax
404d96:	f7 24 24             	mull   (%esp)
404d99:	89 c1                	mov    %eax,%ecx
404d9b:	8b 44 24 04          	mov    0x4(%esp),%eax
404d9f:	f7 64 24 0c          	mull   0xc(%esp)
404da3:	01 c1                	add    %eax,%ecx
404da5:	8b 04 24             	mov    (%esp),%eax
404da8:	f7 64 24 0c          	mull   0xc(%esp)
404dac:	01 ca                	add    %ecx,%edx
404dae:	59                   	pop    %ecx
404daf:	59                   	pop    %ecx
404db0:	c2 08 00             	ret    $0x8
404db3:	c3                   	ret
404db4:	85 c0                	test   %eax,%eax
404db6:	74 03                	je     0x404dbb
404db8:	8b 40 fc             	mov    -0x4(%eax),%eax
404dbb:	c3                   	ret
404dbc:	e8 f3 ff ff ff       	call   0x404db4
404dc1:	48                   	dec    %eax
404dc2:	c3                   	ret
404dc3:	90                   	nop
404dc4:	55                   	push   %ebp
404dc5:	8b ec                	mov    %esp,%ebp
404dc7:	ff 75 08             	push   0x8(%ebp)
404dca:	e8 a1 fe ff ff       	call   0x404c70
404dcf:	5d                   	pop    %ebp
404dd0:	c2 04 00             	ret    $0x4
404dd3:	90                   	nop
404dd4:	e9 6b fc ff ff       	jmp    0x404a44
404dd9:	c3                   	ret
404dda:	8b c0                	mov    %eax,%eax
404ddc:	e8 9b 01 00 00       	call   0x404f7c
404de1:	c3                   	ret
404de2:	8b c0                	mov    %eax,%eax
404de4:	55                   	push   %ebp
404de5:	8b ec                	mov    %esp,%ebp
404de7:	83 c4 e0             	add    $0xffffffe0,%esp
404dea:	53                   	push   %ebx
404deb:	56                   	push   %esi
404dec:	57                   	push   %edi
404ded:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404df0:	8b f2                	mov    %edx,%esi
404df2:	89 45 fc             	mov    %eax,-0x4(%ebp)
404df5:	8b 5d fc             	mov    -0x4(%ebp),%ebx
404df8:	8b 1b                	mov    (%ebx),%ebx
404dfa:	8b 45 08             	mov    0x8(%ebp),%eax
404dfd:	8b 38                	mov    (%eax),%edi
404dff:	85 ff                	test   %edi,%edi
404e01:	7f 1a                	jg     0x404e1d
404e03:	85 ff                	test   %edi,%edi
404e05:	7d 07                	jge    0x404e0e
404e07:	b0 04                	mov    $0x4,%al
404e09:	e8 0a da ff ff       	call   0x402818
404e0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
404e11:	8b d6                	mov    %esi,%edx
404e13:	e8 c4 ff ff ff       	call   0x404ddc
404e18:	e9 4a 01 00 00       	jmp    0x404f67
404e1d:	33 c0                	xor    %eax,%eax
404e1f:	89 45 f0             	mov    %eax,-0x10(%ebp)
404e22:	85 db                	test   %ebx,%ebx
404e24:	74 0b                	je     0x404e31
404e26:	83 eb 04             	sub    $0x4,%ebx
404e29:	8b 03                	mov    (%ebx),%eax
404e2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
404e2e:	83 eb 04             	sub    $0x4,%ebx
404e31:	33 c0                	xor    %eax,%eax
404e33:	8a 46 01             	mov    0x1(%esi),%al
404e36:	01 c6                	add    %eax,%esi
404e38:	8b c6                	mov    %esi,%eax
404e3a:	8b 50 02             	mov    0x2(%eax),%edx
404e3d:	89 55 e8             	mov    %edx,-0x18(%ebp)
404e40:	8b 50 06             	mov    0x6(%eax),%edx
404e43:	85 d2                	test   %edx,%edx
404e45:	74 04                	je     0x404e4b
404e47:	8b 32                	mov    (%edx),%esi
404e49:	eb 02                	jmp    0x404e4d
404e4b:	33 f6                	xor    %esi,%esi
404e4d:	8b c7                	mov    %edi,%eax
404e4f:	f7 6d e8             	imull  -0x18(%ebp)
404e52:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404e55:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404e58:	99                   	cltd
404e59:	f7 ff                	idiv   %edi
404e5b:	3b 45 e8             	cmp    -0x18(%ebp),%eax
404e5e:	74 07                	je     0x404e67
404e60:	b0 04                	mov    $0x4,%al
404e62:	e8 b1 d9 ff ff       	call   0x402818
404e67:	83 45 e4 08          	addl   $0x8,-0x1c(%ebp)
404e6b:	85 db                	test   %ebx,%ebx
404e6d:	74 05                	je     0x404e74
404e6f:	83 3b 01             	cmpl   $0x1,(%ebx)
404e72:	75 35                	jne    0x404ea9
404e74:	89 5d e0             	mov    %ebx,-0x20(%ebp)
404e77:	3b 7d f0             	cmp    -0x10(%ebp),%edi
404e7a:	7d 1d                	jge    0x404e99
404e7c:	85 f6                	test   %esi,%esi
404e7e:	74 19                	je     0x404e99
404e80:	8b c3                	mov    %ebx,%eax
404e82:	83 c0 08             	add    $0x8,%eax
404e85:	8b d7                	mov    %edi,%edx
404e87:	0f af 55 e8          	imul   -0x18(%ebp),%edx
404e8b:	03 c2                	add    %edx,%eax
404e8d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404e90:	2b cf                	sub    %edi,%ecx
404e92:	8b d6                	mov    %esi,%edx
404e94:	e8 3b ff ff ff       	call   0x404dd4
404e99:	8d 45 e0             	lea    -0x20(%ebp),%eax
404e9c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
404e9f:	e8 58 d8 ff ff       	call   0x4026fc
404ea4:	8b 5d e0             	mov    -0x20(%ebp),%ebx
404ea7:	eb 5e                	jmp    0x404f07
404ea9:	ff 0b                	decl   (%ebx)
404eab:	8b 45 e4             	mov    -0x1c(%ebp),%eax
404eae:	e8 09 d8 ff ff       	call   0x4026bc
404eb3:	8b d8                	mov    %eax,%ebx
404eb5:	8b 45 f0             	mov    -0x10(%ebp),%eax
404eb8:	89 45 ec             	mov    %eax,-0x14(%ebp)
404ebb:	3b 7d ec             	cmp    -0x14(%ebp),%edi
404ebe:	7d 03                	jge    0x404ec3
404ec0:	89 7d ec             	mov    %edi,-0x14(%ebp)
404ec3:	85 f6                	test   %esi,%esi
404ec5:	74 2a                	je     0x404ef1
404ec7:	8b 55 ec             	mov    -0x14(%ebp),%edx
404eca:	0f af 55 e8          	imul   -0x18(%ebp),%edx
404ece:	8b c3                	mov    %ebx,%eax
404ed0:	83 c0 08             	add    $0x8,%eax
404ed3:	33 c9                	xor    %ecx,%ecx
404ed5:	e8 ae dd ff ff       	call   0x402c88
404eda:	8b 45 ec             	mov    -0x14(%ebp),%eax
404edd:	50                   	push   %eax
404ede:	8b 55 fc             	mov    -0x4(%ebp),%edx
404ee1:	8b 12                	mov    (%edx),%edx
404ee3:	8b c3                	mov    %ebx,%eax
404ee5:	83 c0 08             	add    $0x8,%eax
404ee8:	8b ce                	mov    %esi,%ecx
404eea:	e8 d5 fe ff ff       	call   0x404dc4
404eef:	eb 16                	jmp    0x404f07
404ef1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
404ef4:	0f af 4d e8          	imul   -0x18(%ebp),%ecx
404ef8:	8b d3                	mov    %ebx,%edx
404efa:	83 c2 08             	add    $0x8,%edx
404efd:	8b 45 fc             	mov    -0x4(%ebp),%eax
404f00:	8b 00                	mov    (%eax),%eax
404f02:	e8 b1 d9 ff ff       	call   0x4028b8
404f07:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
404f0d:	83 c3 04             	add    $0x4,%ebx
404f10:	89 3b                	mov    %edi,(%ebx)
404f12:	83 c3 04             	add    $0x4,%ebx
404f15:	8b d7                	mov    %edi,%edx
404f17:	2b 55 f0             	sub    -0x10(%ebp),%edx
404f1a:	0f af 55 e8          	imul   -0x18(%ebp),%edx
404f1e:	8b 45 e8             	mov    -0x18(%ebp),%eax