4043d3:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
4043d7:	46                   	inc    %esi
4043d8:	d1 ee                	shr    $1,%esi
4043da:	3b 7c 24 18          	cmp    0x18(%esp),%edi
4043de:	0f 47 f0             	cmova  %eax,%esi
4043e1:	85 f6                	test   %esi,%esi
4043e3:	74 22                	je     0x404407
4043e5:	53                   	push   %ebx
4043e6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
4043ea:	ff 74 24 20          	push   0x20(%esp)
4043ee:	0f b7 07             	movzwl (%edi),%eax
4043f1:	50                   	push   %eax
4043f2:	e8 62 f4 ff ff       	call   0x403859
4043f7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4043fb:	83 c7 02             	add    $0x2,%edi
4043fe:	88 03                	mov    %al,(%ebx)
404400:	43                   	inc    %ebx
404401:	45                   	inc    %ebp
404402:	3b ee                	cmp    %esi,%ebp
404404:	75 e4                	jne    0x4043ea
404406:	5b                   	pop    %ebx
404407:	8b c7                	mov    %edi,%eax
404409:	5f                   	pop    %edi
40440a:	5e                   	pop    %esi
40440b:	5d                   	pop    %ebp
40440c:	59                   	pop    %ecx
40440d:	c2 10 00             	ret    $0x10
404410:	56                   	push   %esi
404411:	8b 74 24 0c          	mov    0xc(%esp),%esi
404415:	57                   	push   %edi
404416:	8b f9                	mov    %ecx,%edi
404418:	eb 16                	jmp    0x404430
40441a:	0f b7 06             	movzwl (%esi),%eax
40441d:	8b cf                	mov    %edi,%ecx
40441f:	50                   	push   %eax
404420:	ff 74 24 10          	push   0x10(%esp)
404424:	e8 7c 03 00 00       	call   0x4047a5
404429:	84 c0                	test   %al,%al
40442b:	75 09                	jne    0x404436
40442d:	83 c6 02             	add    $0x2,%esi
404430:	3b 74 24 14          	cmp    0x14(%esp),%esi
404434:	75 e4                	jne    0x40441a
404436:	5f                   	pop    %edi
404437:	8b c6                	mov    %esi,%eax
404439:	5e                   	pop    %esi
40443a:	c2 0c 00             	ret    $0xc
40443d:	56                   	push   %esi
40443e:	8b 74 24 0c          	mov    0xc(%esp),%esi
404442:	57                   	push   %edi
404443:	8b f9                	mov    %ecx,%edi
404445:	eb 16                	jmp    0x40445d
404447:	0f b7 06             	movzwl (%esi),%eax
40444a:	8b cf                	mov    %edi,%ecx
40444c:	50                   	push   %eax
40444d:	ff 74 24 10          	push   0x10(%esp)
404451:	e8 4f 03 00 00       	call   0x4047a5
404456:	84 c0                	test   %al,%al
404458:	74 09                	je     0x404463
40445a:	83 c6 02             	add    $0x2,%esi
40445d:	3b 74 24 14          	cmp    0x14(%esp),%esi
404461:	75 e4                	jne    0x404447
404463:	5f                   	pop    %edi
404464:	8b c6                	mov    %esi,%eax
404466:	5e                   	pop    %esi
404467:	c2 0c 00             	ret    $0xc
40446a:	53                   	push   %ebx
40446b:	56                   	push   %esi
40446c:	8b 74 24 0c          	mov    0xc(%esp),%esi
404470:	33 db                	xor    %ebx,%ebx
404472:	57                   	push   %edi
404473:	8b 7c 24 14          	mov    0x14(%esp),%edi
404477:	33 c0                	xor    %eax,%eax
404479:	2b fe                	sub    %esi,%edi
40447b:	47                   	inc    %edi
40447c:	d1 ef                	shr    $1,%edi
40447e:	3b 74 24 14          	cmp    0x14(%esp),%esi
404482:	0f 47 f8             	cmova  %eax,%edi
404485:	85 ff                	test   %edi,%edi
404487:	74 1c                	je     0x4044a5
404489:	55                   	push   %ebp
40448a:	8d 69 08             	lea    0x8(%ecx),%ebp
40448d:	0f b7 06             	movzwl (%esi),%eax
404490:	55                   	push   %ebp
404491:	50                   	push   %eax
404492:	e8 ce 17 00 00       	call   0x405c65
404497:	66 89 06             	mov    %ax,(%esi)
40449a:	83 c6 02             	add    $0x2,%esi
40449d:	43                   	inc    %ebx
40449e:	59                   	pop    %ecx
40449f:	59                   	pop    %ecx
4044a0:	3b df                	cmp    %edi,%ebx
4044a2:	75 e9                	jne    0x40448d
4044a4:	5d                   	pop    %ebp
4044a5:	5f                   	pop    %edi
4044a6:	8b c6                	mov    %esi,%eax
4044a8:	5e                   	pop    %esi
4044a9:	5b                   	pop    %ebx
4044aa:	c2 08 00             	ret    $0x8
4044ad:	8d 41 08             	lea    0x8(%ecx),%eax
4044b0:	50                   	push   %eax
4044b1:	ff 74 24 08          	push   0x8(%esp)
4044b5:	e8 ab 17 00 00       	call   0x405c65
4044ba:	59                   	pop    %ecx
4044bb:	59                   	pop    %ecx
4044bc:	c2 04 00             	ret    $0x4
4044bf:	53                   	push   %ebx
4044c0:	56                   	push   %esi
4044c1:	8b 74 24 0c          	mov    0xc(%esp),%esi
4044c5:	33 db                	xor    %ebx,%ebx
4044c7:	57                   	push   %edi
4044c8:	8b 7c 24 14          	mov    0x14(%esp),%edi
4044cc:	33 c0                	xor    %eax,%eax
4044ce:	2b fe                	sub    %esi,%edi
4044d0:	47                   	inc    %edi
4044d1:	d1 ef                	shr    $1,%edi
4044d3:	3b 74 24 14          	cmp    0x14(%esp),%esi
4044d7:	0f 47 f8             	cmova  %eax,%edi
4044da:	85 ff                	test   %edi,%edi
4044dc:	74 1c                	je     0x4044fa
4044de:	55                   	push   %ebp
4044df:	8d 69 08             	lea    0x8(%ecx),%ebp
4044e2:	0f b7 06             	movzwl (%esi),%eax
4044e5:	55                   	push   %ebp
4044e6:	50                   	push   %eax
4044e7:	e8 db 17 00 00       	call   0x405cc7
4044ec:	66 89 06             	mov    %ax,(%esi)
4044ef:	83 c6 02             	add    $0x2,%esi
4044f2:	43                   	inc    %ebx
4044f3:	59                   	pop    %ecx
4044f4:	59                   	pop    %ecx
4044f5:	3b df                	cmp    %edi,%ebx
4044f7:	75 e9                	jne    0x4044e2
4044f9:	5d                   	pop    %ebp
4044fa:	5f                   	pop    %edi
4044fb:	8b c6                	mov    %esi,%eax
4044fd:	5e                   	pop    %esi
4044fe:	5b                   	pop    %ebx
4044ff:	c2 08 00             	ret    $0x8
404502:	8d 41 08             	lea    0x8(%ecx),%eax
404505:	50                   	push   %eax
404506:	ff 74 24 08          	push   0x8(%esp)
40450a:	e8 b8 17 00 00       	call   0x405cc7
40450f:	59                   	pop    %ecx
404510:	59                   	pop    %ecx
404511:	c2 04 00             	ret    $0x4
404514:	51                   	push   %ecx
404515:	55                   	push   %ebp
404516:	56                   	push   %esi
404517:	8b 74 24 10          	mov    0x10(%esp),%esi
40451b:	33 c0                	xor    %eax,%eax
40451d:	57                   	push   %edi
40451e:	8b 7c 24 18          	mov    0x18(%esp),%edi
404522:	33 ed                	xor    %ebp,%ebp
404524:	2b fe                	sub    %esi,%edi
404526:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
40452a:	3b 74 24 18          	cmp    0x18(%esp),%esi
40452e:	0f 47 f8             	cmova  %eax,%edi
404531:	85 ff                	test   %edi,%edi
404533:	74 1f                	je     0x404554
404535:	53                   	push   %ebx
404536:	8b 5c 24 20          	mov    0x20(%esp),%ebx
40453a:	0f b6 06             	movzbl (%esi),%eax
40453d:	50                   	push   %eax
40453e:	e8 51 f3 ff ff       	call   0x403894
404543:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404547:	46                   	inc    %esi
404548:	45                   	inc    %ebp
404549:	66 89 03             	mov    %ax,(%ebx)
40454c:	8d 5b 02             	lea    0x2(%ebx),%ebx
40454f:	3b ef                	cmp    %edi,%ebp
404551:	75 e7                	jne    0x40453a
404553:	5b                   	pop    %ebx
404554:	5f                   	pop    %edi
404555:	8b c6                	mov    %esi,%eax
404557:	5e                   	pop    %esi
404558:	5d                   	pop    %ebp
404559:	59                   	pop    %ecx
40455a:	c2 0c 00             	ret    $0xc
40455d:	e9 32 f3 ff ff       	jmp    0x403894
404562:	8b 41 0c             	mov    0xc(%ecx),%eax
404565:	8b 00                	mov    (%eax),%eax
404567:	c3                   	ret
404568:	8b 41 2c             	mov    0x2c(%ecx),%eax
40456b:	8b 10                	mov    (%eax),%edx
40456d:	8b 41 1c             	mov    0x1c(%ecx),%eax
404570:	8b 00                	mov    (%eax),%eax
404572:	8d 04 50             	lea    (%eax,%edx,2),%eax
404575:	c3                   	ret
404576:	e8 f7 f7 ff ff       	call   0x403d72
40457b:	83 38 00             	cmpl   $0x0,(%eax)
40457e:	0f 94 c0             	sete   %al
404581:	c3                   	ret
404582:	b8 ff ff 00 00       	mov    $0xffff,%eax
404587:	c3                   	ret
404588:	8b 41 30             	mov    0x30(%ecx),%eax
40458b:	8b 10                	mov    (%eax),%edx
40458d:	8b 41 20             	mov    0x20(%ecx),%eax
404590:	8b 00                	mov    (%eax),%eax
404592:	8d 04 50             	lea    (%eax,%edx,2),%eax
404595:	c3                   	ret
404596:	8b 44 24 04          	mov    0x4(%esp),%eax
40459a:	66 8b 08             	mov    (%eax),%cx
40459d:	8b 44 24 08          	mov    0x8(%esp),%eax
4045a1:	66 3b 08             	cmp    (%eax),%cx
4045a4:	0f 94 c0             	sete   %al
4045a7:	c3                   	ret
4045a8:	8b 44 24 04          	mov    0x4(%esp),%eax
4045ac:	66 8b 08             	mov    (%eax),%cx
4045af:	8b 44 24 08          	mov    0x8(%esp),%eax
4045b3:	66 3b 08             	cmp    (%eax),%cx
4045b6:	0f 94 c0             	sete   %al
4045b9:	c3                   	ret
4045ba:	56                   	push   %esi
4045bb:	8b f1                	mov    %ecx,%esi
4045bd:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4045c1:	e8 9a fc ff ff       	call   0x404260
4045c6:	50                   	push   %eax
4045c7:	8b ce                	mov    %esi,%ecx
4045c9:	e8 b2 eb ff ff       	call   0x403180
4045ce:	5e                   	pop    %esi
4045cf:	84 c0                	test   %al,%al
4045d1:	74 14                	je     0x4045e7
4045d3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4045d7:	e8 41 0c 00 00       	call   0x40521d
4045dc:	3b 44 24 08          	cmp    0x8(%esp),%eax
4045e0:	75 05                	jne    0x4045e7
4045e2:	33 c0                	xor    %eax,%eax
4045e4:	40                   	inc    %eax
4045e5:	eb 02                	jmp    0x4045e9
4045e7:	33 c0                	xor    %eax,%eax
4045e9:	c2 08 00             	ret    $0x8
4045ec:	55                   	push   %ebp
4045ed:	8b ec                	mov    %esp,%ebp
4045ef:	51                   	push   %ecx
4045f0:	51                   	push   %ecx
4045f1:	ff 75 08             	push   0x8(%ebp)
4045f4:	8b 01                	mov    (%ecx),%eax
4045f6:	8d 55 f8             	lea    -0x8(%ebp),%edx
4045f9:	52                   	push   %edx
4045fa:	ff 50 0c             	call   *0xc(%eax)
4045fd:	8b 55 0c             	mov    0xc(%ebp),%edx
404600:	8b c8                	mov    %eax,%ecx
404602:	e8 89 eb ff ff       	call   0x403190
404607:	8b e5                	mov    %ebp,%esp
404609:	5d                   	pop    %ebp
40460a:	c2 08 00             	ret    $0x8
40460d:	56                   	push   %esi
40460e:	ff 74 24 08          	push   0x8(%esp)
404612:	8b f1                	mov    %ecx,%esi
404614:	e8 46 f0 ff ff       	call   0x40365f
404619:	ff 74 24 08          	push   0x8(%esp)
40461d:	8b ce                	mov    %esi,%ecx
40461f:	e8 af f2 ff ff       	call   0x4038d3
404624:	8b c6                	mov    %esi,%eax
404626:	5e                   	pop    %esi
404627:	c2 04 00             	ret    $0x4
40462a:	53                   	push   %ebx
40462b:	55                   	push   %ebp
40462c:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
404630:	8b d9                	mov    %ecx,%ebx
404632:	55                   	push   %ebp
404633:	e8 27 f0 ff ff       	call   0x40365f
404638:	8b cb                	mov    %ebx,%ecx
40463a:	e8 2a f7 ff ff       	call   0x403d69
40463f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
404643:	8b 00                	mov    (%eax),%eax
404645:	2b c5                	sub    %ebp,%eax
404647:	3b c1                	cmp    %ecx,%eax
404649:	77 0a                	ja     0x404655
40464b:	55                   	push   %ebp
40464c:	8b cb                	mov    %ebx,%ecx
40464e:	e8 80 f2 ff ff       	call   0x4038d3
404653:	eb 3a                	jmp    0x40468f
404655:	85 c9                	test   %ecx,%ecx
404657:	74 36                	je     0x40468f
404659:	56                   	push   %esi
40465a:	57                   	push   %edi
40465b:	8b cb                	mov    %ebx,%ecx
40465d:	e8 c2 f6 ff ff       	call   0x403d24
404662:	8b cb                	mov    %ebx,%ecx
404664:	8d 3c 28             	lea    (%eax,%ebp,1),%edi
404667:	e8 fd f6 ff ff       	call   0x403d69
40466c:	8b 30                	mov    (%eax),%esi
40466e:	8b 44 24 18          	mov    0x18(%esp),%eax
404672:	2b f0                	sub    %eax,%esi
404674:	8b ce                	mov    %esi,%ecx
404676:	03 c7                	add    %edi,%eax
404678:	2b cd                	sub    %ebp,%ecx
40467a:	51                   	push   %ecx
40467b:	50                   	push   %eax
40467c:	57                   	push   %edi
40467d:	e8 34 02 00 00       	call   0x4048b6
404682:	83 c4 0c             	add    $0xc,%esp
404685:	8b cb                	mov    %ebx,%ecx
404687:	56                   	push   %esi
404688:	e8 46 f2 ff ff       	call   0x4038d3
40468d:	5f                   	pop    %edi
40468e:	5e                   	pop    %esi
40468f:	5d                   	pop    %ebp
404690:	8b c3                	mov    %ebx,%eax
404692:	5b                   	pop    %ebx
404693:	c2 08 00             	ret    $0x8
404696:	66 8b 41 40          	mov    0x40(%ecx),%ax
40469a:	c3                   	ret
40469b:	8b 41 14             	mov    0x14(%ecx),%eax
40469e:	c3                   	ret
40469f:	b8 56 6b 42 00       	mov    $0x426b56,%eax
4046a4:	e8 17 27 00 00       	call   0x406dc0
4046a9:	51                   	push   %ecx
4046aa:	51                   	push   %ecx
4046ab:	56                   	push   %esi
4046ac:	8b f1                	mov    %ecx,%esi
4046ae:	8b 06                	mov    (%esi),%eax
4046b0:	8b 48 04             	mov    0x4(%eax),%ecx
4046b3:	03 ce                	add    %esi,%ecx
4046b5:	e8 70 05 00 00       	call   0x404c2a
4046ba:	85 c0                	test   %eax,%eax
4046bc:	74 49                	je     0x404707
4046be:	56                   	push   %esi
4046bf:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4046c2:	e8 ea e6 ff ff       	call   0x402db1
4046c7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4046cb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4046ce:	e8 3e eb ff ff       	call   0x403211
4046d3:	84 c0                	test   %al,%al
4046d5:	74 28                	je     0x4046ff
4046d7:	8b 06                	mov    (%esi),%eax
4046d9:	8b 48 04             	mov    0x4(%eax),%ecx
4046dc:	03 ce                	add    %esi,%ecx
4046de:	e8 47 05 00 00       	call   0x404c2a
4046e3:	8b c8                	mov    %eax,%ecx
4046e5:	e8 3b 05 00 00       	call   0x404c25
4046ea:	83 f8 ff             	cmp    $0xffffffff,%eax
4046ed:	75 10                	jne    0x4046ff
4046ef:	8b 06                	mov    (%esi),%eax
4046f1:	6a 00                	push   $0x0
4046f3:	6a 04                	push   $0x4
4046f5:	8b 48 04             	mov    0x4(%eax),%ecx
4046f8:	03 ce                	add    %esi,%ecx
4046fa:	e8 90 09 00 00       	call   0x40508f
4046ff:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404702:	e8 2e ea ff ff       	call   0x403135
404707:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40470a:	8b c6                	mov    %esi,%eax
40470c:	5e                   	pop    %esi
40470d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404714:	8b e5                	mov    %ebp,%esp
404716:	5d                   	pop    %ebp
404717:	c3                   	ret
404718:	8b 41 2c             	mov    0x2c(%ecx),%eax