415360:	89 8c 24 90 02 00 00 	mov    %ecx,0x290(%esp)
415367:	ab                   	stos   %eax,%es:(%edi)
415368:	ab                   	stos   %eax,%es:(%edi)
415369:	66 ab                	stos   %ax,%es:(%edi)
41536b:	33 c0                	xor    %eax,%eax
41536d:	89 4c 24 64          	mov    %ecx,0x64(%esp)
415371:	8d 7c 24 7c          	lea    0x7c(%esp),%edi
415375:	89 4c 24 68          	mov    %ecx,0x68(%esp)
415379:	88 4c 24 6c          	mov    %cl,0x6c(%esp)
41537d:	89 4c 24 70          	mov    %ecx,0x70(%esp)
415381:	89 4c 24 78          	mov    %ecx,0x78(%esp)
415385:	ab                   	stos   %eax,%es:(%edi)
415386:	ab                   	stos   %eax,%es:(%edi)
415387:	ab                   	stos   %eax,%es:(%edi)
415388:	b8 04 01 00 00       	mov    $0x104,%eax
41538d:	50                   	push   %eax
41538e:	89 84 24 9c 02 00 00 	mov    %eax,0x29c(%esp)
415395:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
41539c:	51                   	push   %ecx
41539d:	50                   	push   %eax
41539e:	e8 1a 2c 00 00       	call   0x417fbd
4153a3:	83 c4 0c             	add    $0xc,%esp
4153a6:	8d 8c 24 88 00 00 00 	lea    0x88(%esp),%ecx
4153ad:	68 e9 7f 00 00       	push   $0x7fe9
4153b2:	e8 39 90 ff ff       	call   0x40e3f0
4153b7:	85 c0                	test   %eax,%eax
4153b9:	0f 88 2e 01 00 00    	js     0x4154ed
4153bf:	a1 78 67 43 00       	mov    0x436778,%eax
4153c4:	8d 54 24 18          	lea    0x18(%esp),%edx
4153c8:	33 ff                	xor    %edi,%edi
4153ca:	89 44 24 14          	mov    %eax,0x14(%esp)
4153ce:	8b cb                	mov    %ebx,%ecx
4153d0:	c7 44 24 1c 06 00 00 	movl   $0x6,0x1c(%esp)
4153d7:	00
4153d8:	8b f7                	mov    %edi,%esi
4153da:	89 7c 24 20          	mov    %edi,0x20(%esp)
4153de:	89 7c 24 60          	mov    %edi,0x60(%esp)
4153e2:	89 7c 24 74          	mov    %edi,0x74(%esp)
4153e6:	e8 07 01 00 00       	call   0x4154f2
4153eb:	83 f8 01             	cmp    $0x1,%eax
4153ee:	0f 84 f9 00 00 00    	je     0x4154ed
4153f4:	8b 8c 24 90 02 00 00 	mov    0x290(%esp),%ecx
4153fb:	85 c9                	test   %ecx,%ecx
4153fd:	0f 84 bd bc 00 00    	je     0x4210c0
415403:	8b 94 24 98 02 00 00 	mov    0x298(%esp),%edx
41540a:	57                   	push   %edi
41540b:	e8 8e 3a ff ff       	call   0x408e9e
415410:	8b 5c 24 60          	mov    0x60(%esp),%ebx
415414:	85 db                	test   %ebx,%ebx
415416:	0f 84 b0 bc 00 00    	je     0x4210cc
41541c:	8d 54 24 64          	lea    0x64(%esp),%edx
415420:	8b fb                	mov    %ebx,%edi
415422:	8b 0a                	mov    (%edx),%ecx
415424:	8d 41 02             	lea    0x2(%ecx),%eax
415427:	89 44 24 0c          	mov    %eax,0xc(%esp)
41542b:	66 8b 01             	mov    (%ecx),%ax
41542e:	83 c1 02             	add    $0x2,%ecx
415431:	66 3b 44 24 10       	cmp    0x10(%esp),%ax
415436:	75 f3                	jne    0x41542b
415438:	2b 4c 24 0c          	sub    0xc(%esp),%ecx
41543c:	d1 f9                	sar    $1,%ecx
41543e:	0f 84 ef bc 00 00    	je     0x421133
415444:	8b 52 0c             	mov    0xc(%edx),%edx
415447:	83 ef 01             	sub    $0x1,%edi
41544a:	75 d6                	jne    0x415422
41544c:	8b 44 24 18          	mov    0x18(%esp),%eax
415450:	8d 7c 24 64          	lea    0x64(%esp),%edi
415454:	83 e0 10             	and    $0x10,%eax
415457:	89 44 24 10          	mov    %eax,0x10(%esp)
41545b:	85 c0                	test   %eax,%eax
41545d:	0f 84 a8 bc 00 00    	je     0x42110b
415463:	f7 44 24 18 00 20 00 	testl  $0x2000,0x18(%esp)
41546a:	00
41546b:	0f 84 5e bc 00 00    	je     0x4210cf
415471:	8b 0f                	mov    (%edi),%ecx
415473:	8d 54 24 0c          	lea    0xc(%esp),%edx
415477:	e8 45 fa ff ff       	call   0x414ec1
41547c:	85 c0                	test   %eax,%eax
41547e:	0f 85 6d bc 00 00    	jne    0x4210f1
415484:	8b 7f 0c             	mov    0xc(%edi),%edi
415487:	8b 44 24 10          	mov    0x10(%esp),%eax
41548b:	83 eb 01             	sub    $0x1,%ebx
41548e:	75 cb                	jne    0x41545b
415490:	8b 84 24 90 02 00 00 	mov    0x290(%esp),%eax
415497:	85 c0                	test   %eax,%eax
415499:	74 49                	je     0x4154e4
41549b:	ff b4 24 98 02 00 00 	push   0x298(%esp)
4154a2:	50                   	push   %eax
4154a3:	e8 e3 ce ff ff       	call   0x41238b
4154a8:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4154ac:	e8 de c4 ff ff       	call   0x41198f
4154b1:	8b 84 24 90 02 00 00 	mov    0x290(%esp),%eax
4154b8:	33 c9                	xor    %ecx,%ecx
4154ba:	89 8c 24 90 02 00 00 	mov    %ecx,0x290(%esp)
4154c1:	85 c0                	test   %eax,%eax
4154c3:	74 08                	je     0x4154cd
4154c5:	50                   	push   %eax
4154c6:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4154cc:	59                   	pop    %ecx
4154cd:	8b 8c 24 a4 02 00 00 	mov    0x2a4(%esp),%ecx
4154d4:	8b c6                	mov    %esi,%eax
4154d6:	5f                   	pop    %edi
4154d7:	5e                   	pop    %esi
4154d8:	5b                   	pop    %ebx
4154d9:	33 cc                	xor    %esp,%ecx
4154db:	e8 50 16 00 00       	call   0x416b30
4154e0:	8b e5                	mov    %ebp,%esp
4154e2:	5d                   	pop    %ebp
4154e3:	c3                   	ret
4154e4:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
4154eb:	eb ae                	jmp    0x41549b
4154ed:	33 f6                	xor    %esi,%esi
4154ef:	46                   	inc    %esi
4154f0:	eb bf                	jmp    0x4154b1
4154f2:	8b ff                	mov    %edi,%edi
4154f4:	55                   	push   %ebp
4154f5:	8b ec                	mov    %esp,%ebp
4154f7:	83 ec 34             	sub    $0x34,%esp
4154fa:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4154ff:	33 c5                	xor    %ebp,%eax
415501:	89 45 fc             	mov    %eax,-0x4(%ebp)
415504:	53                   	push   %ebx
415505:	56                   	push   %esi
415506:	57                   	push   %edi
415507:	6a 2f                	push   $0x2f
415509:	58                   	pop    %eax
41550a:	8b fa                	mov    %edx,%edi
41550c:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
415510:	33 c0                	xor    %eax,%eax
415512:	89 7d dc             	mov    %edi,-0x24(%ebp)
415515:	6a 02                	push   $0x2
415517:	8d 55 e8             	lea    -0x18(%ebp),%edx
41551a:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
41551e:	e8 0d 67 ff ff       	call   0x40bc30
415523:	8b f0                	mov    %eax,%esi
415525:	8d 5f 4c             	lea    0x4c(%edi),%ebx
415528:	33 c0                	xor    %eax,%eax
41552a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
41552d:	89 45 d8             	mov    %eax,-0x28(%ebp)
415530:	39 47 48             	cmp    %eax,0x48(%edi)
415533:	0f 85 0e bc 00 00    	jne    0x421147
415539:	eb 32                	jmp    0x41556d
41553b:	48                   	dec    %eax
41553c:	83 e8 01             	sub    $0x1,%eax
41553f:	0f 85 68 bc 00 00    	jne    0x4211ad
415545:	38 45 e7             	cmp    %al,-0x19(%ebp)
415548:	0f 85 24 bc 00 00    	jne    0x421172
41554e:	83 0f 10             	orl    $0x10,(%edi)
415551:	8b 45 dc             	mov    -0x24(%ebp),%eax
415554:	33 c9                	xor    %ecx,%ecx
415556:	66 39 4c 46 06       	cmp    %cx,0x6(%esi,%eax,2)
41555b:	0f 85 74 bc 00 00    	jne    0x4211d5
415561:	8b 75 d4             	mov    -0x2c(%ebp),%esi
415564:	8b 45 d0             	mov    -0x30(%ebp),%eax
415567:	8d 34 46             	lea    (%esi,%eax,2),%esi
41556a:	83 c6 02             	add    $0x2,%esi
41556d:	0f b7 0e             	movzwl (%esi),%ecx
415570:	66 85 c9             	test   %cx,%cx
415573:	75 11                	jne    0x415586
415575:	33 c0                	xor    %eax,%eax
415577:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41557a:	5f                   	pop    %edi
41557b:	5e                   	pop    %esi
41557c:	33 cd                	xor    %ebp,%ecx
41557e:	5b                   	pop    %ebx
41557f:	e8 ac 15 00 00       	call   0x416b30
415584:	c9                   	leave
415585:	c3                   	ret
415586:	8b d6                	mov    %esi,%edx
415588:	8d 5a 02             	lea    0x2(%edx),%ebx
41558b:	66 8b 02             	mov    (%edx),%ax
41558e:	83 c2 02             	add    $0x2,%edx
415591:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
415595:	75 f4                	jne    0x41558b
415597:	2b d3                	sub    %ebx,%edx
415599:	d1 fa                	sar    $1,%edx
41559b:	6a 2f                	push   $0x2f
41559d:	89 55 d0             	mov    %edx,-0x30(%ebp)
4155a0:	33 d2                	xor    %edx,%edx
4155a2:	58                   	pop    %eax
4155a3:	88 55 e7             	mov    %dl,-0x19(%ebp)
4155a6:	66 3b c8             	cmp    %ax,%cx
4155a9:	75 4e                	jne    0x4155f9
4155ab:	8d 46 04             	lea    0x4(%esi),%eax
4155ae:	8b da                	mov    %edx,%ebx
4155b0:	66 83 38 2d          	cmpw   $0x2d,(%eax)
4155b4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4155b7:	0f 84 a9 bb 00 00    	je     0x421166
4155bd:	0f b7 c3             	movzwl %bx,%eax
4155c0:	89 45 dc             	mov    %eax,-0x24(%ebp)
4155c3:	0f b7 44 46 04       	movzwl 0x4(%esi,%eax,2),%eax
4155c8:	50                   	push   %eax
4155c9:	ff 15 18 a4 44 00    	call   *0x44a418
4155cf:	0f b7 c0             	movzwl %ax,%eax
4155d2:	59                   	pop    %ecx
4155d3:	83 e8 3f             	sub    $0x3f,%eax
4155d6:	0f 84 14 bc 00 00    	je     0x4211f0
4155dc:	83 e8 12             	sub    $0x12,%eax
4155df:	0f 85 56 ff ff ff    	jne    0x41553b
4155e5:	38 45 e7             	cmp    %al,-0x19(%ebp)
4155e8:	0f 85 8c bb 00 00    	jne    0x42117a
4155ee:	81 0f 00 20 00 00    	orl    $0x2000,(%edi)
4155f4:	e9 58 ff ff ff       	jmp    0x415551
4155f9:	8b de                	mov    %esi,%ebx
4155fb:	8d 4b 02             	lea    0x2(%ebx),%ecx
4155fe:	66 8b 03             	mov    (%ebx),%ax
415601:	83 c3 02             	add    $0x2,%ebx
415604:	66 3b c2             	cmp    %dx,%ax
415607:	75 f5                	jne    0x4155fe
415609:	2b d9                	sub    %ecx,%ebx
41560b:	8b ce                	mov    %esi,%ecx
41560d:	d1 fb                	sar    $1,%ebx
41560f:	e8 4c aa ff ff       	call   0x410060
415614:	50                   	push   %eax
415615:	8d 53 01             	lea    0x1(%ebx),%edx
415618:	8b ce                	mov    %esi,%ecx
41561a:	e8 81 9d ff ff       	call   0x40f3a0
41561f:	8b 47 48             	mov    0x48(%edi),%eax
415622:	85 c0                	test   %eax,%eax
415624:	0f 85 5b bb 00 00    	jne    0x421185
41562a:	8b 5d e0             	mov    -0x20(%ebp),%ebx
41562d:	40                   	inc    %eax
41562e:	8b ce                	mov    %esi,%ecx
415630:	89 47 48             	mov    %eax,0x48(%edi)
415633:	e8 13 af ff ff       	call   0x41054b
415638:	89 03                	mov    %eax,(%ebx)
41563a:	c6 43 08 01          	movb   $0x1,0x8(%ebx)
41563e:	e9 21 ff ff ff       	jmp    0x415564
415643:	8b ff                	mov    %edi,%edi
415645:	55                   	push   %ebp
415646:	8b ec                	mov    %esp,%ebp
415648:	83 ec 0c             	sub    $0xc,%esp
41564b:	56                   	push   %esi
41564c:	33 f6                	xor    %esi,%esi
41564e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
415655:	57                   	push   %edi
415656:	89 75 f8             	mov    %esi,-0x8(%ebp)
415659:	c7 45 f4 0c 00 00 00 	movl   $0xc,-0xc(%ebp)
415660:	e8 fb a9 ff ff       	call   0x410060
415665:	56                   	push   %esi
415666:	68 80 00 00 08       	push   $0x8000080
41566b:	6a 04                	push   $0x4
41566d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
415670:	51                   	push   %ecx
415671:	56                   	push   %esi
415672:	68 00 00 00 40       	push   $0x40000000
415677:	50                   	push   %eax
415678:	ff 15 ac a0 44 00    	call   *0x44a0ac
41567e:	8b f8                	mov    %eax,%edi
415680:	83 ff ff             	cmp    $0xffffffff,%edi
415683:	0f 84 a2 bb 00 00    	je     0x42122b
415689:	6a 08                	push   $0x8
41568b:	57                   	push   %edi
41568c:	ff 15 88 a3 44 00    	call   *0x44a388
415692:	8b f0                	mov    %eax,%esi
415694:	59                   	pop    %ecx
415695:	59                   	pop    %ecx
415696:	83 fe ff             	cmp    $0xffffffff,%esi
415699:	74 06                	je     0x4156a1
41569b:	5f                   	pop    %edi
41569c:	8b c6                	mov    %esi,%eax
41569e:	5e                   	pop    %esi
41569f:	c9                   	leave
4156a0:	c3                   	ret
4156a1:	57                   	push   %edi
4156a2:	ff 15 1c a1 44 00    	call   *0x44a11c
4156a8:	eb f1                	jmp    0x41569b
4156aa:	cc                   	int3
4156ab:	cc                   	int3
4156ac:	cc                   	int3
4156ad:	cc                   	int3
4156ae:	cc                   	int3
4156af:	cc                   	int3
4156b0:	8b ff                	mov    %edi,%edi
4156b2:	55                   	push   %ebp
4156b3:	8b ec                	mov    %esp,%ebp
4156b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4156b8:	8b 49 3c             	mov    0x3c(%ecx),%ecx
4156bb:	e8 35 fc ff ff       	call   0x4152f5
4156c0:	5d                   	pop    %ebp
4156c1:	c2 04 00             	ret    $0x4
4156c4:	8b ff                	mov    %edi,%edi
4156c6:	55                   	push   %ebp
4156c7:	8b ec                	mov    %esp,%ebp
4156c9:	51                   	push   %ecx
4156ca:	51                   	push   %ecx
4156cb:	53                   	push   %ebx
4156cc:	56                   	push   %esi
4156cd:	57                   	push   %edi
4156ce:	8b f9                	mov    %ecx,%edi
4156d0:	33 db                	xor    %ebx,%ebx
4156d2:	8b f2                	mov    %edx,%esi
4156d4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4156d7:	8b 07                	mov    (%edi),%eax
4156d9:	83 f8 37             	cmp    $0x37,%eax
4156dc:	0f 8f e8 bc 00 00    	jg     0x4213ca
4156e2:	83 f8 34             	cmp    $0x34,%eax
4156e5:	7d 08                	jge    0x4156ef
4156e7:	85 c0                	test   %eax,%eax
4156e9:	0f 85 5e bb 00 00    	jne    0x42124d
4156ef:	6a 01                	push   $0x1
4156f1:	ff 77 38             	push   0x38(%edi)
4156f4:	8b 55 08             	mov    0x8(%ebp),%edx
4156f7:	8b ce                	mov    %esi,%ecx
4156f9:	e8 28 00 00 00       	call   0x415726
4156fe:	39 5f 3c             	cmp    %ebx,0x3c(%edi)
415701:	74 0e                	je     0x415711
415703:	8b 55 08             	mov    0x8(%ebp),%edx
415706:	8b ce                	mov    %esi,%ecx
415708:	53                   	push   %ebx
415709:	ff 77 3c             	push   0x3c(%edi)
41570c:	e8 15 00 00 00       	call   0x415726
415711:	ff 75 08             	push   0x8(%ebp)
415714:	8b d6                	mov    %esi,%edx
415716:	8b cf                	mov    %edi,%ecx
415718:	e8 ac 00 00 00       	call   0x4157c9
41571d:	5f                   	pop    %edi
41571e:	5e                   	pop    %esi
41571f:	33 c0                	xor    %eax,%eax
415721:	5b                   	pop    %ebx
415722:	c9                   	leave
415723:	c2 04 00             	ret    $0x4
415726:	8b ff                	mov    %edi,%edi
415728:	55                   	push   %ebp
415729:	8b ec                	mov    %esp,%ebp
41572b:	51                   	push   %ecx
41572c:	51                   	push   %ecx
41572d:	53                   	push   %ebx
41572e:	56                   	push   %esi
41572f:	57                   	push   %edi
415730:	8b 7d 08             	mov    0x8(%ebp),%edi
415733:	8b da                	mov    %edx,%ebx
415735:	8b f1                	mov    %ecx,%esi
415737:	85 ff                	test   %edi,%edi
415739:	0f 84 49 be 00 00    	je     0x421588
41573f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415743:	8b d6                	mov    %esi,%edx
415745:	8d 4a 02             	lea    0x2(%edx),%ecx
415748:	66 8b 02             	mov    (%edx),%ax
41574b:	83 c2 02             	add    $0x2,%edx
41574e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
415752:	75 f4                	jne    0x415748
415754:	2b d1                	sub    %ecx,%edx
415756:	8b cf                	mov    %edi,%ecx
415758:	d1 fa                	sar    $1,%edx
41575a:	8d 41 02             	lea    0x2(%ecx),%eax
41575d:	89 45 f8             	mov    %eax,-0x8(%ebp)
415760:	66 8b 01             	mov    (%ecx),%ax
415763:	83 c1 02             	add    $0x2,%ecx
415766:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax