40555d:	c3                   	ret
40555e:	8b c0                	mov    %eax,%eax
405560:	53                   	push   %ebx
405561:	8b 18                	mov    (%eax),%ebx
405563:	85 d2                	test   %edx,%edx
405565:	74 04                	je     0x40556b
405567:	f0 ff 42 f8          	lock incl -0x8(%edx)
40556b:	85 db                	test   %ebx,%ebx
40556d:	74 14                	je     0x405583
40556f:	f0 ff 4b f8          	lock decl -0x8(%ebx)
405573:	75 0e                	jne    0x405583
405575:	50                   	push   %eax
405576:	52                   	push   %edx
405577:	89 ca                	mov    %ecx,%edx
405579:	ff 43 f8             	incl   -0x8(%ebx)
40557c:	e8 a3 ff ff ff       	call   0x405524
405581:	5a                   	pop    %edx
405582:	58                   	pop    %eax
405583:	89 10                	mov    %edx,(%eax)
405585:	5b                   	pop    %ebx
405586:	c3                   	ret
405587:	90                   	nop
405588:	83 c4 e4             	add    $0xffffffe4,%esp
40558b:	6a 1c                	push   $0x1c
40558d:	8d 54 24 04          	lea    0x4(%esp),%edx
405591:	52                   	push   %edx
405592:	50                   	push   %eax
405593:	e8 34 bd ff ff       	call   0x4012cc
405598:	81 7c 24 10 00 10 00 	cmpl   $0x1000,0x10(%esp)
40559f:	00
4055a0:	75 06                	jne    0x4055a8
4055a2:	8b 44 24 04          	mov    0x4(%esp),%eax
4055a6:	eb 02                	jmp    0x4055aa
4055a8:	33 c0                	xor    %eax,%eax
4055aa:	83 c4 1c             	add    $0x1c,%esp
4055ad:	c3                   	ret
4055ae:	8b c0                	mov    %eax,%eax
4055b0:	e8 d3 ff ff ff       	call   0x405588
4055b5:	c3                   	ret
4055b6:	8b c0                	mov    %eax,%eax
4055b8:	53                   	push   %ebx
4055b9:	56                   	push   %esi
4055ba:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
4055c0:	8b d8                	mov    %eax,%ebx
4055c2:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
4055c6:	75 2b                	jne    0x4055f3
4055c8:	68 05 01 00 00       	push   $0x105
4055cd:	8d 44 24 04          	lea    0x4(%esp),%eax
4055d1:	50                   	push   %eax
4055d2:	8b 43 04             	mov    0x4(%ebx),%eax
4055d5:	50                   	push   %eax
4055d6:	e8 81 bc ff ff       	call   0x40125c
4055db:	8b c4                	mov    %esp,%eax
4055dd:	b2 01                	mov    $0x1,%dl
4055df:	e8 68 02 00 00       	call   0x40584c
4055e4:	8b f0                	mov    %eax,%esi
4055e6:	89 73 10             	mov    %esi,0x10(%ebx)
4055e9:	85 f6                	test   %esi,%esi
4055eb:	75 06                	jne    0x4055f3
4055ed:	8b 43 04             	mov    0x4(%ebx),%eax
4055f0:	89 43 10             	mov    %eax,0x10(%ebx)
4055f3:	8b 43 10             	mov    0x10(%ebx),%eax
4055f6:	81 c4 08 01 00 00    	add    $0x108,%esp
4055fc:	5e                   	pop    %esi
4055fd:	5b                   	pop    %ebx
4055fe:	c3                   	ret
4055ff:	90                   	nop
405600:	53                   	push   %ebx
405601:	56                   	push   %esi
405602:	57                   	push   %edi
405603:	51                   	push   %ecx
405604:	8b d8                	mov    %eax,%ebx
405606:	8b f4                	mov    %esp,%esi
405608:	a1 38 50 45 00       	mov    0x455038,%eax
40560d:	89 06                	mov    %eax,(%esi)
40560f:	83 3e 00             	cmpl   $0x0,(%esi)
405612:	74 2b                	je     0x40563f
405614:	8b 06                	mov    (%esi),%eax
405616:	3b 58 04             	cmp    0x4(%eax),%ebx
405619:	74 0e                	je     0x405629
40561b:	8b 06                	mov    (%esi),%eax
40561d:	3b 58 08             	cmp    0x8(%eax),%ebx
405620:	74 07                	je     0x405629
405622:	8b 06                	mov    (%esi),%eax
405624:	3b 58 0c             	cmp    0xc(%eax),%ebx
405627:	75 0b                	jne    0x405634
405629:	8b 06                	mov    (%esi),%eax
40562b:	e8 88 ff ff ff       	call   0x4055b8
405630:	8b f8                	mov    %eax,%edi
405632:	eb 0d                	jmp    0x405641
405634:	8b 06                	mov    (%esi),%eax
405636:	8b 00                	mov    (%eax),%eax
405638:	89 06                	mov    %eax,(%esi)
40563a:	83 3e 00             	cmpl   $0x0,(%esi)
40563d:	75 d5                	jne    0x405614
40563f:	8b fb                	mov    %ebx,%edi
405641:	8b c7                	mov    %edi,%eax
405643:	5a                   	pop    %edx
405644:	5f                   	pop    %edi
405645:	5e                   	pop    %esi
405646:	5b                   	pop    %ebx
405647:	c3                   	ret
405648:	55                   	push   %ebp
405649:	8b ec                	mov    %esp,%ebp
40564b:	51                   	push   %ecx
40564c:	53                   	push   %ebx
40564d:	56                   	push   %esi
40564e:	8d 75 fc             	lea    -0x4(%ebp),%esi
405651:	89 06                	mov    %eax,(%esi)
405653:	eb 0a                	jmp    0x40565f
405655:	8b 06                	mov    (%esi),%eax
405657:	50                   	push   %eax
405658:	e8 bf bb ff ff       	call   0x40121c
40565d:	89 06                	mov    %eax,(%esi)
40565f:	8b 06                	mov    (%esi),%eax
405661:	8a 18                	mov    (%eax),%bl
405663:	84 db                	test   %bl,%bl
405665:	74 05                	je     0x40566c
405667:	80 fb 5c             	cmp    $0x5c,%bl
40566a:	75 e9                	jne    0x405655
40566c:	8b 06                	mov    (%esi),%eax
40566e:	5e                   	pop    %esi
40566f:	5b                   	pop    %ebx
405670:	59                   	pop    %ecx
405671:	5d                   	pop    %ebp
405672:	c3                   	ret
405673:	90                   	nop
405674:	55                   	push   %ebp
405675:	8b ec                	mov    %esp,%ebp
405677:	81 c4 a4 fd ff ff    	add    $0xfffffda4,%esp
40567d:	53                   	push   %ebx
40567e:	56                   	push   %esi
40567f:	57                   	push   %edi
405680:	89 55 f8             	mov    %edx,-0x8(%ebp)
405683:	89 45 fc             	mov    %eax,-0x4(%ebp)
405686:	8b 45 fc             	mov    -0x4(%ebp),%eax
405689:	89 45 f4             	mov    %eax,-0xc(%ebp)
40568c:	68 28 58 40 00       	push   $0x405828
405691:	e8 ce bb ff ff       	call   0x401264
405696:	8b f0                	mov    %eax,%esi
405698:	85 f6                	test   %esi,%esi
40569a:	74 44                	je     0x4056e0
40569c:	68 38 58 40 00       	push   $0x405838
4056a1:	56                   	push   %esi
4056a2:	e8 c5 bb ff ff       	call   0x40126c
4056a7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4056aa:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4056ae:	74 30                	je     0x4056e0
4056b0:	68 05 01 00 00       	push   $0x105
4056b5:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
4056bb:	50                   	push   %eax
4056bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056bf:	50                   	push   %eax
4056c0:	ff 55 e8             	call   *-0x18(%ebp)
4056c3:	85 c0                	test   %eax,%eax
4056c5:	74 19                	je     0x4056e0
4056c7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4056ca:	50                   	push   %eax
4056cb:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
4056d1:	50                   	push   %eax
4056d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056d5:	50                   	push   %eax
4056d6:	e8 b9 bb ff ff       	call   0x401294
4056db:	e9 3c 01 00 00       	jmp    0x40581c
4056e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056e3:	80 38 5c             	cmpb   $0x5c,(%eax)
4056e6:	75 41                	jne    0x405729
4056e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056eb:	80 78 01 5c          	cmpb   $0x5c,0x1(%eax)
4056ef:	0f 85 27 01 00 00    	jne    0x40581c
4056f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4056f8:	83 c0 02             	add    $0x2,%eax
4056fb:	e8 48 ff ff ff       	call   0x405648
405700:	89 45 f0             	mov    %eax,-0x10(%ebp)
405703:	8b 45 f0             	mov    -0x10(%ebp),%eax
405706:	80 38 00             	cmpb   $0x0,(%eax)
405709:	0f 84 0d 01 00 00    	je     0x40581c
40570f:	8b 45 f0             	mov    -0x10(%ebp),%eax
405712:	40                   	inc    %eax
405713:	e8 30 ff ff ff       	call   0x405648
405718:	89 45 f0             	mov    %eax,-0x10(%ebp)
40571b:	8b 45 f0             	mov    -0x10(%ebp),%eax
40571e:	80 38 00             	cmpb   $0x0,(%eax)
405721:	0f 84 f5 00 00 00    	je     0x40581c
405727:	eb 09                	jmp    0x405732
405729:	8b 45 fc             	mov    -0x4(%ebp),%eax
40572c:	83 c0 02             	add    $0x2,%eax
40572f:	89 45 f0             	mov    %eax,-0x10(%ebp)
405732:	8b 5d f0             	mov    -0x10(%ebp),%ebx
405735:	2b 5d fc             	sub    -0x4(%ebp),%ebx
405738:	8d 43 01             	lea    0x1(%ebx),%eax
40573b:	50                   	push   %eax
40573c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40573f:	50                   	push   %eax
405740:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
405746:	50                   	push   %eax
405747:	e8 48 bb ff ff       	call   0x401294
40574c:	e9 ab 00 00 00       	jmp    0x4057fc
405751:	8b 45 f0             	mov    -0x10(%ebp),%eax
405754:	40                   	inc    %eax
405755:	e8 ee fe ff ff       	call   0x405648
40575a:	89 45 ec             	mov    %eax,-0x14(%ebp)
40575d:	8b 7d ec             	mov    -0x14(%ebp),%edi
405760:	2b 7d f0             	sub    -0x10(%ebp),%edi
405763:	8b c7                	mov    %edi,%eax
405765:	03 c3                	add    %ebx,%eax
405767:	40                   	inc    %eax
405768:	3d 05 01 00 00       	cmp    $0x105,%eax
40576d:	0f 8f a9 00 00 00    	jg     0x40581c
405773:	47                   	inc    %edi
405774:	57                   	push   %edi
405775:	8b 45 f0             	mov    -0x10(%ebp),%eax
405778:	50                   	push   %eax
405779:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
40577f:	03 c3                	add    %ebx,%eax
405781:	50                   	push   %eax
405782:	e8 0d bb ff ff       	call   0x401294
405787:	8d 85 aa fe ff ff    	lea    -0x156(%ebp),%eax
40578d:	50                   	push   %eax
40578e:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
405794:	50                   	push   %eax
405795:	e8 a2 ba ff ff       	call   0x40123c
40579a:	8b f0                	mov    %eax,%esi
40579c:	83 fe ff             	cmp    $0xffffffff,%esi
40579f:	74 7b                	je     0x40581c
4057a1:	56                   	push   %esi
4057a2:	e8 8d ba ff ff       	call   0x401234
4057a7:	8d 85 d6 fe ff ff    	lea    -0x12a(%ebp),%eax
4057ad:	50                   	push   %eax
4057ae:	e8 e9 ba ff ff       	call   0x40129c
4057b3:	8d 53 01             	lea    0x1(%ebx),%edx
4057b6:	03 c2                	add    %edx,%eax
4057b8:	40                   	inc    %eax
4057b9:	3d 05 01 00 00       	cmp    $0x105,%eax
4057be:	7f 5c                	jg     0x40581c
4057c0:	c6 84 1d a5 fd ff ff 	movb   $0x5c,-0x25b(%ebp,%ebx,1)
4057c7:	5c
4057c8:	b8 05 01 00 00       	mov    $0x105,%eax
4057cd:	2b c3                	sub    %ebx,%eax
4057cf:	48                   	dec    %eax
4057d0:	50                   	push   %eax
4057d1:	8d 85 d6 fe ff ff    	lea    -0x12a(%ebp),%eax
4057d7:	50                   	push   %eax
4057d8:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
4057de:	03 c3                	add    %ebx,%eax
4057e0:	40                   	inc    %eax
4057e1:	50                   	push   %eax
4057e2:	e8 ad ba ff ff       	call   0x401294
4057e7:	8d 85 d6 fe ff ff    	lea    -0x12a(%ebp),%eax
4057ed:	50                   	push   %eax
4057ee:	e8 a9 ba ff ff       	call   0x40129c
4057f3:	40                   	inc    %eax
4057f4:	03 d8                	add    %eax,%ebx
4057f6:	8b 45 ec             	mov    -0x14(%ebp),%eax
4057f9:	89 45 f0             	mov    %eax,-0x10(%ebp)
4057fc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4057ff:	80 38 00             	cmpb   $0x0,(%eax)
405802:	0f 85 49 ff ff ff    	jne    0x405751
405808:	8b 45 f8             	mov    -0x8(%ebp),%eax
40580b:	50                   	push   %eax
40580c:	8d 85 a5 fd ff ff    	lea    -0x25b(%ebp),%eax
405812:	50                   	push   %eax
405813:	8b 45 fc             	mov    -0x4(%ebp),%eax
405816:	50                   	push   %eax
405817:	e8 78 ba ff ff       	call   0x401294
40581c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40581f:	5f                   	pop    %edi
405820:	5e                   	pop    %esi
405821:	5b                   	pop    %ebx
405822:	8b e5                	mov    %ebp,%esp
405824:	5d                   	pop    %ebp
405825:	c3                   	ret
405826:	00 00                	add    %al,(%eax)
405828:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
40582c:	65 6c                	gs insb (%dx),%es:(%edi)
40582e:	33 32                	xor    (%edx),%esi
405830:	2e 64 6c             	cs fs insb (%dx),%es:(%edi)
405833:	6c                   	insb   (%dx),%es:(%edi)
405834:	00 00                	add    %al,(%eax)
405836:	00 00                	add    %al,(%eax)
405838:	47                   	inc    %edi
405839:	65 74 4c             	gs je  0x405888
40583c:	6f                   	outsl  %ds:(%esi),(%dx)
40583d:	6e                   	outsb  %ds:(%esi),(%dx)
40583e:	67 50                	addr16 push %eax
405840:	61                   	popa
405841:	74 68                	je     0x4058ab
405843:	4e                   	dec    %esi
405844:	61                   	popa
405845:	6d                   	insl   (%dx),%es:(%edi)
405846:	65 41                	gs inc %ecx
405848:	00 00                	add    %al,(%eax)
40584a:	00 00                	add    %al,(%eax)
40584c:	55                   	push   %ebp
40584d:	8b ec                	mov    %esp,%ebp
40584f:	81 c4 dc fe ff ff    	add    $0xfffffedc,%esp
405855:	53                   	push   %ebx
405856:	89 45 fc             	mov    %eax,-0x4(%ebp)
405859:	68 05 01 00 00       	push   $0x105
40585e:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405864:	50                   	push   %eax
405865:	6a 00                	push   $0x0
405867:	e8 f0 b9 ff ff       	call   0x40125c
40586c:	c6 45 ee 00          	movb   $0x0,-0x12(%ebp)
405870:	8d 45 f8             	lea    -0x8(%ebp),%eax
405873:	50                   	push   %eax
405874:	68 19 00 0f 00       	push   $0xf0019
405879:	6a 00                	push   $0x0
40587b:	68 90 5a 40 00       	push   $0x405a90
405880:	68 01 00 00 80       	push   $0x80000001
405885:	e8 2a ba ff ff       	call   0x4012b4
40588a:	85 c0                	test   %eax,%eax
40588c:	74 40                	je     0x4058ce
40588e:	8d 45 f8             	lea    -0x8(%ebp),%eax
405891:	50                   	push   %eax
405892:	68 19 00 0f 00       	push   $0xf0019
405897:	6a 00                	push   $0x0
405899:	68 90 5a 40 00       	push   $0x405a90
40589e:	68 02 00 00 80       	push   $0x80000002
4058a3:	e8 0c ba ff ff       	call   0x4012b4
4058a8:	85 c0                	test   %eax,%eax
4058aa:	74 22                	je     0x4058ce
4058ac:	8d 45 f8             	lea    -0x8(%ebp),%eax
4058af:	50                   	push   %eax
4058b0:	68 19 00 0f 00       	push   $0xf0019
4058b5:	6a 00                	push   $0x0
4058b7:	68 ac 5a 40 00       	push   $0x405aac
4058bc:	68 01 00 00 80       	push   $0x80000001
4058c1:	e8 ee b9 ff ff       	call   0x4012b4
4058c6:	85 c0                	test   %eax,%eax
4058c8:	0f 85 89 00 00 00    	jne    0x405957
4058ce:	33 c0                	xor    %eax,%eax
4058d0:	55                   	push   %ebp
4058d1:	68 50 59 40 00       	push   $0x405950
4058d6:	64 ff 30             	push   %fs:(%eax)
4058d9:	64 89 20             	mov    %esp,%fs:(%eax)
4058dc:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
4058e3:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
4058e9:	ba 05 01 00 00       	mov    $0x105,%edx
4058ee:	e8 81 fd ff ff       	call   0x405674
4058f3:	8d 45 e8             	lea    -0x18(%ebp),%eax
4058f6:	50                   	push   %eax
4058f7:	8d 45 ee             	lea    -0x12(%ebp),%eax
4058fa:	50                   	push   %eax
4058fb:	6a 00                	push   $0x0
4058fd:	6a 00                	push   $0x0
4058ff:	8d 85 df fe ff ff    	lea    -0x121(%ebp),%eax
405905:	50                   	push   %eax
405906:	8b 45 f8             	mov    -0x8(%ebp),%eax
405909:	50                   	push   %eax