41944a:	85 f6                	test   %esi,%esi
41944c:	75 04                	jne    0x419452
41944e:	39 37                	cmp    %esi,(%edi)
419450:	77 17                	ja     0x419469
419452:	8b c6                	mov    %esi,%eax
419454:	eb 40                	jmp    0x419496
419456:	3d ea 00 00 00       	cmp    $0xea,%eax
41945b:	75 28                	jne    0x419485
41945d:	85 f6                	test   %esi,%esi
41945f:	74 08                	je     0x419469
419461:	56                   	push   %esi
419462:	ff 15 3c 35 42 00    	call   *0x42353c
419468:	59                   	pop    %ecx
419469:	ff 37                	push   (%edi)
41946b:	ff 15 40 35 42 00    	call   *0x423540
419471:	8b f0                	mov    %eax,%esi
419473:	59                   	pop    %ecx
419474:	85 f6                	test   %esi,%esi
419476:	74 05                	je     0x41947d
419478:	8b 45 fc             	mov    -0x4(%ebp),%eax
41947b:	eb b5                	jmp    0x419432
41947d:	c7 03 0e 00 00 00    	movl   $0xe,(%ebx)
419483:	eb 0c                	jmp    0x419491
419485:	85 f6                	test   %esi,%esi
419487:	74 08                	je     0x419491
419489:	56                   	push   %esi
41948a:	ff 15 3c 35 42 00    	call   *0x42353c
419490:	59                   	pop    %ecx
419491:	83 27 00             	andl   $0x0,(%edi)
419494:	33 c0                	xor    %eax,%eax
419496:	5f                   	pop    %edi
419497:	5e                   	pop    %esi
419498:	5b                   	pop    %ebx
419499:	c9                   	leave
41949a:	c2 04 00             	ret    $0x4
41949d:	8b ff                	mov    %edi,%edi
41949f:	55                   	push   %ebp
4194a0:	8b ec                	mov    %esp,%ebp
4194a2:	81 ec f4 00 00 00    	sub    $0xf4,%esp
4194a8:	a1 e4 05 42 00       	mov    0x4205e4,%eax
4194ad:	33 c5                	xor    %ebp,%eax
4194af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4194b2:	53                   	push   %ebx
4194b3:	56                   	push   %esi
4194b4:	57                   	push   %edi
4194b5:	6a 1c                	push   $0x1c
4194b7:	59                   	pop    %ecx
4194b8:	be e8 5c 40 00       	mov    $0x405ce8,%esi
4194bd:	8d bd 28 ff ff ff    	lea    -0xd8(%ebp),%edi
4194c3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4194c5:	33 db                	xor    %ebx,%ebx
4194c7:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
4194cd:	53                   	push   %ebx
4194ce:	68 08 02 00 00       	push   $0x208
4194d3:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4194d5:	be 48 1f 42 00       	mov    $0x421f48,%esi
4194da:	56                   	push   %esi
4194db:	53                   	push   %ebx
4194dc:	50                   	push   %eax
4194dd:	53                   	push   %ebx
4194de:	68 5c 5d 40 00       	push   $0x405d5c
4194e3:	ff 15 c4 35 42 00    	call   *0x4235c4
4194e9:	85 c0                	test   %eax,%eax
4194eb:	78 2d                	js     0x41951a
4194ed:	8b ce                	mov    %esi,%ecx
4194ef:	8d 51 02             	lea    0x2(%ecx),%edx
4194f2:	66 8b 01             	mov    (%ecx),%ax
4194f5:	83 c1 02             	add    $0x2,%ecx
4194f8:	66 3b c3             	cmp    %bx,%ax
4194fb:	75 f5                	jne    0x4194f2
4194fd:	2b ca                	sub    %edx,%ecx
4194ff:	ba 04 01 00 00       	mov    $0x104,%edx
419504:	d1 f9                	sar    $1,%ecx
419506:	8b c2                	mov    %edx,%eax
419508:	2b c1                	sub    %ecx,%eax
41950a:	50                   	push   %eax
41950b:	68 84 5d 40 00       	push   $0x405d84
419510:	52                   	push   %edx
419511:	56                   	push   %esi
419512:	ff 15 88 35 42 00    	call   *0x423588
419518:	eb 17                	jmp    0x419531
41951a:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
419520:	50                   	push   %eax
419521:	68 98 5d 40 00       	push   $0x405d98
419526:	68 04 01 00 00       	push   $0x104
41952b:	56                   	push   %esi
41952c:	e8 12 d8 fe ff       	call   0x406d43
419531:	83 c4 10             	add    $0x10,%esp
419534:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
41953a:	53                   	push   %ebx
41953b:	50                   	push   %eax
41953c:	53                   	push   %ebx
41953d:	68 3f 00 0f 00       	push   $0xf003f
419542:	53                   	push   %ebx
419543:	53                   	push   %ebx
419544:	53                   	push   %ebx
419545:	56                   	push   %esi
419546:	68 02 00 00 80       	push   $0x80000002
41954b:	ff 15 1c 30 42 00    	call   *0x42301c
419551:	85 c0                	test   %eax,%eax
419553:	0f 85 f0 01 00 00    	jne    0x419749
419559:	ff 75 0c             	push   0xc(%ebp)
41955c:	8d 45 9c             	lea    -0x64(%ebp),%eax
41955f:	ff 75 08             	push   0x8(%ebp)
419562:	68 d4 5d 40 00       	push   $0x405dd4
419567:	6a 30                	push   $0x30
419569:	50                   	push   %eax
41956a:	e8 d4 d7 fe ff       	call   0x406d43
41956f:	83 c4 14             	add    $0x14,%esp
419572:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
419578:	85 c0                	test   %eax,%eax
41957a:	0f 85 c9 01 00 00    	jne    0x419749
419580:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
419583:	8d 51 02             	lea    0x2(%ecx),%edx
419586:	66 8b 01             	mov    (%ecx),%ax
419589:	83 c1 02             	add    $0x2,%ecx
41958c:	66 3b c3             	cmp    %bx,%ax
41958f:	75 f5                	jne    0x419586
419591:	2b ca                	sub    %edx,%ecx
419593:	d1 f9                	sar    $1,%ecx
419595:	8d 79 01             	lea    0x1(%ecx),%edi
419598:	83 ff 30             	cmp    $0x30,%edi
41959b:	73 14                	jae    0x4195b1
41959d:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4195a0:	47                   	inc    %edi
4195a1:	83 f8 60             	cmp    $0x60,%eax
4195a4:	0f 83 b0 01 00 00    	jae    0x41975a
4195aa:	33 c9                	xor    %ecx,%ecx
4195ac:	66 89 4c 05 9c       	mov    %cx,-0x64(%ebp,%eax,1)
4195b1:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
4195b7:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
4195bd:	50                   	push   %eax
4195be:	8d 95 14 ff ff ff    	lea    -0xec(%ebp),%edx
4195c4:	e8 52 fe ff ff       	call   0x41941b
4195c9:	8b f0                	mov    %eax,%esi
4195cb:	89 b5 0c ff ff ff    	mov    %esi,-0xf4(%ebp)
4195d1:	85 f6                	test   %esi,%esi
4195d3:	75 36                	jne    0x41960b
4195d5:	8b b5 14 ff ff ff    	mov    -0xec(%ebp),%esi
4195db:	85 f6                	test   %esi,%esi
4195dd:	74 09                	je     0x4195e8
4195df:	83 fe 02             	cmp    $0x2,%esi
4195e2:	0f 85 53 01 00 00    	jne    0x41973b
4195e8:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4195eb:	50                   	push   %eax
4195ec:	8d 45 9c             	lea    -0x64(%ebp),%eax
4195ef:	50                   	push   %eax
4195f0:	6a 07                	push   $0x7
4195f2:	53                   	push   %ebx
4195f3:	68 b4 5d 40 00       	push   $0x405db4
4195f8:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
4195fe:	ff 15 10 30 42 00    	call   *0x423010
419604:	8b f0                	mov    %eax,%esi
419606:	e9 30 01 00 00       	jmp    0x41973b
41960b:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
419611:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
419614:	03 c1                	add    %ecx,%eax
419616:	50                   	push   %eax
419617:	ff 15 40 35 42 00    	call   *0x423540
41961d:	8b d8                	mov    %eax,%ebx
41961f:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
419625:	59                   	pop    %ecx
419626:	85 db                	test   %ebx,%ebx
419628:	0f 84 fd 00 00 00    	je     0x41972b
41962e:	ff b5 1c ff ff ff    	push   -0xe4(%ebp)
419634:	56                   	push   %esi
419635:	53                   	push   %ebx
419636:	e8 e0 2f 00 00       	call   0x41c61b
41963b:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
419641:	33 f6                	xor    %esi,%esi
419643:	83 c4 0c             	add    $0xc,%esp
419646:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
41964c:	d1 e8                	shr    $1,%eax
41964e:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
419654:	75 1b                	jne    0x419671
419656:	8b b5 14 ff ff ff    	mov    -0xec(%ebp),%esi
41965c:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
419662:	57                   	push   %edi
419663:	ff 15 3c 35 42 00    	call   *0x42353c
419669:	59                   	pop    %ecx
41966a:	e9 bf 00 00 00       	jmp    0x41972e
41966f:	33 f6                	xor    %esi,%esi
419671:	66 39 33             	cmp    %si,(%ebx)
419674:	74 77                	je     0x4196ed
419676:	8d 04 7d fe ff ff ff 	lea    -0x2(,%edi,2),%eax
41967d:	50                   	push   %eax
41967e:	8d 45 9c             	lea    -0x64(%ebp),%eax
419681:	53                   	push   %ebx
419682:	50                   	push   %eax
419683:	e8 8d 2f 00 00       	call   0x41c615
419688:	83 c4 0c             	add    $0xc,%esp
41968b:	85 c0                	test   %eax,%eax
41968d:	74 cd                	je     0x41965c
41968f:	6a 14                	push   $0x14
419691:	5e                   	pop    %esi
419692:	8b c3                	mov    %ebx,%eax
419694:	33 c9                	xor    %ecx,%ecx
419696:	66 39 08             	cmp    %cx,(%eax)
419699:	74 08                	je     0x4196a3
41969b:	83 c0 02             	add    $0x2,%eax
41969e:	83 ee 01             	sub    $0x1,%esi
4196a1:	75 f3                	jne    0x419696
4196a3:	8b d6                	mov    %esi,%edx
4196a5:	f7 de                	neg    %esi
4196a7:	6a 14                	push   $0x14
4196a9:	1b f6                	sbb    %esi,%esi
4196ab:	8b ca                	mov    %edx,%ecx
4196ad:	81 e6 a9 ff f8 7f    	and    $0x7ff8ffa9,%esi
4196b3:	81 c6 57 00 07 80    	add    $0x80070057,%esi
4196b9:	58                   	pop    %eax
4196ba:	2b c2                	sub    %edx,%eax
4196bc:	f7 d9                	neg    %ecx
4196be:	1b c9                	sbb    %ecx,%ecx
4196c0:	23 c8                	and    %eax,%ecx
4196c2:	8b c2                	mov    %edx,%eax
4196c4:	f7 d8                	neg    %eax
4196c6:	1b c0                	sbb    %eax,%eax
4196c8:	23 c1                	and    %ecx,%eax
4196ca:	85 d2                	test   %edx,%edx
4196cc:	74 8e                	je     0x41965c
4196ce:	8b 8d 18 ff ff ff    	mov    -0xe8(%ebp),%ecx
4196d4:	40                   	inc    %eax
4196d5:	03 c8                	add    %eax,%ecx
4196d7:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
4196dd:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4196e0:	3b 8d 10 ff ff ff    	cmp    -0xf0(%ebp),%ecx
4196e6:	72 87                	jb     0x41966f
4196e8:	e9 6f ff ff ff       	jmp    0x41965c
4196ed:	8d 04 3f             	lea    (%edi,%edi,1),%eax
4196f0:	50                   	push   %eax
4196f1:	8d 45 9c             	lea    -0x64(%ebp),%eax
4196f4:	50                   	push   %eax
4196f5:	53                   	push   %ebx
4196f6:	e8 20 2f 00 00       	call   0x41c61b
4196fb:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
419701:	83 c4 0c             	add    $0xc,%esp
419704:	03 c7                	add    %edi,%eax
419706:	8b bd 24 ff ff ff    	mov    -0xdc(%ebp),%edi
41970c:	03 c0                	add    %eax,%eax
41970e:	50                   	push   %eax
41970f:	57                   	push   %edi
419710:	6a 07                	push   $0x7
419712:	56                   	push   %esi
419713:	68 b4 5d 40 00       	push   $0x405db4
419718:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
41971e:	ff 15 10 30 42 00    	call   *0x423010
419724:	8b f0                	mov    %eax,%esi
419726:	e9 37 ff ff ff       	jmp    0x419662
41972b:	6a 0e                	push   $0xe
41972d:	5e                   	pop    %esi
41972e:	ff b5 0c ff ff ff    	push   -0xf4(%ebp)
419734:	ff 15 3c 35 42 00    	call   *0x42353c
41973a:	59                   	pop    %ecx
41973b:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
419741:	ff 15 0c 30 42 00    	call   *0x42300c
419747:	8b c6                	mov    %esi,%eax
419749:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41974c:	5f                   	pop    %edi
41974d:	5e                   	pop    %esi
41974e:	33 cd                	xor    %ebp,%ecx
419750:	5b                   	pop    %ebx
419751:	e8 ca 1e 00 00       	call   0x41b620
419756:	c9                   	leave
419757:	c2 08 00             	ret    $0x8
41975a:	e8 ff 20 00 00       	call   0x41b85e
41975f:	cc                   	int3
419760:	8b ff                	mov    %edi,%edi
419762:	55                   	push   %ebp
419763:	8b ec                	mov    %esp,%ebp
419765:	83 ec 7c             	sub    $0x7c,%esp
419768:	a1 e4 05 42 00       	mov    0x4205e4,%eax
41976d:	33 c5                	xor    %ebp,%eax
41976f:	89 45 fc             	mov    %eax,-0x4(%ebp)
419772:	56                   	push   %esi
419773:	57                   	push   %edi
419774:	6a 1c                	push   $0x1c
419776:	59                   	pop    %ecx
419777:	be e8 5c 40 00       	mov    $0x405ce8,%esi
41977c:	8d 7d 88             	lea    -0x78(%ebp),%edi
41977f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
419781:	8d 45 88             	lea    -0x78(%ebp),%eax
419784:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
419786:	33 f6                	xor    %esi,%esi
419788:	bf 48 1f 42 00       	mov    $0x421f48,%edi
41978d:	56                   	push   %esi
41978e:	68 08 02 00 00       	push   $0x208
419793:	57                   	push   %edi
419794:	56                   	push   %esi
419795:	50                   	push   %eax
419796:	56                   	push   %esi
419797:	68 5c 5d 40 00       	push   $0x405d5c
41979c:	ff 15 c4 35 42 00    	call   *0x4235c4
4197a2:	85 c0                	test   %eax,%eax
4197a4:	78 2d                	js     0x4197d3
4197a6:	8b cf                	mov    %edi,%ecx
4197a8:	8d 51 02             	lea    0x2(%ecx),%edx
4197ab:	66 8b 01             	mov    (%ecx),%ax
4197ae:	83 c1 02             	add    $0x2,%ecx
4197b1:	66 3b c6             	cmp    %si,%ax
4197b4:	75 f5                	jne    0x4197ab
4197b6:	2b ca                	sub    %edx,%ecx
4197b8:	ba 04 01 00 00       	mov    $0x104,%edx
4197bd:	d1 f9                	sar    $1,%ecx
4197bf:	8b c2                	mov    %edx,%eax
4197c1:	2b c1                	sub    %ecx,%eax
4197c3:	50                   	push   %eax
4197c4:	68 84 5d 40 00       	push   $0x405d84
4197c9:	52                   	push   %edx
4197ca:	57                   	push   %edi
4197cb:	ff 15 88 35 42 00    	call   *0x423588
4197d1:	eb 14                	jmp    0x4197e7
4197d3:	8d 45 88             	lea    -0x78(%ebp),%eax
4197d6:	50                   	push   %eax
4197d7:	68 98 5d 40 00       	push   $0x405d98
4197dc:	68 04 01 00 00       	push   $0x104
4197e1:	57                   	push   %edi
4197e2:	e8 5c d5 fe ff       	call   0x406d43
4197e7:	83 c4 10             	add    $0x10,%esp
4197ea:	8d 45 84             	lea    -0x7c(%ebp),%eax
4197ed:	56                   	push   %esi
4197ee:	50                   	push   %eax
4197ef:	56                   	push   %esi
4197f0:	68 3f 00 0f 00       	push   $0xf003f
4197f5:	56                   	push   %esi
4197f6:	56                   	push   %esi
4197f7:	56                   	push   %esi
4197f8:	57                   	push   %edi
4197f9:	68 02 00 00 80       	push   $0x80000002
4197fe:	ff 15 1c 30 42 00    	call   *0x42301c
419804:	5f                   	pop    %edi
419805:	5e                   	pop    %esi
419806:	85 c0                	test   %eax,%eax
419808:	75 27                	jne    0x419831
41980a:	68 cc 5c 40 00       	push   $0x405ccc
41980f:	ff 75 84             	push   -0x7c(%ebp)
419812:	ff 15 18 30 42 00    	call   *0x423018
419818:	68 b4 5d 40 00       	push   $0x405db4
41981d:	ff 75 84             	push   -0x7c(%ebp)
419820:	ff 15 18 30 42 00    	call   *0x423018
419826:	ff 75 84             	push   -0x7c(%ebp)
419829:	ff 15 0c 30 42 00    	call   *0x42300c
41982f:	33 c0                	xor    %eax,%eax
419831:	8b 4d fc             	mov    -0x4(%ebp),%ecx
419834:	33 cd                	xor    %ebp,%ecx
419836:	e8 e5 1d 00 00       	call   0x41b620
41983b:	c9                   	leave
41983c:	c3                   	ret
41983d:	8b ff                	mov    %edi,%edi
41983f:	55                   	push   %ebp
419840:	8b ec                	mov    %esp,%ebp