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
40471b:	8b 54 24 04          	mov    0x4(%esp),%edx
40471f:	29 10                	sub    %edx,(%eax)
404721:	8b 49 1c             	mov    0x1c(%ecx),%ecx
404724:	8d 04 12             	lea    (%edx,%edx,1),%eax
404727:	01 01                	add    %eax,(%ecx)
404729:	c2 04 00             	ret    $0x4
40472c:	55                   	push   %ebp
40472d:	8b ec                	mov    %esp,%ebp
40472f:	51                   	push   %ecx
404730:	ff 71 30             	push   0x30(%ecx)
404733:	8b 4d 08             	mov    0x8(%ebp),%ecx
404736:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40473a:	e8 9d e5 ff ff       	call   0x402cdc
40473f:	8b 45 08             	mov    0x8(%ebp),%eax
404742:	8b e5                	mov    %ebp,%esp
404744:	5d                   	pop    %ebp
404745:	c2 04 00             	ret    $0x4
404748:	e8 e1 04 00 00       	call   0x404c2e
40474d:	f7 d8                	neg    %eax
40474f:	1a c0                	sbb    %al,%al
404751:	fe c0                	inc    %al
404753:	c3                   	ret
404754:	8b 41 1c             	mov    0x1c(%ecx),%eax
404757:	8b 00                	mov    (%eax),%eax
404759:	c3                   	ret
40475a:	c2 04 00             	ret    $0x4
40475d:	56                   	push   %esi
40475e:	8b f1                	mov    %ecx,%esi
404760:	e8 a3 f4 ff ff       	call   0x403c08
404765:	8b 44 24 08          	mov    0x8(%esp),%eax
404769:	8b ce                	mov    %esi,%ecx
40476b:	83 66 3c 00          	andl   $0x0,0x3c(%esi)
40476f:	6a 20                	push   $0x20
404771:	89 46 38             	mov    %eax,0x38(%esi)
404774:	e8 b8 0a 00 00       	call   0x405231
404779:	83 7e 38 00          	cmpl   $0x0,0x38(%esi)
40477d:	66 89 46 40          	mov    %ax,0x40(%esi)
404781:	75 0b                	jne    0x40478e
404783:	6a 00                	push   $0x0
404785:	6a 04                	push   $0x4
404787:	8b ce                	mov    %esi,%ecx
404789:	e8 01 09 00 00       	call   0x40508f
40478e:	80 7c 24 0c 00       	cmpb   $0x0,0xc(%esp)
404793:	74 07                	je     0x40479c
404795:	56                   	push   %esi
404796:	e8 a7 19 00 00       	call   0x406142
40479b:	59                   	pop    %ecx
40479c:	5e                   	pop    %esi
40479d:	c2 08 00             	ret    $0x8
4047a0:	e9 43 dc ff ff       	jmp    0x4023e8
4047a5:	8b 01                	mov    (%ecx),%eax
4047a7:	ff 60 10             	jmp    *0x10(%eax)
4047aa:	8b 44 24 04          	mov    0x4(%esp),%eax
4047ae:	80 38 00             	cmpb   $0x0,(%eax)
4047b1:	75 03                	jne    0x4047b6
4047b3:	33 c0                	xor    %eax,%eax
4047b5:	c3                   	ret
4047b6:	8d 50 01             	lea    0x1(%eax),%edx
4047b9:	8a 08                	mov    (%eax),%cl
4047bb:	40                   	inc    %eax
4047bc:	84 c9                	test   %cl,%cl
4047be:	75 f9                	jne    0x4047b9
4047c0:	2b c2                	sub    %edx,%eax
4047c2:	c3                   	ret
4047c3:	8b 54 24 04          	mov    0x4(%esp),%edx
4047c7:	33 c9                	xor    %ecx,%ecx
4047c9:	66 39 0a             	cmp    %cx,(%edx)
4047cc:	74 16                	je     0x4047e4
4047ce:	56                   	push   %esi
4047cf:	8d 72 02             	lea    0x2(%edx),%esi
4047d2:	66 8b 02             	mov    (%edx),%ax
4047d5:	83 c2 02             	add    $0x2,%edx
4047d8:	66 3b c1             	cmp    %cx,%ax
4047db:	75 f5                	jne    0x4047d2
4047dd:	8b ca                	mov    %edx,%ecx
4047df:	2b ce                	sub    %esi,%ecx
4047e1:	d1 f9                	sar    $1,%ecx
4047e3:	5e                   	pop    %esi
4047e4:	8b c1                	mov    %ecx,%eax
4047e6:	c3                   	ret
4047e7:	56                   	push   %esi
4047e8:	57                   	push   %edi
4047e9:	8b f2                	mov    %edx,%esi
4047eb:	8b f9                	mov    %ecx,%edi
4047ed:	e8 ae ff ff ff       	call   0x4047a0
4047f2:	50                   	push   %eax
4047f3:	56                   	push   %esi
4047f4:	8b cf                	mov    %edi,%ecx
4047f6:	e8 d0 e3 ff ff       	call   0x402bcb
4047fb:	8b c7                	mov    %edi,%eax
4047fd:	5f                   	pop    %edi
4047fe:	5e                   	pop    %esi
4047ff:	c3                   	ret
404800:	e8 07 00 00 00       	call   0x40480c
404805:	c2 04 00             	ret    $0x4
404808:	83 c8 ff             	or     $0xffffffff,%eax
40480b:	c3                   	ret
40480c:	e9 f7 ff ff ff       	jmp    0x404808
404811:	51                   	push   %ecx
404812:	ff 34 24             	push   (%esp)
404815:	e8 0f f1 ff ff       	call   0x403929
40481a:	8b c8                	mov    %eax,%ecx
40481c:	e8 df ff ff ff       	call   0x404800
404821:	33 d2                	xor    %edx,%edx
404823:	42                   	inc    %edx
404824:	3b c2                	cmp    %edx,%eax
404826:	8d 48 ff             	lea    -0x1(%eax),%ecx
404829:	0f 46 ca             	cmovbe %edx,%ecx
40482c:	8b c1                	mov    %ecx,%eax
40482e:	59                   	pop    %ecx
40482f:	c3                   	ret
404830:	55                   	push   %ebp
404831:	8b ec                	mov    %esp,%ebp
404833:	51                   	push   %ecx
404834:	ff 75 0c             	push   0xc(%ebp)
404837:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40483b:	e8 dd 18 00 00       	call   0x40611d
404840:	59                   	pop    %ecx
404841:	8b 4d 08             	mov    0x8(%ebp),%ecx
404844:	50                   	push   %eax
404845:	e8 3d e0 ff ff       	call   0x402887
40484a:	8b 45 08             	mov    0x8(%ebp),%eax
40484d:	8b e5                	mov    %ebp,%esp
40484f:	5d                   	pop    %ebp
404850:	c2 08 00             	ret    $0x8
404853:	55                   	push   %ebp
404854:	8b ec                	mov    %esp,%ebp
404856:	51                   	push   %ecx
404857:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40485b:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
40485f:	75 0f                	jne    0x404870
404861:	8b 4d 08             	mov    0x8(%ebp),%ecx
404864:	68 0c 74 42 00       	push   $0x42740c
404869:	e8 19 e0 ff ff       	call   0x402887
40486e:	eb 0b                	jmp    0x40487b
404870:	ff 75 0c             	push   0xc(%ebp)
404873:	ff 75 08             	push   0x8(%ebp)
404876:	e8 b5 ff ff ff       	call   0x404830
40487b:	8b 45 08             	mov    0x8(%ebp),%eax
40487e:	8b e5                	mov    %ebp,%esp
404880:	5d                   	pop    %ebp
404881:	c2 08 00             	ret    $0x8
404884:	55                   	push   %ebp
404885:	8b ec                	mov    %esp,%ebp
404887:	51                   	push   %ecx
404888:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40488c:	53                   	push   %ebx
40488d:	56                   	push   %esi
40488e:	57                   	push   %edi
40488f:	8b f1                	mov    %ecx,%esi
404891:	e8 ca f9 ff ff       	call   0x404260
404896:	8b f8                	mov    %eax,%edi
404898:	8b ce                	mov    %esi,%ecx
40489a:	8b 1f                	mov    (%edi),%ebx
40489c:	e8 7c 09 00 00       	call   0x40521d
4048a1:	50                   	push   %eax
4048a2:	ff 75 08             	push   0x8(%ebp)
4048a5:	8b cf                	mov    %edi,%ecx
4048a7:	ff 53 08             	call   *0x8(%ebx)
4048aa:	8b 45 08             	mov    0x8(%ebp),%eax
4048ad:	5f                   	pop    %edi
4048ae:	5e                   	pop    %esi
4048af:	5b                   	pop    %ebx
4048b0:	8b e5                	mov    %ebp,%esp
4048b2:	5d                   	pop    %ebp
4048b3:	c2 04 00             	ret    $0x4
4048b6:	55                   	push   %ebp
4048b7:	8b ec                	mov    %esp,%ebp
4048b9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4048bd:	75 05                	jne    0x4048c4
4048bf:	8b 45 08             	mov    0x8(%ebp),%eax
4048c2:	5d                   	pop    %ebp
4048c3:	c3                   	ret
4048c4:	5d                   	pop    %ebp
4048c5:	e9 56 31 00 00       	jmp    0x407a20