40e112:	b9 ff ff 00 00       	mov    $0xffff,%ecx
40e117:	99                   	cltd
40e118:	f7 f9                	idiv   %ecx
40e11a:	85 d2                	test   %edx,%edx
40e11c:	75 07                	jne    0x40e125
40e11e:	8b c3                	mov    %ebx,%eax
40e120:	e8 03 fe ff ff       	call   0x40df28
40e125:	5a                   	pop    %edx
40e126:	5b                   	pop    %ebx
40e127:	c3                   	ret
40e128:	8b 10                	mov    (%eax),%edx
40e12a:	33 c9                	xor    %ecx,%ecx
40e12c:	89 08                	mov    %ecx,(%eax)
40e12e:	8b c2                	mov    %edx,%eax
40e130:	e8 e7 57 ff ff       	call   0x40391c
40e135:	c3                   	ret
40e136:	8b c0                	mov    %eax,%eax
40e138:	53                   	push   %ebx
40e139:	56                   	push   %esi
40e13a:	57                   	push   %edi
40e13b:	8b f9                	mov    %ecx,%edi
40e13d:	8b f2                	mov    %edx,%esi
40e13f:	8b d8                	mov    %eax,%ebx
40e141:	85 db                	test   %ebx,%ebx
40e143:	74 0b                	je     0x40e150
40e145:	57                   	push   %edi
40e146:	56                   	push   %esi
40e147:	53                   	push   %ebx
40e148:	8b 03                	mov    (%ebx),%eax
40e14a:	ff 10                	call   *(%eax)
40e14c:	85 c0                	test   %eax,%eax
40e14e:	74 04                	je     0x40e154
40e150:	33 c0                	xor    %eax,%eax
40e152:	eb 02                	jmp    0x40e156
40e154:	b0 01                	mov    $0x1,%al
40e156:	5f                   	pop    %edi
40e157:	5e                   	pop    %esi
40e158:	5b                   	pop    %ebx
40e159:	c3                   	ret
40e15a:	8b c0                	mov    %eax,%eax
40e15c:	55                   	push   %ebp
40e15d:	8b ec                	mov    %esp,%ebp
40e15f:	6a 00                	push   $0x0
40e161:	53                   	push   %ebx
40e162:	56                   	push   %esi
40e163:	57                   	push   %edi
40e164:	8b f9                	mov    %ecx,%edi
40e166:	8b f2                	mov    %edx,%esi
40e168:	8b d8                	mov    %eax,%ebx
40e16a:	33 c0                	xor    %eax,%eax
40e16c:	55                   	push   %ebp
40e16d:	68 d3 e1 40 00       	push   $0x40e1d3
40e172:	64 ff 30             	push   %fs:(%eax)
40e175:	64 89 20             	mov    %esp,%fs:(%eax)
40e178:	85 db                	test   %ebx,%ebx
40e17a:	74 39                	je     0x40e1b5
40e17c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e17f:	e8 f4 7f ff ff       	call   0x406178
40e184:	8b c8                	mov    %eax,%ecx
40e186:	ba e4 e1 40 00       	mov    $0x40e1e4,%edx
40e18b:	8b c3                	mov    %ebx,%eax
40e18d:	e8 3e 58 ff ff       	call   0x4039d0
40e192:	84 c0                	test   %al,%al
40e194:	74 10                	je     0x40e1a6
40e196:	8b cf                	mov    %edi,%ecx
40e198:	8b d6                	mov    %esi,%edx
40e19a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e19d:	e8 96 ff ff ff       	call   0x40e138
40e1a2:	84 c0                	test   %al,%al
40e1a4:	75 13                	jne    0x40e1b9
40e1a6:	8b cf                	mov    %edi,%ecx
40e1a8:	8b d6                	mov    %esi,%edx
40e1aa:	8b c3                	mov    %ebx,%eax
40e1ac:	e8 1f 58 ff ff       	call   0x4039d0
40e1b1:	84 c0                	test   %al,%al
40e1b3:	75 04                	jne    0x40e1b9
40e1b5:	33 c0                	xor    %eax,%eax
40e1b7:	eb 02                	jmp    0x40e1bb
40e1b9:	b0 01                	mov    $0x1,%al
40e1bb:	8b d8                	mov    %eax,%ebx
40e1bd:	33 c0                	xor    %eax,%eax
40e1bf:	5a                   	pop    %edx
40e1c0:	59                   	pop    %ecx
40e1c1:	59                   	pop    %ecx
40e1c2:	64 89 10             	mov    %edx,%fs:(%eax)
40e1c5:	68 da e1 40 00       	push   $0x40e1da
40e1ca:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e1cd:	e8 a6 7f ff ff       	call   0x406178
40e1d2:	c3                   	ret
40e1d3:	e9 d8 5e ff ff       	jmp    0x4040b0
40e1d8:	eb f0                	jmp    0x40e1ca
40e1da:	8b c3                	mov    %ebx,%eax
40e1dc:	5f                   	pop    %edi
40e1dd:	5e                   	pop    %esi
40e1de:	5b                   	pop    %ebx
40e1df:	59                   	pop    %ecx
40e1e0:	5d                   	pop    %ebp
40e1e1:	c3                   	ret
40e1ea:	00 00                	add    %al,(%eax)
40e1ec:	c0 00 00             	rolb   $0x0,(%eax)
40e1ef:	00 00                	add    %al,(%eax)
40e1f1:	00 00                	add    %al,(%eax)
40e1f3:	46                   	inc    %esi
40e1f4:	55                   	push   %ebp
40e1f5:	8b ec                	mov    %esp,%ebp
40e1f7:	83 c4 f4             	add    $0xfffffff4,%esp
40e1fa:	53                   	push   %ebx
40e1fb:	8b d8                	mov    %eax,%ebx
40e1fd:	52                   	push   %edx
40e1fe:	e8 0d 89 ff ff       	call   0x406b10
40e203:	89 45 f4             	mov    %eax,-0xc(%ebp)
40e206:	33 c0                	xor    %eax,%eax
40e208:	55                   	push   %ebp
40e209:	68 66 e2 40 00       	push   $0x40e266
40e20e:	64 ff 30             	push   %fs:(%eax)
40e211:	64 89 20             	mov    %esp,%fs:(%eax)
40e214:	d9 7d fe             	fnstcw -0x2(%ebp)
40e217:	33 c0                	xor    %eax,%eax
40e219:	55                   	push   %ebp
40e21a:	68 48 e2 40 00       	push   $0x40e248
40e21f:	64 ff 30             	push   %fs:(%eax)
40e222:	64 89 20             	mov    %esp,%fs:(%eax)
40e225:	8b c3                	mov    %ebx,%eax
40e227:	e8 e0 69 ff ff       	call   0x404c0c
40e22c:	50                   	push   %eax
40e22d:	e8 9e 88 ff ff       	call   0x406ad0
40e232:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e235:	33 c0                	xor    %eax,%eax
40e237:	5a                   	pop    %edx
40e238:	59                   	pop    %ecx
40e239:	59                   	pop    %ecx
40e23a:	64 89 10             	mov    %edx,%fs:(%eax)
40e23d:	68 4f e2 40 00       	push   $0x40e24f
40e242:	db e2                	fnclex
40e244:	d9 6d fe             	fldcw  -0x2(%ebp)
40e247:	c3                   	ret
40e248:	e9 63 5e ff ff       	jmp    0x4040b0
40e24d:	eb f3                	jmp    0x40e242
40e24f:	33 c0                	xor    %eax,%eax
40e251:	5a                   	pop    %edx
40e252:	59                   	pop    %ecx
40e253:	59                   	pop    %ecx
40e254:	64 89 10             	mov    %edx,%fs:(%eax)
40e257:	68 6d e2 40 00       	push   $0x40e26d
40e25c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e25f:	50                   	push   %eax
40e260:	e8 ab 88 ff ff       	call   0x406b10
40e265:	c3                   	ret
40e266:	e9 45 5e ff ff       	jmp    0x4040b0
40e26b:	eb ef                	jmp    0x40e25c
40e26d:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e270:	5b                   	pop    %ebx
40e271:	8b e5                	mov    %ebp,%esp
40e273:	5d                   	pop    %ebp
40e274:	c3                   	ret
40e275:	8d 40 00             	lea    0x0(%eax),%eax
40e278:	1d 00 00 00 00       	sbb    $0x0,%eax
40e27d:	ba 49 00 a0 76       	mov    $0x76a00049,%edx
40e282:	4a                   	dec    %edx
40e283:	00 f8                	add    %bh,%al
40e285:	b9 49 00 98 75       	mov    $0x75980049,%ecx
40e28a:	4a                   	dec    %edx
40e28b:	00 f0                	add    %dh,%al
40e28d:	b9 49 00 d0 73       	mov    $0x73d00049,%ecx
40e292:	4a                   	dec    %edx
40e293:	00 e8                	add    %ch,%al
40e295:	b9 49 00 f0 76       	mov    $0x76f00049,%ecx
40e29a:	4a                   	dec    %edx
40e29b:	00 e0                	add    %ah,%al
40e29d:	b9 49 00 28 77       	mov    $0x77280049,%ecx
40e2a2:	4a                   	dec    %edx
40e2a3:	00 d8                	add    %bl,%al
40e2a5:	b9 49 00 b4 74       	mov    $0x74b40049,%ecx
40e2aa:	4a                   	dec    %edx
40e2ab:	00 d0                	add    %dl,%al
40e2ad:	b9 49 00 80 75       	mov    $0x75800049,%ecx
40e2b2:	4a                   	dec    %edx
40e2b3:	00 c8                	add    %cl,%al
40e2b5:	b9 49 00 90 73       	mov    $0x73900049,%ecx
40e2ba:	4a                   	dec    %edx
40e2bb:	00 c0                	add    %al,%al
40e2bd:	b9 49 00 d8 75       	mov    $0x75d80049,%ecx
40e2c2:	4a                   	dec    %edx
40e2c3:	00 b8 b9 49 00 30    	add    %bh,0x300049b9(%eax)
40e2c9:	76 4a                	jbe    0x40e315
40e2cb:	00 b0 b9 49 00 50    	add    %dh,0x500049b9(%eax)
40e2d1:	75 4a                	jne    0x40e31d
40e2d3:	00 a8 b9 49 00 58    	add    %ch,0x580049b9(%eax)
40e2d9:	75 4a                	jne    0x40e325
40e2db:	00 a0 b9 49 00 a4    	add    %ah,-0x5bffb647(%eax)
40e2e1:	77 4a                	ja     0x40e32d
40e2e3:	00 98 b9 49 00 54    	add    %bl,0x540049b9(%eax)
40e2e9:	75 4a                	jne    0x40e335
40e2eb:	00 90 b9 49 00 18    	add    %dl,0x180049b9(%eax)
40e2f1:	78 4a                	js     0x40e33d
40e2f3:	00 88 b9 49 00 78    	add    %cl,0x780049b9(%eax)
40e2f9:	76 4a                	jbe    0x40e345
40e2fb:	00 80 b9 49 00 54    	add    %al,0x540049b9(%eax)
40e301:	76 4a                	jbe    0x40e34d
40e303:	00 78 b9             	add    %bh,-0x47(%eax)
40e306:	49                   	dec    %ecx
40e307:	00 2c 78             	add    %ch,(%eax,%edi,2)
40e30a:	4a                   	dec    %edx
40e30b:	00 70 b9             	add    %dh,-0x47(%eax)
40e30e:	49                   	dec    %ecx
40e30f:	00 dc                	add    %bl,%ah
40e311:	77 4a                	ja     0x40e35d
40e313:	00 68 b9             	add    %ch,-0x47(%eax)
40e316:	49                   	dec    %ecx
40e317:	00 6c 75 4a          	add    %ch,0x4a(%ebp,%esi,2)
40e31b:	00 60 b9             	add    %ah,-0x47(%eax)
40e31e:	49                   	dec    %ecx
40e31f:	00 ac 77 4a 00 58 b9 	add    %ch,-0x46a7ffb6(%edi,%esi,2)
40e326:	49                   	dec    %ecx
40e327:	00 b8 77 4a 00 50    	add    %bh,0x50004a77(%eax)
40e32d:	b9 49 00 9c 74       	mov    $0x749c0049,%ecx
40e332:	4a                   	dec    %edx
40e333:	00 48 b9             	add    %cl,-0x47(%eax)
40e336:	49                   	dec    %ecx
40e337:	00 44 74 4a          	add    %al,0x4a(%esp,%esi,2)
40e33b:	00 40 b9             	add    %al,-0x47(%eax)
40e33e:	49                   	dec    %ecx
40e33f:	00 4c 76 4a          	add    %cl,0x4a(%esi,%esi,2)
40e343:	00 38                	add    %bh,(%eax)
40e345:	b9 49 00 e8 76       	mov    $0x76e80049,%ecx
40e34a:	4a                   	dec    %edx
40e34b:	00 30                	add    %dh,(%eax)
40e34d:	b9 49 00 9c 73       	mov    $0x739c0049,%ecx
40e352:	4a                   	dec    %edx
40e353:	00 28                	add    %ch,(%eax)
40e355:	b9 49 00 a0 77       	mov    $0x77a00049,%ecx
40e35a:	4a                   	dec    %edx
40e35b:	00 20                	add    %ah,(%eax)
40e35d:	b9 49 00 68 75       	mov    $0x75680049,%ecx
40e362:	4a                   	dec    %edx
40e363:	00 28                	add    %ch,(%eax)
40e365:	00 00                	add    %al,(%eax)
40e367:	00 18                	add    %bl,(%eax)
40e369:	b9 49 00 84 77       	mov    $0x77840049,%ecx
40e36e:	4a                   	dec    %edx
40e36f:	00 00                	add    %al,(%eax)
40e371:	00 00                	add    %al,(%eax)
40e373:	00 14 b9             	add    %dl,(%ecx,%edi,4)
40e376:	49                   	dec    %ecx
40e377:	00 dc                	add    %bl,%ah
40e379:	73 4a                	jae    0x40e3c5
40e37b:	00 00                	add    %al,(%eax)
40e37d:	00 00                	add    %al,(%eax)
40e37f:	00 10                	add    %dl,(%eax)
40e381:	b9 49 00 d0 76       	mov    $0x76d00049,%ecx
40e386:	4a                   	dec    %edx
40e387:	00 00                	add    %al,(%eax)
40e389:	00 00                	add    %al,(%eax)
40e38b:	00 0c b9             	add    %cl,(%ecx,%edi,4)
40e38e:	49                   	dec    %ecx
40e38f:	00 a8 73 4a 00 00    	add    %ch,0x4a73(%eax)
40e395:	00 00                	add    %al,(%eax)
40e397:	00 08                	add    %cl,(%eax)
40e399:	b9 49 00 68 74       	mov    $0x74680049,%ecx
40e39e:	4a                   	dec    %edx
40e39f:	00 00                	add    %al,(%eax)
40e3a1:	00 00                	add    %al,(%eax)
40e3a3:	00 04 b9             	add    %al,(%ecx,%edi,4)
40e3a6:	49                   	dec    %ecx
40e3a7:	00 60 74             	add    %ah,0x74(%eax)
40e3aa:	4a                   	dec    %edx
40e3ab:	00 00                	add    %al,(%eax)
40e3ad:	00 00                	add    %al,(%eax)
40e3af:	00 00                	add    %al,(%eax)
40e3b1:	b9 49 00 f0 73       	mov    $0x73f00049,%ecx
40e3b6:	4a                   	dec    %edx
40e3b7:	00 00                	add    %al,(%eax)
40e3b9:	00 00                	add    %al,(%eax)
40e3bb:	00 fc                	add    %bh,%ah
40e3bd:	b8 49 00 64 75       	mov    $0x75640049,%eax
40e3c2:	4a                   	dec    %edx
40e3c3:	00 00                	add    %al,(%eax)
40e3c5:	00 00                	add    %al,(%eax)
40e3c7:	00 f8                	add    %bh,%al
40e3c9:	b8 49 00 74 76       	mov    $0x76740049,%eax
40e3ce:	4a                   	dec    %edx
40e3cf:	00 00                	add    %al,(%eax)
40e3d1:	00 00                	add    %al,(%eax)
40e3d3:	00 f4                	add    %dh,%ah
40e3d5:	b8 49 00 64 74       	mov    $0x74640049,%eax
40e3da:	4a                   	dec    %edx
40e3db:	00 00                	add    %al,(%eax)
40e3dd:	00 00                	add    %al,(%eax)
40e3df:	00 f0                	add    %dh,%al
40e3e1:	b8 49 00 44 76       	mov    $0x76440049,%eax
40e3e6:	4a                   	dec    %edx
40e3e7:	00 00                	add    %al,(%eax)
40e3e9:	00 00                	add    %al,(%eax)
40e3eb:	00 ec                	add    %ch,%ah
40e3ed:	b8 49 00 20 77       	mov    $0x77200049,%eax
40e3f2:	4a                   	dec    %edx
40e3f3:	00 00                	add    %al,(%eax)
40e3f5:	00 00                	add    %al,(%eax)
40e3f7:	00 e8                	add    %ch,%al
40e3f9:	b8 49 00 0c 77       	mov    $0x770c0049,%eax
40e3fe:	4a                   	dec    %edx
40e3ff:	00 00                	add    %al,(%eax)
40e401:	00 00                	add    %al,(%eax)
40e403:	00 e4                	add    %ah,%ah
40e405:	b8 49 00 94 76       	mov    $0x76940049,%eax
40e40a:	4a                   	dec    %edx
40e40b:	00 00                	add    %al,(%eax)
40e40d:	00 00                	add    %al,(%eax)
40e40f:	00 e0                	add    %ah,%al
40e411:	b8 49 00 4c 75       	mov    $0x754c0049,%eax
40e416:	4a                   	dec    %edx
40e417:	00 00                	add    %al,(%eax)
40e419:	00 00                	add    %al,(%eax)
40e41b:	00 dc                	add    %bl,%ah
40e41d:	b8 49 00 f8 74       	mov    $0x74f80049,%eax
40e422:	4a                   	dec    %edx
40e423:	00 00                	add    %al,(%eax)
40e425:	00 00                	add    %al,(%eax)
40e427:	00 d8                	add    %bl,%al
40e429:	b8 49 00 a4 73       	mov    $0x73a40049,%eax
40e42e:	4a                   	dec    %edx
40e42f:	00 00                	add    %al,(%eax)
40e431:	00 00                	add    %al,(%eax)
40e433:	00 d4                	add    %dl,%ah
40e435:	b8 49 00 08 77       	mov    $0x77080049,%eax
40e43a:	4a                   	dec    %edx
40e43b:	00 00                	add    %al,(%eax)
40e43d:	00 00                	add    %al,(%eax)
40e43f:	00 d0                	add    %dl,%al
40e441:	b8 49 00 08 76       	mov    $0x76080049,%eax
40e446:	4a                   	dec    %edx
40e447:	00 00                	add    %al,(%eax)
40e449:	00 00                	add    %al,(%eax)
40e44b:	00 cc                	add    %cl,%ah
40e44d:	b8 49 00 e0 74       	mov    $0x74e00049,%eax
40e452:	4a                   	dec    %edx
40e453:	00 00                	add    %al,(%eax)
40e455:	00 00                	add    %al,(%eax)
40e457:	00 c8                	add    %cl,%al
40e459:	b8 49 00 d4 75       	mov    $0x75d40049,%eax
40e45e:	4a                   	dec    %edx
40e45f:	00 00                	add    %al,(%eax)
40e461:	00 00                	add    %al,(%eax)
40e463:	00 c4                	add    %al,%ah
40e465:	b8 49 00 60 76       	mov    $0x76600049,%eax
40e46a:	4a                   	dec    %edx
40e46b:	00 00                	add    %al,(%eax)
40e46d:	00 00                	add    %al,(%eax)
40e46f:	00 c0                	add    %al,%al
40e471:	b8 49 00 ec 75       	mov    $0x75ec0049,%eax