409409:	89 45 fc             	mov    %eax,-0x4(%ebp)
40940c:	53                   	push   %ebx
40940d:	56                   	push   %esi
40940e:	8b 75 08             	mov    0x8(%ebp),%esi
409411:	33 db                	xor    %ebx,%ebx
409413:	57                   	push   %edi
409414:	53                   	push   %ebx
409415:	53                   	push   %ebx
409416:	6a 01                	push   $0x1
409418:	53                   	push   %ebx
409419:	8b fb                	mov    %ebx,%edi
40941b:	ff 15 3c 31 43 00    	call   *0x43313c
409421:	53                   	push   %ebx
409422:	68 5c 15 40 00       	push   $0x40155c
409427:	ff 15 cc 30 43 00    	call   *0x4330cc
40942d:	85 c0                	test   %eax,%eax
40942f:	0f 88 d7 01 00 00    	js     0x40960c
409435:	8b ce                	mov    %esi,%ecx
409437:	e8 e3 01 00 00       	call   0x40961f
40943c:	85 c0                	test   %eax,%eax
40943e:	0f 84 c8 01 00 00    	je     0x40960c
409444:	53                   	push   %ebx
409445:	ff 15 0c 34 43 00    	call   *0x43340c
40944b:	85 c0                	test   %eax,%eax
40944d:	0f 88 b9 01 00 00    	js     0x40960c
409453:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
409459:	e8 3e 64 00 00       	call   0x40f89c
40945e:	68 30 17 40 00       	push   $0x401730
409463:	ff 15 d0 30 43 00    	call   *0x4330d0
409469:	a3 84 26 43 00       	mov    %eax,0x432684
40946e:	85 c0                	test   %eax,%eax
409470:	0f 84 1f 01 00 00    	je     0x409595
409476:	53                   	push   %ebx
409477:	68 50 26 43 00       	push   $0x432650
40947c:	53                   	push   %ebx
40947d:	68 3f 00 0f 00       	push   $0xf003f
409482:	53                   	push   %ebx
409483:	53                   	push   %ebx
409484:	53                   	push   %ebx
409485:	68 f4 12 41 00       	push   $0x4112f4
40948a:	68 01 00 00 80       	push   $0x80000001
40948f:	ff 15 20 30 43 00    	call   *0x433020
409495:	85 c0                	test   %eax,%eax
409497:	0f 88 f8 00 00 00    	js     0x409595
40949d:	ff 15 30 30 43 00    	call   *0x433030
4094a3:	68 40 26 43 00       	push   $0x432640
4094a8:	68 94 19 40 00       	push   $0x401994
4094ad:	6a 01                	push   $0x1
4094af:	53                   	push   %ebx
4094b0:	68 84 19 40 00       	push   $0x401984
4094b5:	ff 15 30 33 43 00    	call   *0x433330
4094bb:	85 c0                	test   %eax,%eax
4094bd:	0f 88 d2 00 00 00    	js     0x409595
4094c3:	39 1d 40 26 43 00    	cmp    %ebx,0x432640
4094c9:	0f 84 e0 00 00 00    	je     0x4095af
4094cf:	53                   	push   %ebx
4094d0:	68 20 9f 40 00       	push   $0x409f20
4094d5:	53                   	push   %ebx
4094d6:	6a 65                	push   $0x65
4094d8:	56                   	push   %esi
4094d9:	89 35 0c 19 41 00    	mov    %esi,0x41190c
4094df:	ff 15 6c 32 43 00    	call   *0x43326c
4094e5:	a3 10 19 43 00       	mov    %eax,0x431910
4094ea:	85 c0                	test   %eax,%eax
4094ec:	0f 84 a3 00 00 00    	je     0x409595
4094f2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4094f5:	e8 9a 02 00 00       	call   0x409794
4094fa:	85 c0                	test   %eax,%eax
4094fc:	0f 84 93 00 00 00    	je     0x409595
409502:	68 4c 26 43 00       	push   $0x43264c
409507:	68 74 19 40 00       	push   $0x401974
40950c:	6a 03                	push   $0x3
40950e:	53                   	push   %ebx
40950f:	68 c4 19 40 00       	push   $0x4019c4
409514:	ff 15 30 33 43 00    	call   *0x433330
40951a:	85 c0                	test   %eax,%eax
40951c:	79 3d                	jns    0x40955b
40951e:	50                   	push   %eax
40951f:	51                   	push   %ecx
409520:	8b 4d 04             	mov    0x4(%ebp),%ecx
409523:	e8 04 ee ff ff       	call   0x40832c
409528:	eb 31                	jmp    0x40955b
40952a:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409530:	50                   	push   %eax
409531:	ff 35 10 19 43 00    	push   0x431910
409537:	ff 15 68 32 43 00    	call   *0x433268
40953d:	85 c0                	test   %eax,%eax
40953f:	75 1a                	jne    0x40955b
409541:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409547:	50                   	push   %eax
409548:	ff 15 5c 32 43 00    	call   *0x43325c
40954e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409554:	50                   	push   %eax
409555:	ff 15 60 32 43 00    	call   *0x433260
40955b:	53                   	push   %ebx
40955c:	53                   	push   %ebx
40955d:	53                   	push   %ebx
40955e:	8d 85 24 ff ff ff    	lea    -0xdc(%ebp),%eax
409564:	50                   	push   %eax
409565:	ff 15 64 32 43 00    	call   *0x433264
40956b:	85 c0                	test   %eax,%eax
40956d:	75 bb                	jne    0x40952a
40956f:	8b 0d 4c 26 43 00    	mov    0x43264c,%ecx
409575:	85 c9                	test   %ecx,%ecx
409577:	74 16                	je     0x40958f
409579:	8b 01                	mov    (%ecx),%eax
40957b:	51                   	push   %ecx
40957c:	8b 70 08             	mov    0x8(%eax),%esi
40957f:	8b ce                	mov    %esi,%ecx
409581:	ff 15 18 34 43 00    	call   *0x433418
409587:	ff d6                	call   *%esi
409589:	89 1d 4c 26 43 00    	mov    %ebx,0x43264c
40958f:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
409595:	8b 0d 40 26 43 00    	mov    0x432640,%ecx
40959b:	85 c9                	test   %ecx,%ecx
40959d:	74 10                	je     0x4095af
40959f:	8b 01                	mov    (%ecx),%eax
4095a1:	51                   	push   %ecx
4095a2:	8b 70 08             	mov    0x8(%eax),%esi
4095a5:	8b ce                	mov    %esi,%ecx
4095a7:	ff 15 18 34 43 00    	call   *0x433418
4095ad:	ff d6                	call   *%esi
4095af:	ff 15 10 34 43 00    	call   *0x433410
4095b5:	a1 1c 19 43 00       	mov    0x43191c,%eax
4095ba:	85 c0                	test   %eax,%eax
4095bc:	74 07                	je     0x4095c5
4095be:	50                   	push   %eax
4095bf:	ff 15 b4 30 43 00    	call   *0x4330b4
4095c5:	a1 84 26 43 00       	mov    0x432684,%eax
4095ca:	85 c0                	test   %eax,%eax
4095cc:	74 0d                	je     0x4095db
4095ce:	50                   	push   %eax
4095cf:	ff 15 40 31 43 00    	call   *0x433140
4095d5:	89 1d 84 26 43 00    	mov    %ebx,0x432684
4095db:	a1 50 26 43 00       	mov    0x432650,%eax
4095e0:	85 c0                	test   %eax,%eax
4095e2:	74 0d                	je     0x4095f1
4095e4:	50                   	push   %eax
4095e5:	ff 15 00 30 43 00    	call   *0x433000
4095eb:	89 1d 50 26 43 00    	mov    %ebx,0x432650
4095f1:	51                   	push   %ecx
4095f2:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
4095f8:	e8 c9 5a 00 00       	call   0x40f0c6
4095fd:	8d 8d 40 ff ff ff    	lea    -0xc0(%ebp),%ecx
409603:	e8 f3 fb ff ff       	call   0x4091fb
409608:	8b c7                	mov    %edi,%eax
40960a:	eb 02                	jmp    0x40960e
40960c:	33 c0                	xor    %eax,%eax
40960e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409611:	5f                   	pop    %edi
409612:	5e                   	pop    %esi
409613:	33 cd                	xor    %ebp,%ecx
409615:	5b                   	pop    %ebx
409616:	e8 15 6e 00 00       	call   0x410430
40961b:	c9                   	leave
40961c:	c2 10 00             	ret    $0x10
40961f:	8b ff                	mov    %edi,%edi
409621:	55                   	push   %ebp
409622:	8b ec                	mov    %esp,%ebp
409624:	83 ec 28             	sub    $0x28,%esp
409627:	56                   	push   %esi
409628:	33 f6                	xor    %esi,%esi
40962a:	c7 45 d8 08 00 00 00 	movl   $0x8,-0x28(%ebp)
409631:	68 00 7f 00 00       	push   $0x7f00
409636:	56                   	push   %esi
409637:	c7 45 dc 80 b2 40 00 	movl   $0x40b280,-0x24(%ebp)
40963e:	89 75 e0             	mov    %esi,-0x20(%ebp)
409641:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409644:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409647:	89 75 ec             	mov    %esi,-0x14(%ebp)
40964a:	ff 15 04 33 43 00    	call   *0x433304
409650:	89 45 f0             	mov    %eax,-0x10(%ebp)
409653:	8d 45 d8             	lea    -0x28(%ebp),%eax
409656:	50                   	push   %eax
409657:	c7 45 f4 06 00 00 00 	movl   $0x6,-0xc(%ebp)
40965e:	89 75 f8             	mov    %esi,-0x8(%ebp)
409661:	c7 45 fc 74 17 40 00 	movl   $0x401774,-0x4(%ebp)
409668:	ff 15 04 32 43 00    	call   *0x433204
40966e:	0f b7 c0             	movzwl %ax,%eax
409671:	5e                   	pop    %esi
409672:	c9                   	leave
409673:	c3                   	ret
409674:	8b ff                	mov    %edi,%edi
409676:	55                   	push   %ebp
409677:	8b ec                	mov    %esp,%ebp
409679:	83 ec 14             	sub    $0x14,%esp
40967c:	a1 64 10 41 00       	mov    0x411064,%eax
409681:	33 c5                	xor    %ebp,%eax
409683:	89 45 fc             	mov    %eax,-0x4(%ebp)
409686:	56                   	push   %esi
409687:	57                   	push   %edi
409688:	8d 45 ec             	lea    -0x14(%ebp),%eax
40968b:	50                   	push   %eax
40968c:	51                   	push   %ecx
40968d:	ff 15 f0 31 43 00    	call   *0x4331f0
409693:	8b 45 f8             	mov    -0x8(%ebp),%eax
409696:	8d 75 ec             	lea    -0x14(%ebp),%esi
409699:	2b 05 3c 1f 43 00    	sub    0x431f3c,%eax
40969f:	bf 40 1f 43 00       	mov    $0x431f40,%edi
4096a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4096a7:	33 cd                	xor    %ebp,%ecx
4096a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096aa:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ab:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ac:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4096ad:	5f                   	pop    %edi
4096ae:	a3 44 1f 43 00       	mov    %eax,0x431f44
4096b3:	5e                   	pop    %esi
4096b4:	e8 77 6d 00 00       	call   0x410430
4096b9:	c9                   	leave
4096ba:	c3                   	ret
4096bb:	8b ff                	mov    %edi,%edi
4096bd:	55                   	push   %ebp
4096be:	8b ec                	mov    %esp,%ebp
4096c0:	83 ec 70             	sub    $0x70,%esp
4096c3:	a1 64 10 41 00       	mov    0x411064,%eax
4096c8:	33 c5                	xor    %ebp,%eax
4096ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
4096cd:	56                   	push   %esi
4096ce:	57                   	push   %edi
4096cf:	6a 02                	push   $0x2
4096d1:	8d 45 90             	lea    -0x70(%ebp),%eax
4096d4:	8b f1                	mov    %ecx,%esi
4096d6:	50                   	push   %eax
4096d7:	ff 15 a4 31 43 00    	call   *0x4331a4
4096dd:	50                   	push   %eax
4096de:	ff 15 78 30 43 00    	call   *0x433078
4096e4:	f7 d8                	neg    %eax
4096e6:	6a 20                	push   $0x20
4096e8:	1b c0                	sbb    %eax,%eax
4096ea:	33 ff                	xor    %edi,%edi
4096ec:	21 45 90             	and    %eax,-0x70(%ebp)
4096ef:	33 c0                	xor    %eax,%eax
4096f1:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
4096f5:	8d 45 b0             	lea    -0x50(%ebp),%eax
4096f8:	50                   	push   %eax
4096f9:	68 f8 2a 00 00       	push   $0x2af8
4096fe:	57                   	push   %edi
4096ff:	ff 15 88 31 43 00    	call   *0x433188
409705:	50                   	push   %eax
409706:	ff 15 20 33 43 00    	call   *0x433320
40970c:	85 c0                	test   %eax,%eax
40970e:	75 16                	jne    0x409726
409710:	6a ff                	push   $0xffffffff
409712:	68 e4 14 40 00       	push   $0x4014e4
409717:	8d 45 b0             	lea    -0x50(%ebp),%eax
40971a:	6a 20                	push   $0x20
40971c:	50                   	push   %eax
40971d:	ff 15 e4 33 43 00    	call   *0x4333e4
409723:	83 c4 10             	add    $0x10,%esp
409726:	a1 1c 19 43 00       	mov    0x43191c,%eax
40972b:	85 c0                	test   %eax,%eax
40972d:	74 07                	je     0x409736
40972f:	50                   	push   %eax
409730:	ff 15 b4 30 43 00    	call   *0x4330b4
409736:	6a 48                	push   $0x48
409738:	56                   	push   %esi
409739:	ff 15 8c 32 43 00    	call   *0x43328c
40973f:	50                   	push   %eax
409740:	6a 09                	push   $0x9
409742:	ff 15 80 31 43 00    	call   *0x433180
409748:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40974b:	f7 d8                	neg    %eax
40974d:	51                   	push   %ecx
40974e:	6a 02                	push   $0x2
409750:	57                   	push   %edi
409751:	57                   	push   %edi
409752:	57                   	push   %edi
409753:	ff 75 90             	push   -0x70(%ebp)
409756:	57                   	push   %edi
409757:	57                   	push   %edi
409758:	57                   	push   %edi
409759:	68 90 01 00 00       	push   $0x190
40975e:	57                   	push   %edi
40975f:	57                   	push   %edi
409760:	57                   	push   %edi
409761:	50                   	push   %eax
409762:	ff 15 9c 30 43 00    	call   *0x43309c
409768:	6a 48                	push   $0x48
40976a:	56                   	push   %esi
40976b:	a3 1c 19 43 00       	mov    %eax,0x43191c
409770:	ff 15 8c 32 43 00    	call   *0x43328c
409776:	50                   	push   %eax
409777:	6a 09                	push   $0x9
409779:	ff 15 80 31 43 00    	call   *0x433180
40977f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409782:	03 c0                	add    %eax,%eax
409784:	5f                   	pop    %edi
409785:	33 cd                	xor    %ebp,%ecx
409787:	a3 3c 1f 43 00       	mov    %eax,0x431f3c
40978c:	5e                   	pop    %esi
40978d:	e8 9e 6c 00 00       	call   0x410430
409792:	c9                   	leave
409793:	c3                   	ret
409794:	8b ff                	mov    %edi,%edi
409796:	55                   	push   %ebp
409797:	8b ec                	mov    %esp,%ebp
409799:	51                   	push   %ecx
40979a:	53                   	push   %ebx
40979b:	56                   	push   %esi
40979c:	57                   	push   %edi
40979d:	6a ec                	push   $0xffffffec
40979f:	ff 35 10 19 43 00    	push   0x431910
4097a5:	8b d9                	mov    %ecx,%ebx
4097a7:	ff 15 fc 32 43 00    	call   *0x4332fc
4097ad:	6a 68                	push   $0x68
4097af:	ff 35 10 19 43 00    	push   0x431910
4097b5:	8b f0                	mov    %eax,%esi
4097b7:	81 e6 00 00 40 00    	and    $0x400000,%esi
4097bd:	ff 15 14 33 43 00    	call   *0x433314
4097c3:	8b f8                	mov    %eax,%edi
4097c5:	85 ff                	test   %edi,%edi
4097c7:	0f 84 ea 00 00 00    	je     0x4098b7
4097cd:	6a ec                	push   $0xffffffec
4097cf:	57                   	push   %edi
4097d0:	ff 15 fc 32 43 00    	call   *0x4332fc
4097d6:	0b c6                	or     %esi,%eax
4097d8:	50                   	push   %eax
4097d9:	6a ec                	push   $0xffffffec
4097db:	57                   	push   %edi
4097dc:	ff 15 f8 32 43 00    	call   *0x4332f8
4097e2:	a1 50 26 43 00       	mov    0x432650,%eax
4097e7:	85 c0                	test   %eax,%eax
4097e9:	0f 84 c8 00 00 00    	je     0x4098b7
4097ef:	6a 04                	push   $0x4
4097f1:	5f                   	pop    %edi
4097f2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4097f5:	89 7d fc             	mov    %edi,-0x4(%ebp)
4097f8:	51                   	push   %ecx
4097f9:	68 34 26 43 00       	push   $0x432634
4097fe:	33 f6                	xor    %esi,%esi
409800:	56                   	push   %esi
409801:	56                   	push   %esi
409802:	68 94 17 40 00       	push   $0x401794
409807:	50                   	push   %eax
409808:	ff 15 24 30 43 00    	call   *0x433024
40980e:	85 c0                	test   %eax,%eax
409810:	79 0a                	jns    0x40981c
409812:	c7 05 34 26 43 00 c8 	movl   $0xc8,0x432634
409819:	00 00 00
40981c:	8d 45 fc             	lea    -0x4(%ebp),%eax
40981f:	89 7d fc             	mov    %edi,-0x4(%ebp)
409822:	50                   	push   %eax
409823:	68 30 26 43 00       	push   $0x432630
409828:	56                   	push   %esi
409829:	56                   	push   %esi
40982a:	68 a8 17 40 00       	push   $0x4017a8
40982f:	ff 35 50 26 43 00    	push   0x432650
409835:	ff 15 24 30 43 00    	call   *0x433024
40983b:	85 c0                	test   %eax,%eax