40c2c7:	8b cb                	mov    %ebx,%ecx
40c2c9:	e8 86 38 01 00       	call   0x41fb54
40c2ce:	8b f0                	mov    %eax,%esi
40c2d0:	8b ce                	mov    %esi,%ecx
40c2d2:	e8 49 d7 ff ff       	call   0x409a20
40c2d7:	c6 06 01             	movb   $0x1,(%esi)
40c2da:	e9 be fe ff ff       	jmp    0x40c19d
40c2df:	83 e8 02             	sub    $0x2,%eax
40c2e2:	83 f8 09             	cmp    $0x9,%eax
40c2e5:	0f 87 e1 fa ff ff    	ja     0x40bdcc
40c2eb:	0f b6 80 98 c6 40 00 	movzbl 0x40c698(%eax),%eax
40c2f2:	ff 24 85 84 c6 40 00 	jmp    *0x40c684(,%eax,4)
40c2f9:	8b ce                	mov    %esi,%ecx
40c2fb:	e8 da d1 ff ff       	call   0x4094da
40c300:	57                   	push   %edi
40c301:	8b ce                	mov    %esi,%ecx
40c303:	e8 7f d3 ff ff       	call   0x409687
40c308:	e9 bf fa ff ff       	jmp    0x40bdcc
40c30d:	8b 33                	mov    (%ebx),%esi
40c30f:	e9 8e fb ff ff       	jmp    0x40bea2
40c314:	8b ce                	mov    %esi,%ecx
40c316:	e8 bf d1 ff ff       	call   0x4094da
40c31b:	57                   	push   %edi
40c31c:	8b ce                	mov    %esi,%ecx
40c31e:	e8 19 d3 ff ff       	call   0x40963c
40c323:	e9 f9 f7 ff ff       	jmp    0x40bb21
40c328:	83 e8 02             	sub    $0x2,%eax
40c32b:	83 f8 09             	cmp    $0x9,%eax
40c32e:	0f 87 f5 f9 ff ff    	ja     0x40bd29
40c334:	ff 24 85 a4 c6 40 00 	jmp    *0x40c6a4(,%eax,4)
40c33b:	8b ce                	mov    %esi,%ecx
40c33d:	e8 98 d1 ff ff       	call   0x4094da
40c342:	57                   	push   %edi
40c343:	8b ce                	mov    %esi,%ecx
40c345:	e8 b6 d3 ff ff       	call   0x409700
40c34a:	e9 da f9 ff ff       	jmp    0x40bd29
40c34f:	8b cb                	mov    %ebx,%ecx
40c351:	e8 17 38 01 00       	call   0x41fb6d
40c356:	8b d0                	mov    %eax,%edx
40c358:	e8 f7 37 01 00       	call   0x41fb54
40c35d:	8b c8                	mov    %eax,%ecx
40c35f:	e8 7f 43 01 00       	call   0x4206e3
40c364:	8b cb                	mov    %ebx,%ecx
40c366:	84 c0                	test   %al,%al
40c368:	0f 85 01 01 00 00    	jne    0x40c46f
40c36e:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
40c372:	ff 75 0c             	push   0xc(%ebp)
40c375:	e8 da 37 01 00       	call   0x41fb54
40c37a:	8b c8                	mov    %eax,%ecx
40c37c:	e8 e2 d4 ff ff       	call   0x409863
40c381:	e9 b8 fe ff ff       	jmp    0x40c23e
40c386:	48                   	dec    %eax
40c387:	83 f8 08             	cmp    $0x8,%eax
40c38a:	0f 87 29 f9 ff ff    	ja     0x40bcb9
40c390:	ff 24 85 cc c6 40 00 	jmp    *0x40c6cc(,%eax,4)
40c397:	8b cf                	mov    %edi,%ecx
40c399:	e8 f9 d5 ff ff       	call   0x409997
40c39e:	8b 77 08             	mov    0x8(%edi),%esi
40c3a1:	8b 7d 0c             	mov    0xc(%ebp),%edi
40c3a4:	8b cf                	mov    %edi,%ecx
40c3a6:	e8 ec d5 ff ff       	call   0x409997
40c3ab:	8b 4f 08             	mov    0x8(%edi),%ecx
40c3ae:	6a 00                	push   $0x0
40c3b0:	56                   	push   %esi
40c3b1:	e8 b2 b6 ff ff       	call   0x407a68
40c3b6:	85 c0                	test   %eax,%eax
40c3b8:	0f 89 fb f8 ff ff    	jns    0x40bcb9
40c3be:	e9 6b fb ff ff       	jmp    0x40bf2e
40c3c3:	8b 45 08             	mov    0x8(%ebp),%eax
40c3c6:	8b 3e                	mov    (%esi),%edi
40c3c8:	8b cf                	mov    %edi,%ecx
40c3ca:	8b 00                	mov    (%eax),%eax
40c3cc:	2b c8                	sub    %eax,%ecx
40c3ce:	99                   	cltd
40c3cf:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40c3d2:	8b f2                	mov    %edx,%esi
40c3d4:	8b c8                	mov    %eax,%ecx
40c3d6:	8b c7                	mov    %edi,%eax
40c3d8:	99                   	cltd
40c3d9:	2b c1                	sub    %ecx,%eax
40c3db:	8b fa                	mov    %edx,%edi
40c3dd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c3e0:	89 45 08             	mov    %eax,0x8(%ebp)
40c3e3:	1b fe                	sbb    %esi,%edi
40c3e5:	8b c1                	mov    %ecx,%eax
40c3e7:	99                   	cltd
40c3e8:	3b 45 08             	cmp    0x8(%ebp),%eax
40c3eb:	0f 85 64 4f 03 00    	jne    0x441355
40c3f1:	3b d7                	cmp    %edi,%edx
40c3f3:	0f 85 5c 4f 03 00    	jne    0x441355
40c3f9:	8b 75 0c             	mov    0xc(%ebp),%esi
40c3fc:	89 0e                	mov    %ecx,(%esi)
40c3fe:	e9 c9 f9 ff ff       	jmp    0x40bdcc
40c403:	8b ce                	mov    %esi,%ecx
40c405:	e8 8d d5 ff ff       	call   0x409997
40c40a:	8b 76 08             	mov    0x8(%esi),%esi
40c40d:	8b cf                	mov    %edi,%ecx
40c40f:	e8 83 d5 ff ff       	call   0x409997
40c414:	8b 4f 08             	mov    0x8(%edi),%ecx
40c417:	6a 00                	push   $0x0
40c419:	56                   	push   %esi
40c41a:	e8 49 b6 ff ff       	call   0x407a68
40c41f:	85 c0                	test   %eax,%eax
40c421:	0f 89 a1 f7 ff ff    	jns    0x40bbc8
40c427:	e9 3b fc ff ff       	jmp    0x40c067
40c42c:	51                   	push   %ecx
40c42d:	e8 0b b7 ff ff       	call   0x407b3d
40c432:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40c439:	e9 92 f8 ff ff       	jmp    0x40bcd0
40c43e:	51                   	push   %ecx
40c43f:	e8 f9 b6 ff ff       	call   0x407b3d
40c444:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40c44b:	e9 8f f7 ff ff       	jmp    0x40bbdf
40c450:	8b cb                	mov    %ebx,%ecx
40c452:	e8 16 37 01 00       	call   0x41fb6d
40c457:	8b d0                	mov    %eax,%edx
40c459:	e8 f6 36 01 00       	call   0x41fb54
40c45e:	8b c8                	mov    %eax,%ecx
40c460:	e8 db 42 01 00       	call   0x420740
40c465:	8b cb                	mov    %ebx,%ecx
40c467:	84 c0                	test   %al,%al
40c469:	0f 84 ff fe ff ff    	je     0x40c36e
40c46f:	c6 45 0c 01          	movb   $0x1,0xc(%ebp)
40c473:	e9 fa fe ff ff       	jmp    0x40c372
40c478:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c47c:	8b 43 08             	mov    0x8(%ebx),%eax
40c47f:	0f 85 dd 00 00 00    	jne    0x40c562
40c485:	8b 48 10             	mov    0x10(%eax),%ecx
40c488:	e9 de f7 ff ff       	jmp    0x40bc6b
40c48d:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c491:	8b 43 08             	mov    0x8(%ebx),%eax
40c494:	0f 85 d7 00 00 00    	jne    0x40c571
40c49a:	8b 70 10             	mov    0x10(%eax),%esi
40c49d:	e9 23 f8 ff ff       	jmp    0x40bcc5
40c4a2:	8b cb                	mov    %ebx,%ecx
40c4a4:	e8 c4 36 01 00       	call   0x41fb6d
40c4a9:	8b d0                	mov    %eax,%edx
40c4ab:	e8 a4 36 01 00       	call   0x41fb54
40c4b0:	8b c8                	mov    %eax,%ecx
40c4b2:	e8 47 42 01 00       	call   0x4206fe
40c4b7:	eb ac                	jmp    0x40c465
40c4b9:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
40c4bd:	8b 43 08             	mov    0x8(%ebx),%eax
40c4c0:	75 79                	jne    0x40c53b
40c4c2:	8b 48 10             	mov    0x10(%eax),%ecx
40c4c5:	e9 b0 fc ff ff       	jmp    0x40c17a
40c4ca:	8b 43 08             	mov    0x8(%ebx),%eax
40c4cd:	8b 78 10             	mov    0x10(%eax),%edi
40c4d0:	e9 ba fa ff ff       	jmp    0x40bf8f
40c4d5:	48                   	dec    %eax
40c4d6:	83 f8 0a             	cmp    $0xa,%eax
40c4d9:	0f 87 e8 fa ff ff    	ja     0x40bfc7
40c4df:	0f b6 80 fc c6 40 00 	movzbl 0x40c6fc(%eax),%eax
40c4e6:	ff 24 85 f0 c6 40 00 	jmp    *0x40c6f0(,%eax,4)
40c4ed:	8b ce                	mov    %esi,%ecx
40c4ef:	e8 94 cf ff ff       	call   0x409488
40c4f4:	e9 ad fa ff ff       	jmp    0x40bfa6
40c4f9:	8b 3b                	mov    (%ebx),%edi
40c4fb:	e9 fa f7 ff ff       	jmp    0x40bcfa
40c500:	8b 3b                	mov    (%ebx),%edi
40c502:	e9 9d f8 ff ff       	jmp    0x40bda4
40c507:	8b 3b                	mov    (%ebx),%edi
40c509:	e9 db f5 ff ff       	jmp    0x40bae9
40c50e:	df 2f                	fildll (%edi)
40c510:	e9 08 f6 ff ff       	jmp    0x40bb1d
40c515:	8b 07                	mov    (%edi),%eax
40c517:	db 40 04             	fildl  0x4(%eax)
40c51a:	e9 fe f5 ff ff       	jmp    0x40bb1d
40c51f:	d9 ee                	fldz
40c521:	e9 f7 f5 ff ff       	jmp    0x40bb1d
40c526:	8b 3b                	mov    (%ebx),%edi
40c528:	e9 5c f9 ff ff       	jmp    0x40be89
40c52d:	8b 3b                	mov    (%ebx),%edi
40c52f:	e9 5b fa ff ff       	jmp    0x40bf8f
40c534:	8b 13                	mov    (%ebx),%edx
40c536:	e9 34 fc ff ff       	jmp    0x40c16f
40c53b:	8b 40 10             	mov    0x10(%eax),%eax
40c53e:	eb 82                	jmp    0x40c4c2
40c540:	8b 3b                	mov    (%ebx),%edi
40c542:	e9 2b f6 ff ff       	jmp    0x40bb72
40c547:	df 2f                	fildll (%edi)
40c549:	dd 55 f8             	fstl   -0x8(%ebp)
40c54c:	e9 58 f6 ff ff       	jmp    0x40bba9
40c551:	d9 c0                	fld    %st(0)
40c553:	dd 55 f8             	fstl   -0x8(%ebp)
40c556:	e9 4e f6 ff ff       	jmp    0x40bba9
40c55b:	8b 3b                	mov    (%ebx),%edi
40c55d:	e9 fe f6 ff ff       	jmp    0x40bc60
40c562:	8b 40 10             	mov    0x10(%eax),%eax
40c565:	e9 1b ff ff ff       	jmp    0x40c485
40c56a:	dd da                	fstp   %st(2)
40c56c:	e9 3b f7 ff ff       	jmp    0x40bcac
40c571:	8b 40 10             	mov    0x10(%eax),%eax
40c574:	e9 21 ff ff ff       	jmp    0x40c49a
40c579:	8b 33                	mov    (%ebx),%esi
40c57b:	e9 8c fc ff ff       	jmp    0x40c20c
40c580:	83 c8 ff             	or     $0xffffffff,%eax
40c583:	e9 96 f6 ff ff       	jmp    0x40bc1e
40c588:	4a                   	dec    %edx
40c589:	bc 40 00 5c bb       	mov    $0xbb5c0040,%esp
40c58e:	40                   	inc    %eax
40c58f:	00 f6                	add    %dh,%dh
40c591:	c1 40 00 50          	roll   $0x50,0x0(%eax)
40c595:	c4 40 00             	les    0x0(%eax),%eax
40c598:	50                   	push   %eax
40c599:	c2 40 00             	ret    $0x40
40c59c:	59                   	pop    %ecx
40c59d:	c1 40 00 e3          	roll   $0xe3,0x0(%eax)
40c5a1:	14 44                	adc    $0x44,%al
40c5a3:	00 a2 c4 40 00 4f    	add    %ah,0x4f0040c4(%edx)
40c5a9:	c3                   	ret
40c5aa:	40                   	inc    %eax
40c5ab:	00 79 bf             	add    %bh,-0x41(%ecx)
40c5ae:	40                   	inc    %eax
40c5af:	00 1c bc             	add    %bl,(%esp,%edi,4)
40c5b2:	40                   	inc    %eax
40c5b3:	00 e1                	add    %ah,%cl
40c5b5:	bc 40 00 8b bd       	mov    $0xbd8b0040,%esp
40c5ba:	40                   	inc    %eax
40c5bb:	00 d3                	add    %dl,%bl
40c5bd:	ba 40 00 73 be       	mov    $0xbe730040,%edx
40c5c2:	40                   	inc    %eax
40c5c3:	00 c0                	add    %al,%al
40c5c5:	18 44 00 30          	sbb    %al,0x30(%eax,%eax,1)
40c5c9:	be 40 00 cb 13       	mov    $0x13cb0040,%esi
40c5ce:	44                   	inc    %esp
40c5cf:	00 14 c3             	add    %dl,(%ebx,%eax,8)
40c5d2:	40                   	inc    %eax
40c5d3:	00 d8                	add    %bl,%al
40c5d5:	13 44 00 21          	adc    0x21(%eax,%eax,1),%eax
40c5d9:	bb 40 00 00 01       	mov    $0x1000040,%ebx
40c5de:	04 02                	add    $0x2,%al
40c5e0:	04 04                	add    $0x4,%al
40c5e2:	04 04                	add    $0x4,%al
40c5e4:	03 04 03             	add    (%ebx,%eax,1),%eax
40c5e7:	90                   	nop
40c5e8:	6f                   	outsl  %ds:(%esi),(%dx)
40c5e9:	bf 40 00 47 c5       	mov    $0xc5470040,%edi
40c5ee:	40                   	inc    %eax
40c5ef:	00 51 c5             	add    %dl,-0x3b(%ecx)
40c5f2:	40                   	inc    %eax
40c5f3:	00 6c 15 44          	add    %ch,0x44(%ebp,%edx,1)
40c5f7:	00 51 c5             	add    %dl,-0x3b(%ecx)
40c5fa:	40                   	inc    %eax
40c5fb:	00 51 c5             	add    %dl,-0x3b(%ecx)
40c5fe:	40                   	inc    %eax
40c5ff:	00 6f bf             	add    %ch,-0x41(%edi)
40c602:	40                   	inc    %eax
40c603:	00 51 c5             	add    %dl,-0x3b(%ecx)
40c606:	40                   	inc    %eax
40c607:	00 be 15 44 00 b1    	add    %bh,-0x4effbbeb(%esi)
40c60d:	15 44 00 50 c0       	adc    $0xc0500044,%eax
40c612:	40                   	inc    %eax
40c613:	00 0e                	add    %cl,(%esi)
40c615:	c5 40 00             	lds    0x0(%eax),%eax
40c618:	1f                   	pop    %ds
40c619:	c5 40 00             	lds    0x0(%eax),%eax
40c61c:	08 14 44             	or     %dl,(%esp,%eax,2)
40c61f:	00 1f                	add    %bl,(%edi)
40c621:	c5 40 00             	lds    0x0(%eax),%eax
40c624:	1f                   	pop    %ds
40c625:	c5 40 00             	lds    0x0(%eax),%eax
40c628:	50                   	push   %eax
40c629:	c0 40 00 1f          	rolb   $0x1f,0x0(%eax)
40c62d:	c5 40 00             	lds    0x0(%eax),%eax
40c630:	3e 14 44             	ds adc $0x44,%al
40c633:	00 15 c5 40 00 f2    	add    %dl,0xf20040c5
40c639:	c0 40 00 46          	rolb   $0x46,0x0(%eax)
40c63d:	18 44 00 6a          	sbb    %al,0x6a(%eax,%eax,1)
40c641:	c5 40 00             	lds    0x0(%eax),%eax
40c644:	08 18                	or     %bl,(%eax)
40c646:	44                   	inc    %esp
40c647:	00 6a c5             	add    %ch,-0x3b(%edx)
40c64a:	40                   	inc    %eax
40c64b:	00 6a c5             	add    %ch,-0x3b(%edx)
40c64e:	40                   	inc    %eax
40c64f:	00 f2                	add    %dh,%dl
40c651:	c0 40 00 6a          	rolb   $0x6a,0x0(%eax)
40c655:	c5 40 00             	lds    0x0(%eax),%eax
40c658:	5f                   	pop    %edi
40c659:	18 44 00 51          	sbb    %al,0x51(%eax,%eax,1)
40c65d:	18 44 00 aa          	sbb    %al,-0x56(%eax,%eax,1)
40c661:	c2 40 00             	ret    $0x40
40c664:	29 15 44 00 c8 bb    	sub    %edx,0xbbc80044
40c66a:	40                   	inc    %eax
40c66b:	00 03                	add    %al,(%ebx)
40c66d:	c4 40 00             	les    0x0(%eax),%eax
40c670:	c8 bb 40 00          	enter  $0x40bb,$0x0
40c674:	c8 bb 40 00          	enter  $0x40bb,$0x0
40c678:	58                   	pop    %eax
40c679:	15 44 00 c8 bb       	adc    $0xbbc80044,%eax
40c67e:	40                   	inc    %eax
40c67f:	00 aa c2 40 00 06    	add    %ch,0x60040c2(%edx)
40c685:	13 44 00 f9          	adc    -0x7(%eax,%eax,1),%eax
40c689:	c2 40 00             	ret    $0x40
40c68c:	30 13                	xor    %dl,(%ebx)
40c68e:	44                   	inc    %esp
40c68f:	00 13                	add    %dl,(%ebx)
40c691:	13 44 00 cc          	adc    -0x34(%eax,%eax,1),%eax
40c695:	bd 40 00 00 04       	mov    $0x4000040,%ebp
40c69a:	01 04 04             	add    %eax,(%esp,%eax,1)
40c69d:	02 04 03             	add    (%ebx,%eax,1),%al
40c6a0:	01 03                	add    %eax,(%ebx)
40c6a2:	8b ff                	mov    %edi,%edi
40c6a4:	b4 10                	mov    $0x10,%ah
40c6a6:	44                   	inc    %esp
40c6a7:	00 29                	add    %ch,(%ecx)
40c6a9:	bd 40 00 3b c3       	mov    $0xc33b0040,%ebp
40c6ae:	40                   	inc    %eax
40c6af:	00 29                	add    %ch,(%ecx)
40c6b1:	bd 40 00 29 bd       	mov    $0xbd290040,%ebp
40c6b6:	40                   	inc    %eax
40c6b7:	00 58 11             	add    %bl,0x11(%eax)
40c6ba:	44                   	inc    %esp
40c6bb:	00 29                	add    %ch,(%ecx)
40c6bd:	bd 40 00 c1 10       	mov    $0x10c10040,%ebp
40c6c2:	44                   	inc    %esp
40c6c3:	00 c1                	add    %al,%cl
40c6c5:	10 44 00 de          	adc    %al,-0x22(%eax,%eax,1)
40c6c9:	10 44 00 18          	adc    %al,0x18(%eax,%eax,1)
40c6cd:	bf 40 00 3f 17       	mov    $0x173f0040,%edi
40c6d2:	44                   	inc    %esp
40c6d3:	00 b9 bc 40 00 97    	add    %bh,-0x68ffbf44(%ecx)
40c6d9:	c3                   	ret
40c6da:	40                   	inc    %eax
40c6db:	00 b9 bc 40 00 b9    	add    %bh,-0x46ffbf44(%ecx)
40c6e1:	bc 40 00 6c 17       	mov    $0x176c0040,%esp
40c6e6:	44                   	inc    %esp
40c6e7:	00 b9 bc 40 00 18    	add    %bh,0x180040bc(%ecx)
40c6ed:	bf 40 00 ed c4       	mov    $0xc4ed0040,%edi
40c6f2:	40                   	inc    %eax
40c6f3:	00 8e 14 44 00 c7    	add    %cl,-0x38ffbbec(%esi)
40c6f9:	bf 40 00 00 00       	mov    $0x40,%edi
40c6fe:	00 02                	add    %al,(%edx)
40c700:	02 02                	add    (%edx),%al
40c702:	00 02                	add    %al,(%edx)
40c704:	00 00                	add    %al,(%eax)
40c706:	01 55 8b             	add    %edx,-0x75(%ebp)
40c709:	ec                   	in     (%dx),%al
40c70a:	81 ec 34 03 00 00    	sub    $0x334,%esp
40c710:	53                   	push   %ebx
40c711:	56                   	push   %esi
40c712:	57                   	push   %edi
40c713:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40c716:	33 c0                	xor    %eax,%eax
40c718:	68 04 01 00 00       	push   $0x104
40c71d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c720:	66 89 85 d0 fc ff ff 	mov    %ax,-0x330(%ebp)
40c727:	e8 4a b4 ff ff       	call   0x407b76
40c72c:	8b 45 08             	mov    0x8(%ebp),%eax