40c299:	c3                   	ret
40c29a:	8b c0                	mov    %eax,%eax
40c29c:	53                   	push   %ebx
40c29d:	93                   	xchg   %eax,%ebx
40c29e:	56                   	push   %esi
40c29f:	be e8 c2 40 00       	mov    $0x40c2e8,%esi
40c2a4:	31 c0                	xor    %eax,%eax
40c2a6:	66 ad                	lods   %ds:(%esi),%ax
40c2a8:	85 c0                	test   %eax,%eax
40c2aa:	74 4c                	je     0x40c2f8
40c2ac:	38 d0                	cmp    %dl,%al
40c2ae:	75 f6                	jne    0x40c2a6
40c2b0:	84 63 3c             	test   %ah,0x3c(%ebx)
40c2b3:	74 43                	je     0x40c2f8
40c2b5:	84 c9                	test   %cl,%cl
40c2b7:	75 2a                	jne    0x40c2e3
40c2b9:	88 e6                	mov    %ah,%dh
40c2bb:	52                   	push   %edx
40c2bc:	93                   	xchg   %eax,%ebx
40c2bd:	e8 7e fc ff ff       	call   0x40bf40
40c2c2:	96                   	xchg   %eax,%esi
40c2c3:	58                   	pop    %eax
40c2c4:	3c 09                	cmp    $0x9,%al
40c2c6:	75 0e                	jne    0x40c2d6
40c2c8:	50                   	push   %eax
40c2c9:	6a 10                	push   $0x10
40c2cb:	e8 90 87 ff ff       	call   0x404a60
40c2d0:	5a                   	pop    %edx
40c2d1:	80 e4 80             	and    $0x80,%ah
40c2d4:	08 f4                	or     %dh,%ah
40c2d6:	00 e4                	add    %ah,%ah
40c2d8:	19 d2                	sbb    %edx,%edx
40c2da:	01 d2                	add    %edx,%edx
40c2dc:	42                   	inc    %edx
40c2dd:	96                   	xchg   %eax,%esi
40c2de:	e8 95 c3 ff ff       	call   0x408678
40c2e3:	b0 01                	mov    $0x1,%al
40c2e5:	5e                   	pop    %esi
40c2e6:	5b                   	pop    %ebx
40c2e7:	c3                   	ret
40c2e8:	09 01                	or     %eax,(%ecx)
40c2ea:	25 82 27 02 26       	and    $0x26022782,%eax
40c2ef:	84 28                	test   %ch,(%eax)
40c2f1:	04 21                	add    $0x21,%al
40c2f3:	88 22                	mov    %ah,(%edx)
40c2f5:	08 00                	or     %al,(%eax)
40c2f7:	00 31                	add    %dh,(%ecx)
40c2f9:	c0 5e 5b c3          	rcrb   $0xc3,0x5b(%esi)
40c2fd:	c3                   	ret
40c2fe:	8b c0                	mov    %eax,%eax
40c300:	50                   	push   %eax
40c301:	e8 3a fc ff ff       	call   0x40bf40
40c306:	85 c0                	test   %eax,%eax
40c308:	74 07                	je     0x40c311
40c30a:	c7 40 70 9c c2 40 00 	movl   $0x40c29c,0x70(%eax)
40c311:	58                   	pop    %eax
40c312:	c3                   	ret
40c313:	90                   	nop
40c314:	53                   	push   %ebx
40c315:	93                   	xchg   %eax,%ebx
40c316:	8b 83 d2 00 00 00    	mov    0xd2(%ebx),%eax
40c31c:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
40c31f:	0f b7 49 4a          	movzwl 0x4a(%ecx),%ecx
40c323:	e3 1d                	jecxz  0x40c342
40c325:	31 c0                	xor    %eax,%eax
40c327:	99                   	cltd
40c328:	66 81 f9 0c 10       	cmp    $0x100c,%cx
40c32d:	75 04                	jne    0x40c333
40c32f:	40                   	inc    %eax
40c330:	40                   	inc    %eax
40c331:	eb 05                	jmp    0x40c338
40c333:	80 f9 bb             	cmp    $0xbb,%cl
40c336:	75 01                	jne    0x40c339
40c338:	4a                   	dec    %edx
40c339:	50                   	push   %eax
40c33a:	52                   	push   %edx
40c33b:	51                   	push   %ecx
40c33c:	53                   	push   %ebx
40c33d:	e8 fa 01 00 00       	call   0x40c53c
40c342:	5b                   	pop    %ebx
40c343:	c3                   	ret
40c344:	8b 48 4c             	mov    0x4c(%eax),%ecx
40c347:	0f b7 49 4e          	movzwl 0x4e(%ecx),%ecx
40c34b:	e3 33                	jecxz  0x40c380
40c34d:	51                   	push   %ecx
40c34e:	50                   	push   %eax
40c34f:	6a 00                	push   $0x0
40c351:	52                   	push   %edx
40c352:	51                   	push   %ecx
40c353:	50                   	push   %eax
40c354:	e8 e3 01 00 00       	call   0x40c53c
40c359:	5a                   	pop    %edx
40c35a:	59                   	pop    %ecx
40c35b:	66 81 f9 0c 13       	cmp    $0x130c,%cx
40c360:	75 1d                	jne    0x40c37f
40c362:	89 82 d2 00 00 00    	mov    %eax,0xd2(%edx)
40c368:	68 d9 fd ff ff       	push   $0xfffffdd9
40c36d:	52                   	push   %edx
40c36e:	ff 72 1c             	push   0x1c(%edx)
40c371:	54                   	push   %esp
40c372:	6a 00                	push   $0x0
40c374:	6a 4e                	push   $0x4e
40c376:	52                   	push   %edx
40c377:	e8 c0 01 00 00       	call   0x40c53c
40c37c:	83 c4 0c             	add    $0xc,%esp
40c37f:	c3                   	ret
40c380:	41                   	inc    %ecx
40c381:	e8 c2 fe ff ff       	call   0x40c248
40c386:	c3                   	ret
40c387:	90                   	nop
40c388:	8b 88 98 00 00 00    	mov    0x98(%eax),%ecx
40c38e:	e3 12                	jecxz  0x40c3a2
40c390:	51                   	push   %ecx
40c391:	92                   	xchg   %eax,%edx
40c392:	89 ca                	mov    %ecx,%edx
40c394:	50                   	push   %eax
40c395:	e8 8e e4 ff ff       	call   0x40a828
40c39a:	58                   	pop    %eax
40c39b:	c6 40 49 01          	movb   $0x1,0x49(%eax)
40c39f:	59                   	pop    %ecx
40c3a0:	91                   	xchg   %eax,%ecx
40c3a1:	c3                   	ret
40c3a2:	8b 4a 1c             	mov    0x1c(%edx),%ecx
40c3a5:	41                   	inc    %ecx
40c3a6:	e2 f8                	loop   0x40c3a0
40c3a8:	e8 97 18 00 00       	call   0x40dc44
40c3ad:	50                   	push   %eax
40c3ae:	e8 95 86 ff ff       	call   0x404a48
40c3b3:	c3                   	ret
40c3b4:	53                   	push   %ebx
40c3b5:	56                   	push   %esi
40c3b6:	89 c3                	mov    %eax,%ebx
40c3b8:	e8 b7 18 00 00       	call   0x40dc74
40c3bd:	8b b3 ca 00 00 00    	mov    0xca(%ebx),%esi
40c3c3:	85 f6                	test   %esi,%esi
40c3c5:	75 45                	jne    0x40c40c
40c3c7:	31 c0                	xor    %eax,%eax
40c3c9:	e8 9e ac ff ff       	call   0x40706c
40c3ce:	89 83 ca 00 00 00    	mov    %eax,0xca(%ebx)
40c3d4:	89 58 18             	mov    %ebx,0x18(%eax)
40c3d7:	c7 40 41 88 c3 40 00 	movl   $0x40c388,0x41(%eax)
40c3de:	89 58 45             	mov    %ebx,0x45(%eax)
40c3e1:	96                   	xchg   %eax,%esi
40c3e2:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
40c3e8:	e3 22                	jecxz  0x40c40c
40c3ea:	8b 46 31             	mov    0x31(%esi),%eax
40c3ed:	89 ca                	mov    %ecx,%edx
40c3ef:	e8 b0 e0 ff ff       	call   0x40a4a4
40c3f4:	89 46 31             	mov    %eax,0x31(%esi)
40c3f7:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
40c3fd:	e3 0d                	jecxz  0x40c40c
40c3ff:	8b 46 29             	mov    0x29(%esi),%eax
40c402:	89 ca                	mov    %ecx,%edx
40c404:	e8 9b e0 ff ff       	call   0x40a4a4
40c409:	89 46 29             	mov    %eax,0x29(%esi)
40c40c:	96                   	xchg   %eax,%esi
40c40d:	5e                   	pop    %esi
40c40e:	5b                   	pop    %ebx
40c40f:	c3                   	ret
40c410:	f6 40 34 40          	testb  $0x40,0x34(%eax)
40c414:	75 1f                	jne    0x40c435
40c416:	d0 e2                	shl    $1,%dl
40c418:	80 60 35 fd          	andb   $0xfd,0x35(%eax)
40c41c:	08 50 35             	or     %dl,0x35(%eax)
40c41f:	ba b4 7d 40 00       	mov    $0x407db4,%edx
40c424:	e8 0f d6 ff ff       	call   0x409a38
40c429:	8d 05 f4 99 40 00    	lea    0x4099f4,%eax
40c42f:	89 05 40 61 42 00    	mov    %eax,0x426140
40c435:	c3                   	ret
40c436:	8b c0                	mov    %eax,%eax
40c438:	8b 48 30             	mov    0x30(%eax),%ecx
40c43b:	e3 1e                	jecxz  0x40c45b
40c43d:	80 60 35 fe          	andb   $0xfe,0x35(%eax)
40c441:	84 d2                	test   %dl,%dl
40c443:	74 16                	je     0x40c45b
40c445:	80 48 35 01          	orb    $0x1,0x35(%eax)
40c449:	50                   	push   %eax
40c44a:	91                   	xchg   %eax,%ecx
40c44b:	e8 c0 ff ff ff       	call   0x40c410
40c450:	58                   	pop    %eax
40c451:	ba b4 7d 40 00       	mov    $0x407db4,%edx
40c456:	e8 dd d5 ff ff       	call   0x409a38
40c45b:	c3                   	ret
40c45c:	50                   	push   %eax
40c45d:	e8 1a 00 00 00       	call   0x40c47c
40c462:	58                   	pop    %eax
40c463:	e8 b8 dd ff ff       	call   0x40a220
40c468:	c3                   	ret
40c469:	8d 40 00             	lea    0x0(%eax),%eax
40c46c:	89 d1                	mov    %edx,%ecx
40c46e:	8b 50 1c             	mov    0x1c(%eax),%edx
40c471:	52                   	push   %edx
40c472:	e8 79 00 00 00       	call   0x40c4f0
40c477:	58                   	pop    %eax
40c478:	c3                   	ret
40c479:	8d 40 00             	lea    0x0(%eax),%eax
40c47c:	53                   	push   %ebx
40c47d:	93                   	xchg   %eax,%ebx
40c47e:	8b 53 1c             	mov    0x1c(%ebx),%edx
40c481:	4a                   	dec    %edx
40c482:	7c 0b                	jl     0x40c48f
40c484:	52                   	push   %edx
40c485:	89 d8                	mov    %ebx,%eax
40c487:	e8 20 00 00 00       	call   0x40c4ac
40c48c:	5a                   	pop    %edx
40c48d:	eb f2                	jmp    0x40c481
40c48f:	31 c0                	xor    %eax,%eax
40c491:	89 43 26             	mov    %eax,0x26(%ebx)
40c494:	87 43 22             	xchg   %eax,0x22(%ebx)
40c497:	85 c0                	test   %eax,%eax
40c499:	74 07                	je     0x40c4a2
40c49b:	e8 c0 63 ff ff       	call   0x402860
40c4a0:	31 c0                	xor    %eax,%eax
40c4a2:	87 43 18             	xchg   %eax,0x18(%ebx)
40c4a5:	e8 66 dd ff ff       	call   0x40a210
40c4aa:	5b                   	pop    %ebx
40c4ab:	c3                   	ret
40c4ac:	ff 48 1c             	decl   0x1c(%eax)
40c4af:	50                   	push   %eax
40c4b0:	8b 40 18             	mov    0x18(%eax),%eax
40c4b3:	8b 48 18             	mov    0x18(%eax),%ecx
40c4b6:	ff 34 91             	push   (%ecx,%edx,4)
40c4b9:	e8 6a 8d ff ff       	call   0x405228
40c4be:	58                   	pop    %eax
40c4bf:	5a                   	pop    %edx
40c4c0:	8b 4a 26             	mov    0x26(%edx),%ecx
40c4c3:	e3 0c                	jecxz  0x40c4d1
40c4c5:	3b 42 22             	cmp    0x22(%edx),%eax
40c4c8:	72 07                	jb     0x40c4d1
40c4ca:	03 4a 22             	add    0x22(%edx),%ecx
40c4cd:	39 c8                	cmp    %ecx,%eax
40c4cf:	72 05                	jb     0x40c4d6
40c4d1:	e8 8a 63 ff ff       	call   0x402860
40c4d6:	c3                   	ret
40c4d7:	90                   	nop
40c4d8:	51                   	push   %ecx
40c4d9:	8b 40 18             	mov    0x18(%eax),%eax
40c4dc:	85 c0                	test   %eax,%eax
40c4de:	74 05                	je     0x40c4e5
40c4e0:	e8 1f de ff ff       	call   0x40a304
40c4e5:	92                   	xchg   %eax,%edx
40c4e6:	58                   	pop    %eax
40c4e7:	e9 84 73 ff ff       	jmp    0x403870
40c4ec:	c3                   	ret
40c4ed:	8d 40 00             	lea    0x0(%eax),%eax
40c4f0:	53                   	push   %ebx
40c4f1:	52                   	push   %edx
40c4f2:	51                   	push   %ecx
40c4f3:	93                   	xchg   %eax,%ebx
40c4f4:	8b 43 18             	mov    0x18(%ebx),%eax
40c4f7:	85 c0                	test   %eax,%eax
40c4f9:	75 08                	jne    0x40c503
40c4fb:	e8 b8 8c ff ff       	call   0x4051b8
40c500:	89 43 18             	mov    %eax,0x18(%ebx)
40c503:	58                   	pop    %eax
40c504:	50                   	push   %eax
40c505:	e8 ea 73 ff ff       	call   0x4038f4
40c50a:	40                   	inc    %eax
40c50b:	50                   	push   %eax
40c50c:	e8 1f 63 ff ff       	call   0x402830
40c511:	c6 00 00             	movb   $0x0,(%eax)
40c514:	92                   	xchg   %eax,%edx
40c515:	59                   	pop    %ecx
40c516:	58                   	pop    %eax
40c517:	52                   	push   %edx
40c518:	85 c0                	test   %eax,%eax
40c51a:	74 05                	je     0x40c521
40c51c:	e8 23 64 ff ff       	call   0x402944
40c521:	59                   	pop    %ecx
40c522:	5a                   	pop    %edx
40c523:	8b 43 18             	mov    0x18(%ebx),%eax
40c526:	e8 75 8d ff ff       	call   0x4052a0
40c52b:	ff 43 1c             	incl   0x1c(%ebx)
40c52e:	5b                   	pop    %ebx
40c52f:	c3                   	ret
40c530:	50                   	push   %eax
40c531:	e8 5a c3 ff ff       	call   0x408890
40c536:	58                   	pop    %eax
40c537:	8b 40 1c             	mov    0x1c(%eax),%eax
40c53a:	c3                   	ret
40c53b:	90                   	nop
40c53c:	55                   	push   %ebp
40c53d:	8b ec                	mov    %esp,%ebp
40c53f:	ff 75 14             	push   0x14(%ebp)
40c542:	ff 75 10             	push   0x10(%ebp)
40c545:	ff 75 0c             	push   0xc(%ebp)
40c548:	8b 45 08             	mov    0x8(%ebp),%eax
40c54b:	e8 f4 16 00 00       	call   0x40dc44
40c550:	50                   	push   %eax
40c551:	e8 b2 85 ff ff       	call   0x404b08
40c556:	5d                   	pop    %ebp
40c557:	c2 10 00             	ret    $0x10
40c55a:	8b c0                	mov    %eax,%eax
40c55c:	8b 40 44             	mov    0x44(%eax),%eax
40c55f:	8b 40 1c             	mov    0x1c(%eax),%eax
40c562:	c3                   	ret
40c563:	90                   	nop
40c564:	55                   	push   %ebp
40c565:	8b ec                	mov    %esp,%ebp
40c567:	50                   	push   %eax
40c568:	ff 75 08             	push   0x8(%ebp)
40c56b:	52                   	push   %edx
40c56c:	89 ca                	mov    %ecx,%edx
40c56e:	c1 ea 10             	shr    $0x10,%edx
40c571:	75 03                	jne    0x40c576
40c573:	89 ca                	mov    %ecx,%edx
40c575:	42                   	inc    %edx
40c576:	89 d5                	mov    %edx,%ebp
40c578:	81 e2 ff 7f 00 00    	and    $0x7fff,%edx
40c57e:	52                   	push   %edx
40c57f:	50                   	push   %eax
40c580:	e8 b7 ff ff ff       	call   0x40c53c
40c585:	89 e8                	mov    %ebp,%eax
40c587:	66 01 c0             	add    %ax,%ax
40c58a:	58                   	pop    %eax
40c58b:	73 05                	jae    0x40c592
40c58d:	e8 da f4 ff ff       	call   0x40ba6c
40c592:	5d                   	pop    %ebp
40c593:	c2 04 00             	ret    $0x4
40c596:	8b c0                	mov    %eax,%eax
40c598:	55                   	push   %ebp
40c599:	8b ec                	mov    %esp,%ebp
40c59b:	8b 55 10             	mov    0x10(%ebp),%edx
40c59e:	8b 4a 21             	mov    0x21(%edx),%ecx
40c5a1:	e3 05                	jecxz  0x40c5a8
40c5a3:	8b 42 25             	mov    0x25(%edx),%eax
40c5a6:	ff d1                	call   *%ecx
40c5a8:	31 c0                	xor    %eax,%eax
40c5aa:	5d                   	pop    %ebp
40c5ab:	c2 10 00             	ret    $0x10
40c5ae:	8b c0                	mov    %eax,%eax
40c5b0:	50                   	push   %eax
40c5b1:	31 d2                	xor    %edx,%edx
40c5b3:	e8 1c 00 00 00       	call   0x40c5d4
40c5b8:	58                   	pop    %eax
40c5b9:	e8 62 dc ff ff       	call   0x40a220
40c5be:	ff 0d e4 63 42 00    	decl   0x4263e4
40c5c4:	75 0d                	jne    0x40c5d3
40c5c6:	31 c0                	xor    %eax,%eax
40c5c8:	87 05 08 99 42 00    	xchg   %eax,0x429908
40c5ce:	e8 3d dc ff ff       	call   0x40a210
40c5d3:	c3                   	ret
40c5d4:	53                   	push   %ebx
40c5d5:	93                   	xchg   %eax,%ebx
40c5d6:	38 53 1c             	cmp    %dl,0x1c(%ebx)
40c5d9:	74 60                	je     0x40c63b
40c5db:	88 53 1c             	mov    %dl,0x1c(%ebx)
40c5de:	84 d2                	test   %dl,%dl
40c5e0:	74 43                	je     0x40c625
40c5e2:	8b 0d 08 99 42 00    	mov    0x429908,%ecx