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
409093:	85 ff                	test   %edi,%edi
409095:	0f 9f c1             	setg   %cl
409098:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40909f:	85 c9                	test   %ecx,%ecx
4090a1:	0f 85 35 07 00 00    	jne    0x4097dc
4090a7:	0f b6 4e 0b          	movzbl 0xb(%esi),%ecx
4090ab:	0f b6 42 0b          	movzbl 0xb(%edx),%eax
4090af:	2b c8                	sub    %eax,%ecx
4090b1:	74 12                	je     0x4090c5
4090b3:	33 c0                	xor    %eax,%eax
4090b5:	85 c9                	test   %ecx,%ecx
4090b7:	0f 9f c0             	setg   %al
4090ba:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
4090c1:	eb 02                	jmp    0x4090c5
4090c3:	33 c9                	xor    %ecx,%ecx
4090c5:	85 c9                	test   %ecx,%ecx
4090c7:	0f 85 0f 07 00 00    	jne    0x4097dc
4090cd:	8b 46 0c             	mov    0xc(%esi),%eax
4090d0:	3b 42 0c             	cmp    0xc(%edx),%eax
4090d3:	74 7f                	je     0x409154
4090d5:	0f b6 f8             	movzbl %al,%edi
4090d8:	0f b6 42 0c          	movzbl 0xc(%edx),%eax
4090dc:	2b f8                	sub    %eax,%edi
4090de:	74 14                	je     0x4090f4
4090e0:	85 ff                	test   %edi,%edi
4090e2:	0f 9f c1             	setg   %cl
4090e5:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
4090ec:	85 c9                	test   %ecx,%ecx
4090ee:	0f 85 e8 06 00 00    	jne    0x4097dc
4090f4:	0f b6 7e 0d          	movzbl 0xd(%esi),%edi
4090f8:	0f b6 42 0d          	movzbl 0xd(%edx),%eax
4090fc:	2b f8                	sub    %eax,%edi
4090fe:	74 16                	je     0x409116
409100:	33 c9                	xor    %ecx,%ecx
409102:	85 ff                	test   %edi,%edi
409104:	0f 9f c1             	setg   %cl
409107:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40910e:	85 c9                	test   %ecx,%ecx
409110:	0f 85 c6 06 00 00    	jne    0x4097dc
409116:	0f b6 7e 0e          	movzbl 0xe(%esi),%edi
40911a:	0f b6 42 0e          	movzbl 0xe(%edx),%eax
40911e:	2b f8                	sub    %eax,%edi
409120:	74 16                	je     0x409138
409122:	33 c9                	xor    %ecx,%ecx
409124:	85 ff                	test   %edi,%edi
409126:	0f 9f c1             	setg   %cl
409129:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
409130:	85 c9                	test   %ecx,%ecx
409132:	0f 85 a4 06 00 00    	jne    0x4097dc
409138:	0f b6 4e 0f          	movzbl 0xf(%esi),%ecx
40913c:	0f b6 42 0f          	movzbl 0xf(%edx),%eax
409140:	2b c8                	sub    %eax,%ecx
409142:	74 12                	je     0x409156
409144:	33 c0                	xor    %eax,%eax
409146:	85 c9                	test   %ecx,%ecx
409148:	0f 9f c0             	setg   %al
40914b:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
409152:	eb 02                	jmp    0x409156
409154:	33 c9                	xor    %ecx,%ecx
409156:	85 c9                	test   %ecx,%ecx
409158:	0f 85 7e 06 00 00    	jne    0x4097dc
40915e:	8b 46 10             	mov    0x10(%esi),%eax
409161:	3b 42 10             	cmp    0x10(%edx),%eax
409164:	0f 84 80 00 00 00    	je     0x4091ea
40916a:	0f b6 42 10          	movzbl 0x10(%edx),%eax
40916e:	0f b6 7e 10          	movzbl 0x10(%esi),%edi
409172:	2b f8                	sub    %eax,%edi
409174:	74 14                	je     0x40918a
409176:	85 ff                	test   %edi,%edi
409178:	0f 9f c1             	setg   %cl
40917b:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
409182:	85 c9                	test   %ecx,%ecx
409184:	0f 85 52 06 00 00    	jne    0x4097dc
40918a:	0f b6 7e 11          	movzbl 0x11(%esi),%edi
40918e:	0f b6 42 11          	movzbl 0x11(%edx),%eax
409192:	2b f8                	sub    %eax,%edi
409194:	74 16                	je     0x4091ac
409196:	33 c9                	xor    %ecx,%ecx
409198:	85 ff                	test   %edi,%edi
40919a:	0f 9f c1             	setg   %cl
40919d:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
4091a4:	85 c9                	test   %ecx,%ecx
4091a6:	0f 85 30 06 00 00    	jne    0x4097dc
4091ac:	0f b6 7e 12          	movzbl 0x12(%esi),%edi
4091b0:	0f b6 42 12          	movzbl 0x12(%edx),%eax
4091b4:	2b f8                	sub    %eax,%edi
4091b6:	74 16                	je     0x4091ce
4091b8:	33 c9                	xor    %ecx,%ecx
4091ba:	85 ff                	test   %edi,%edi
4091bc:	0f 9f c1             	setg   %cl
4091bf:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
4091c6:	85 c9                	test   %ecx,%ecx
4091c8:	0f 85 0e 06 00 00    	jne    0x4097dc
4091ce:	0f b6 4e 13          	movzbl 0x13(%esi),%ecx
4091d2:	0f b6 42 13          	movzbl 0x13(%edx),%eax
4091d6:	2b c8                	sub    %eax,%ecx
4091d8:	74 12                	je     0x4091ec
4091da:	33 c0                	xor    %eax,%eax
4091dc:	85 c9                	test   %ecx,%ecx
4091de:	0f 9f c0             	setg   %al
4091e1:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
4091e8:	eb 02                	jmp    0x4091ec
4091ea:	33 c9                	xor    %ecx,%ecx
4091ec:	85 c9                	test   %ecx,%ecx
4091ee:	0f 85 e8 05 00 00    	jne    0x4097dc
4091f4:	8b 46 14             	mov    0x14(%esi),%eax
4091f7:	3b 42 14             	cmp    0x14(%edx),%eax
4091fa:	74 7f                	je     0x40927b
4091fc:	0f b6 f8             	movzbl %al,%edi
4091ff:	0f b6 42 14          	movzbl 0x14(%edx),%eax
409203:	2b f8                	sub    %eax,%edi
409205:	74 14                	je     0x40921b
409207:	85 ff                	test   %edi,%edi
409209:	0f 9f c1             	setg   %cl
40920c:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
409213:	85 c9                	test   %ecx,%ecx
409215:	0f 85 c1 05 00 00    	jne    0x4097dc
40921b:	0f b6 7e 15          	movzbl 0x15(%esi),%edi
40921f:	0f b6 42 15          	movzbl 0x15(%edx),%eax
409223:	2b f8                	sub    %eax,%edi
409225:	74 16                	je     0x40923d
409227:	33 c9                	xor    %ecx,%ecx
409229:	85 ff                	test   %edi,%edi
40922b:	0f 9f c1             	setg   %cl
40922e:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
409235:	85 c9                	test   %ecx,%ecx
409237:	0f 85 9f 05 00 00    	jne    0x4097dc
40923d:	0f b6 7e 16          	movzbl 0x16(%esi),%edi
409241:	0f b6 42 16          	movzbl 0x16(%edx),%eax
409245:	2b f8                	sub    %eax,%edi
409247:	74 16                	je     0x40925f
409249:	33 c9                	xor    %ecx,%ecx
40924b:	85 ff                	test   %edi,%edi
40924d:	0f 9f c1             	setg   %cl
409250:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
409257:	85 c9                	test   %ecx,%ecx
409259:	0f 85 7d 05 00 00    	jne    0x4097dc
40925f:	0f b6 4e 17          	movzbl 0x17(%esi),%ecx
409263:	0f b6 42 17          	movzbl 0x17(%edx),%eax
409267:	2b c8                	sub    %eax,%ecx
409269:	74 12                	je     0x40927d
40926b:	33 c0                	xor    %eax,%eax
40926d:	85 c9                	test   %ecx,%ecx
40926f:	0f 9f c0             	setg   %al
409272:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
409279:	eb 02                	jmp    0x40927d
40927b:	33 c9                	xor    %ecx,%ecx
40927d:	85 c9                	test   %ecx,%ecx
40927f:	0f 85 57 05 00 00    	jne    0x4097dc
409285:	8b 46 18             	mov    0x18(%esi),%eax
409288:	3b 42 18             	cmp    0x18(%edx),%eax
40928b:	74 7f                	je     0x40930c
40928d:	0f b6 f8             	movzbl %al,%edi
409290:	0f b6 42 18          	movzbl 0x18(%edx),%eax
409294:	2b f8                	sub    %eax,%edi
409296:	74 14                	je     0x4092ac
409298:	85 ff                	test   %edi,%edi
40929a:	0f 9f c1             	setg   %cl
40929d:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
4092a4:	85 c9                	test   %ecx,%ecx
4092a6:	0f 85 30 05 00 00    	jne    0x4097dc
4092ac:	0f b6 7e 19          	movzbl 0x19(%esi),%edi
4092b0:	0f b6 42 19          	movzbl 0x19(%edx),%eax
4092b4:	2b f8                	sub    %eax,%edi
4092b6:	74 16                	je     0x4092ce
4092b8:	33 c9                	xor    %ecx,%ecx
4092ba:	85 ff                	test   %edi,%edi
4092bc:	0f 9f c1             	setg   %cl
4092bf:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
4092c6:	85 c9                	test   %ecx,%ecx
4092c8:	0f 85 0e 05 00 00    	jne    0x4097dc
4092ce:	0f b6 7e 1a          	movzbl 0x1a(%esi),%edi
4092d2:	0f b6 42 1a          	movzbl 0x1a(%edx),%eax
4092d6:	2b f8                	sub    %eax,%edi
4092d8:	74 16                	je     0x4092f0