43efbc:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
43efc0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43efc3:	8b 89 c8 00 00 00    	mov    0xc8(%ecx),%ecx
43efc9:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
43efcd:	25 00 80 00 00       	and    $0x8000,%eax
43efd2:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43efd6:	74 07                	je     0x43efdf
43efd8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43efdb:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
43efdf:	c9                   	leave
43efe0:	c3                   	ret
43efe1:	8b ff                	mov    %edi,%edi
43efe3:	55                   	push   %ebp
43efe4:	8b ec                	mov    %esp,%ebp
43efe6:	6a 00                	push   $0x0
43efe8:	ff 75 08             	push   0x8(%ebp)
43efeb:	e8 b9 ff ff ff       	call   0x43efa9
43eff0:	59                   	pop    %ecx
43eff1:	59                   	pop    %ecx
43eff2:	5d                   	pop    %ebp
43eff3:	c3                   	ret
43eff4:	8b ff                	mov    %edi,%edi
43eff6:	55                   	push   %ebp
43eff7:	8b ec                	mov    %esp,%ebp
43eff9:	68 03 01 00 00       	push   $0x103
43effe:	ff 75 08             	push   0x8(%ebp)
43f001:	e8 df 37 ff ff       	call   0x4327e5
43f006:	59                   	pop    %ecx
43f007:	59                   	pop    %ecx
43f008:	5d                   	pop    %ebp
43f009:	c3                   	ret
43f00a:	8b ff                	mov    %edi,%edi
43f00c:	55                   	push   %ebp
43f00d:	8b ec                	mov    %esp,%ebp
43f00f:	68 03 01 00 00       	push   $0x103
43f014:	ff 75 08             	push   0x8(%ebp)
43f017:	e8 c9 37 ff ff       	call   0x4327e5
43f01c:	59                   	pop    %ecx
43f01d:	59                   	pop    %ecx
43f01e:	5d                   	pop    %ebp
43f01f:	c3                   	ret
43f020:	8b ff                	mov    %edi,%edi
43f022:	55                   	push   %ebp
43f023:	8b ec                	mov    %esp,%ebp
43f025:	6a 01                	push   $0x1
43f027:	ff 75 08             	push   0x8(%ebp)
43f02a:	e8 b6 37 ff ff       	call   0x4327e5
43f02f:	59                   	pop    %ecx
43f030:	59                   	pop    %ecx
43f031:	5d                   	pop    %ebp
43f032:	c3                   	ret
43f033:	8b ff                	mov    %edi,%edi
43f035:	55                   	push   %ebp
43f036:	8b ec                	mov    %esp,%ebp
43f038:	6a 01                	push   $0x1
43f03a:	ff 75 08             	push   0x8(%ebp)
43f03d:	e8 a3 37 ff ff       	call   0x4327e5
43f042:	59                   	pop    %ecx
43f043:	59                   	pop    %ecx
43f044:	5d                   	pop    %ebp
43f045:	c3                   	ret
43f046:	8b ff                	mov    %edi,%edi
43f048:	55                   	push   %ebp
43f049:	8b ec                	mov    %esp,%ebp
43f04b:	6a 02                	push   $0x2
43f04d:	ff 75 08             	push   0x8(%ebp)
43f050:	e8 90 37 ff ff       	call   0x4327e5
43f055:	59                   	pop    %ecx
43f056:	59                   	pop    %ecx
43f057:	5d                   	pop    %ebp
43f058:	c3                   	ret
43f059:	8b ff                	mov    %edi,%edi
43f05b:	55                   	push   %ebp
43f05c:	8b ec                	mov    %esp,%ebp
43f05e:	6a 02                	push   $0x2
43f060:	ff 75 08             	push   0x8(%ebp)
43f063:	e8 7d 37 ff ff       	call   0x4327e5
43f068:	59                   	pop    %ecx
43f069:	59                   	pop    %ecx
43f06a:	5d                   	pop    %ebp
43f06b:	c3                   	ret
43f06c:	8b ff                	mov    %edi,%edi
43f06e:	55                   	push   %ebp
43f06f:	8b ec                	mov    %esp,%ebp
43f071:	6a 04                	push   $0x4
43f073:	ff 75 08             	push   0x8(%ebp)
43f076:	e8 6a 37 ff ff       	call   0x4327e5
43f07b:	59                   	pop    %ecx
43f07c:	59                   	pop    %ecx
43f07d:	5d                   	pop    %ebp
43f07e:	c3                   	ret
43f07f:	8b ff                	mov    %edi,%edi
43f081:	55                   	push   %ebp
43f082:	8b ec                	mov    %esp,%ebp
43f084:	6a 04                	push   $0x4
43f086:	ff 75 08             	push   0x8(%ebp)
43f089:	e8 57 37 ff ff       	call   0x4327e5
43f08e:	59                   	pop    %ecx
43f08f:	59                   	pop    %ecx
43f090:	5d                   	pop    %ebp
43f091:	c3                   	ret
43f092:	8b ff                	mov    %edi,%edi
43f094:	55                   	push   %ebp
43f095:	8b ec                	mov    %esp,%ebp
43f097:	68 80 00 00 00       	push   $0x80
43f09c:	ff 75 08             	push   0x8(%ebp)
43f09f:	e8 41 37 ff ff       	call   0x4327e5
43f0a4:	59                   	pop    %ecx
43f0a5:	59                   	pop    %ecx
43f0a6:	5d                   	pop    %ebp
43f0a7:	c3                   	ret
43f0a8:	8b ff                	mov    %edi,%edi
43f0aa:	55                   	push   %ebp
43f0ab:	8b ec                	mov    %esp,%ebp
43f0ad:	68 80 00 00 00       	push   $0x80
43f0b2:	ff 75 08             	push   0x8(%ebp)
43f0b5:	e8 2b 37 ff ff       	call   0x4327e5
43f0ba:	59                   	pop    %ecx
43f0bb:	59                   	pop    %ecx
43f0bc:	5d                   	pop    %ebp
43f0bd:	c3                   	ret
43f0be:	8b ff                	mov    %edi,%edi
43f0c0:	55                   	push   %ebp
43f0c1:	8b ec                	mov    %esp,%ebp
43f0c3:	6a 08                	push   $0x8
43f0c5:	ff 75 08             	push   0x8(%ebp)
43f0c8:	e8 18 37 ff ff       	call   0x4327e5
43f0cd:	59                   	pop    %ecx
43f0ce:	59                   	pop    %ecx
43f0cf:	5d                   	pop    %ebp
43f0d0:	c3                   	ret
43f0d1:	8b ff                	mov    %edi,%edi
43f0d3:	55                   	push   %ebp
43f0d4:	8b ec                	mov    %esp,%ebp
43f0d6:	6a 08                	push   $0x8
43f0d8:	ff 75 08             	push   0x8(%ebp)
43f0db:	e8 05 37 ff ff       	call   0x4327e5
43f0e0:	59                   	pop    %ecx
43f0e1:	59                   	pop    %ecx
43f0e2:	5d                   	pop    %ebp
43f0e3:	c3                   	ret
43f0e4:	8b ff                	mov    %edi,%edi
43f0e6:	55                   	push   %ebp
43f0e7:	8b ec                	mov    %esp,%ebp
43f0e9:	6a 10                	push   $0x10
43f0eb:	ff 75 08             	push   0x8(%ebp)
43f0ee:	e8 f2 36 ff ff       	call   0x4327e5
43f0f3:	59                   	pop    %ecx
43f0f4:	59                   	pop    %ecx
43f0f5:	5d                   	pop    %ebp
43f0f6:	c3                   	ret
43f0f7:	8b ff                	mov    %edi,%edi
43f0f9:	55                   	push   %ebp
43f0fa:	8b ec                	mov    %esp,%ebp
43f0fc:	6a 10                	push   $0x10
43f0fe:	ff 75 08             	push   0x8(%ebp)
43f101:	e8 df 36 ff ff       	call   0x4327e5
43f106:	59                   	pop    %ecx
43f107:	59                   	pop    %ecx
43f108:	5d                   	pop    %ebp
43f109:	c3                   	ret
43f10a:	8b ff                	mov    %edi,%edi
43f10c:	55                   	push   %ebp
43f10d:	8b ec                	mov    %esp,%ebp
43f10f:	68 07 01 00 00       	push   $0x107
43f114:	ff 75 08             	push   0x8(%ebp)
43f117:	e8 c9 36 ff ff       	call   0x4327e5
43f11c:	59                   	pop    %ecx
43f11d:	59                   	pop    %ecx
43f11e:	5d                   	pop    %ebp
43f11f:	c3                   	ret
43f120:	8b ff                	mov    %edi,%edi
43f122:	55                   	push   %ebp
43f123:	8b ec                	mov    %esp,%ebp
43f125:	68 07 01 00 00       	push   $0x107
43f12a:	ff 75 08             	push   0x8(%ebp)
43f12d:	e8 b3 36 ff ff       	call   0x4327e5
43f132:	59                   	pop    %ecx
43f133:	59                   	pop    %ecx
43f134:	5d                   	pop    %ebp
43f135:	c3                   	ret
43f136:	8b ff                	mov    %edi,%edi
43f138:	55                   	push   %ebp
43f139:	8b ec                	mov    %esp,%ebp
43f13b:	68 57 01 00 00       	push   $0x157
43f140:	ff 75 08             	push   0x8(%ebp)
43f143:	e8 9d 36 ff ff       	call   0x4327e5
43f148:	59                   	pop    %ecx
43f149:	59                   	pop    %ecx
43f14a:	5d                   	pop    %ebp
43f14b:	c3                   	ret
43f14c:	8b ff                	mov    %edi,%edi
43f14e:	55                   	push   %ebp
43f14f:	8b ec                	mov    %esp,%ebp
43f151:	68 57 01 00 00       	push   $0x157
43f156:	ff 75 08             	push   0x8(%ebp)
43f159:	e8 87 36 ff ff       	call   0x4327e5
43f15e:	59                   	pop    %ecx
43f15f:	59                   	pop    %ecx
43f160:	5d                   	pop    %ebp
43f161:	c3                   	ret
43f162:	8b ff                	mov    %edi,%edi
43f164:	55                   	push   %ebp
43f165:	8b ec                	mov    %esp,%ebp
43f167:	68 17 01 00 00       	push   $0x117
43f16c:	ff 75 08             	push   0x8(%ebp)
43f16f:	e8 71 36 ff ff       	call   0x4327e5
43f174:	59                   	pop    %ecx
43f175:	59                   	pop    %ecx
43f176:	5d                   	pop    %ebp
43f177:	c3                   	ret
43f178:	8b ff                	mov    %edi,%edi
43f17a:	55                   	push   %ebp
43f17b:	8b ec                	mov    %esp,%ebp
43f17d:	68 17 01 00 00       	push   $0x117
43f182:	ff 75 08             	push   0x8(%ebp)
43f185:	e8 5b 36 ff ff       	call   0x4327e5
43f18a:	59                   	pop    %ecx
43f18b:	59                   	pop    %ecx
43f18c:	5d                   	pop    %ebp
43f18d:	c3                   	ret
43f18e:	8b ff                	mov    %edi,%edi
43f190:	55                   	push   %ebp
43f191:	8b ec                	mov    %esp,%ebp
43f193:	6a 20                	push   $0x20
43f195:	ff 75 08             	push   0x8(%ebp)
43f198:	e8 48 36 ff ff       	call   0x4327e5
43f19d:	59                   	pop    %ecx
43f19e:	59                   	pop    %ecx
43f19f:	5d                   	pop    %ebp
43f1a0:	c3                   	ret
43f1a1:	8b ff                	mov    %edi,%edi
43f1a3:	55                   	push   %ebp
43f1a4:	8b ec                	mov    %esp,%ebp
43f1a6:	6a 20                	push   $0x20
43f1a8:	ff 75 08             	push   0x8(%ebp)
43f1ab:	e8 35 36 ff ff       	call   0x4327e5
43f1b0:	59                   	pop    %ecx
43f1b1:	59                   	pop    %ecx
43f1b2:	5d                   	pop    %ebp
43f1b3:	c3                   	ret
43f1b4:	8b ff                	mov    %edi,%edi
43f1b6:	55                   	push   %ebp
43f1b7:	8b ec                	mov    %esp,%ebp
43f1b9:	b8 80 00 00 00       	mov    $0x80,%eax
43f1be:	66 39 45 08          	cmp    %ax,0x8(%ebp)
43f1c2:	1b c0                	sbb    %eax,%eax
43f1c4:	f7 d8                	neg    %eax
43f1c6:	5d                   	pop    %ebp
43f1c7:	c3                   	ret
43f1c8:	8b ff                	mov    %edi,%edi
43f1ca:	55                   	push   %ebp
43f1cb:	8b ec                	mov    %esp,%ebp
43f1cd:	68 07 01 00 00       	push   $0x107
43f1d2:	ff 75 08             	push   0x8(%ebp)
43f1d5:	e8 0b 36 ff ff       	call   0x4327e5
43f1da:	59                   	pop    %ecx
43f1db:	59                   	pop    %ecx
43f1dc:	85 c0                	test   %eax,%eax
43f1de:	75 09                	jne    0x43f1e9
43f1e0:	66 83 7d 08 5f       	cmpw   $0x5f,0x8(%ebp)
43f1e5:	74 02                	je     0x43f1e9
43f1e7:	5d                   	pop    %ebp
43f1e8:	c3                   	ret
43f1e9:	33 c0                	xor    %eax,%eax
43f1eb:	40                   	inc    %eax
43f1ec:	5d                   	pop    %ebp
43f1ed:	c3                   	ret
43f1ee:	8b ff                	mov    %edi,%edi
43f1f0:	55                   	push   %ebp
43f1f1:	8b ec                	mov    %esp,%ebp
43f1f3:	68 07 01 00 00       	push   $0x107
43f1f8:	ff 75 08             	push   0x8(%ebp)
43f1fb:	e8 e5 35 ff ff       	call   0x4327e5
43f200:	59                   	pop    %ecx
43f201:	59                   	pop    %ecx
43f202:	85 c0                	test   %eax,%eax
43f204:	75 09                	jne    0x43f20f
43f206:	66 83 7d 08 5f       	cmpw   $0x5f,0x8(%ebp)
43f20b:	74 02                	je     0x43f20f
43f20d:	5d                   	pop    %ebp
43f20e:	c3                   	ret
43f20f:	33 c0                	xor    %eax,%eax
43f211:	40                   	inc    %eax
43f212:	5d                   	pop    %ebp
43f213:	c3                   	ret
43f214:	8b ff                	mov    %edi,%edi
43f216:	55                   	push   %ebp
43f217:	8b ec                	mov    %esp,%ebp
43f219:	68 03 01 00 00       	push   $0x103
43f21e:	ff 75 08             	push   0x8(%ebp)
43f221:	e8 bf 35 ff ff       	call   0x4327e5
43f226:	59                   	pop    %ecx
43f227:	59                   	pop    %ecx
43f228:	85 c0                	test   %eax,%eax
43f22a:	75 09                	jne    0x43f235
43f22c:	66 83 7d 08 5f       	cmpw   $0x5f,0x8(%ebp)
43f231:	74 02                	je     0x43f235
43f233:	5d                   	pop    %ebp
43f234:	c3                   	ret
43f235:	33 c0                	xor    %eax,%eax
43f237:	40                   	inc    %eax
43f238:	5d                   	pop    %ebp
43f239:	c3                   	ret
43f23a:	8b ff                	mov    %edi,%edi
43f23c:	55                   	push   %ebp
43f23d:	8b ec                	mov    %esp,%ebp
43f23f:	68 03 01 00 00       	push   $0x103
43f244:	ff 75 08             	push   0x8(%ebp)
43f247:	e8 99 35 ff ff       	call   0x4327e5
43f24c:	59                   	pop    %ecx
43f24d:	59                   	pop    %ecx
43f24e:	85 c0                	test   %eax,%eax
43f250:	75 09                	jne    0x43f25b
43f252:	66 83 7d 08 5f       	cmpw   $0x5f,0x8(%ebp)
43f257:	74 02                	je     0x43f25b
43f259:	5d                   	pop    %ebp
43f25a:	c3                   	ret
43f25b:	33 c0                	xor    %eax,%eax
43f25d:	40                   	inc    %eax
43f25e:	5d                   	pop    %ebp
43f25f:	c3                   	ret
43f260:	56                   	push   %esi
43f261:	8b 44 24 14          	mov    0x14(%esp),%eax
43f265:	0b c0                	or     %eax,%eax
43f267:	75 28                	jne    0x43f291
43f269:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43f26d:	8b 44 24 0c          	mov    0xc(%esp),%eax
43f271:	33 d2                	xor    %edx,%edx
43f273:	f7 f1                	div    %ecx
43f275:	8b d8                	mov    %eax,%ebx
43f277:	8b 44 24 08          	mov    0x8(%esp),%eax
43f27b:	f7 f1                	div    %ecx
43f27d:	8b f0                	mov    %eax,%esi
43f27f:	8b c3                	mov    %ebx,%eax
43f281:	f7 64 24 10          	mull   0x10(%esp)
43f285:	8b c8                	mov    %eax,%ecx
43f287:	8b c6                	mov    %esi,%eax
43f289:	f7 64 24 10          	mull   0x10(%esp)
43f28d:	03 d1                	add    %ecx,%edx
43f28f:	eb 47                	jmp    0x43f2d8
43f291:	8b c8                	mov    %eax,%ecx
43f293:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43f297:	8b 54 24 0c          	mov    0xc(%esp),%edx
43f29b:	8b 44 24 08          	mov    0x8(%esp),%eax
43f29f:	d1 e9                	shr    $1,%ecx
43f2a1:	d1 db                	rcr    $1,%ebx
43f2a3:	d1 ea                	shr    $1,%edx
43f2a5:	d1 d8                	rcr    $1,%eax
43f2a7:	0b c9                	or     %ecx,%ecx