4045f1:	8b ec                	mov    %esp,%ebp
4045f3:	56                   	push   %esi
4045f4:	8b 75 08             	mov    0x8(%ebp),%esi
4045f7:	57                   	push   %edi
4045f8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4045fb:	8b 06                	mov    (%esi),%eax
4045fd:	83 f8 fe             	cmp    $0xfffffffe,%eax
404600:	74 0d                	je     0x40460f
404602:	8b 4e 04             	mov    0x4(%esi),%ecx
404605:	03 cf                	add    %edi,%ecx
404607:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40460a:	e8 47 e9 ff ff       	call   0x402f56
40460f:	8b 46 08             	mov    0x8(%esi),%eax
404612:	8b 4e 0c             	mov    0xc(%esi),%ecx
404615:	03 cf                	add    %edi,%ecx
404617:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40461a:	5f                   	pop    %edi
40461b:	5e                   	pop    %esi
40461c:	5d                   	pop    %ebp
40461d:	e9 34 e9 ff ff       	jmp    0x402f56
404622:	cc                   	int3
404623:	cc                   	int3
404624:	cc                   	int3
404625:	cc                   	int3
404626:	cc                   	int3
404627:	cc                   	int3
404628:	cc                   	int3
404629:	cc                   	int3
40462a:	cc                   	int3
40462b:	cc                   	int3
40462c:	cc                   	int3
40462d:	cc                   	int3
40462e:	cc                   	int3
40462f:	cc                   	int3
404630:	55                   	push   %ebp
404631:	8b ec                	mov    %esp,%ebp
404633:	83 ec 1c             	sub    $0x1c,%esp
404636:	53                   	push   %ebx
404637:	56                   	push   %esi
404638:	8b 75 0c             	mov    0xc(%ebp),%esi
40463b:	57                   	push   %edi
40463c:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
404640:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
404647:	8b 5e 08             	mov    0x8(%esi),%ebx
40464a:	8d 46 10             	lea    0x10(%esi),%eax
40464d:	33 1d 0c 30 42 00    	xor    0x42300c,%ebx
404653:	50                   	push   %eax
404654:	53                   	push   %ebx
404655:	89 45 ec             	mov    %eax,-0x14(%ebp)
404658:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40465b:	e8 90 ff ff ff       	call   0x4045f0
404660:	8b 7d 10             	mov    0x10(%ebp),%edi
404663:	57                   	push   %edi
404664:	e8 81 f6 ff ff       	call   0x403cea
404669:	8b 45 08             	mov    0x8(%ebp),%eax
40466c:	83 c4 0c             	add    $0xc,%esp
40466f:	f6 40 04 66          	testb  $0x66,0x4(%eax)
404673:	0f 85 ba 00 00 00    	jne    0x404733
404679:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40467c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40467f:	89 7d e8             	mov    %edi,-0x18(%ebp)
404682:	8b 7e 0c             	mov    0xc(%esi),%edi
404685:	89 46 fc             	mov    %eax,-0x4(%esi)
404688:	83 ff fe             	cmp    $0xfffffffe,%edi
40468b:	0f 84 c9 00 00 00    	je     0x40475a
404691:	8d 47 02             	lea    0x2(%edi),%eax
404694:	8d 04 47             	lea    (%edi,%eax,2),%eax
404697:	8b 4c 83 04          	mov    0x4(%ebx,%eax,4),%ecx
40469b:	8d 04 83             	lea    (%ebx,%eax,4),%eax
40469e:	8b 18                	mov    (%eax),%ebx
4046a0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4046a3:	85 c9                	test   %ecx,%ecx
4046a5:	74 65                	je     0x40470c
4046a7:	8d 56 10             	lea    0x10(%esi),%edx
4046aa:	e8 df 07 00 00       	call   0x404e8e
4046af:	b1 01                	mov    $0x1,%cl
4046b1:	88 4d ff             	mov    %cl,-0x1(%ebp)
4046b4:	85 c0                	test   %eax,%eax
4046b6:	78 66                	js     0x40471e
4046b8:	7e 55                	jle    0x40470f
4046ba:	8b 45 08             	mov    0x8(%ebp),%eax
4046bd:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4046c3:	75 37                	jne    0x4046fc
4046c5:	83 3d d4 0e 42 00 00 	cmpl   $0x0,0x420ed4
4046cc:	74 2e                	je     0x4046fc
4046ce:	68 d4 0e 42 00       	push   $0x420ed4
4046d3:	e8 18 38 01 00       	call   0x417ef0
4046d8:	83 c4 04             	add    $0x4,%esp
4046db:	85 c0                	test   %eax,%eax
4046dd:	74 1a                	je     0x4046f9
4046df:	8b 35 d4 0e 42 00    	mov    0x420ed4,%esi
4046e5:	8b ce                	mov    %esi,%ecx
4046e7:	6a 01                	push   $0x1
4046e9:	ff 75 08             	push   0x8(%ebp)
4046ec:	e8 54 f4 ff ff       	call   0x403b45
4046f1:	ff d6                	call   *%esi
4046f3:	8b 75 0c             	mov    0xc(%ebp),%esi
4046f6:	83 c4 08             	add    $0x8,%esp
4046f9:	8b 45 08             	mov    0x8(%ebp),%eax
4046fc:	8b d0                	mov    %eax,%edx
4046fe:	8b ce                	mov    %esi,%ecx
404700:	e8 b9 07 00 00       	call   0x404ebe
404705:	39 7e 0c             	cmp    %edi,0xc(%esi)
404708:	74 6c                	je     0x404776
40470a:	eb 58                	jmp    0x404764
40470c:	8a 4d ff             	mov    -0x1(%ebp),%cl
40470f:	8b fb                	mov    %ebx,%edi
404711:	83 fb fe             	cmp    $0xfffffffe,%ebx
404714:	74 14                	je     0x40472a
404716:	8b 5d f8             	mov    -0x8(%ebp),%ebx
404719:	e9 73 ff ff ff       	jmp    0x404691
40471e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
404721:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
404728:	eb 24                	jmp    0x40474e
40472a:	84 c9                	test   %cl,%cl
40472c:	74 2c                	je     0x40475a
40472e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
404731:	eb 1b                	jmp    0x40474e
404733:	83 7e 0c fe          	cmpl   $0xfffffffe,0xc(%esi)
404737:	74 21                	je     0x40475a
404739:	68 0c 30 42 00       	push   $0x42300c
40473e:	8d 46 10             	lea    0x10(%esi),%eax
404741:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
404746:	50                   	push   %eax
404747:	8b ce                	mov    %esi,%ecx
404749:	e8 89 07 00 00       	call   0x404ed7
40474e:	ff 75 ec             	push   -0x14(%ebp)
404751:	53                   	push   %ebx
404752:	e8 99 fe ff ff       	call   0x4045f0
404757:	83 c4 08             	add    $0x8,%esp
40475a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40475d:	5f                   	pop    %edi
40475e:	5e                   	pop    %esi
40475f:	5b                   	pop    %ebx
404760:	8b e5                	mov    %ebp,%esp
404762:	5d                   	pop    %ebp
404763:	c3                   	ret
404764:	68 0c 30 42 00       	push   $0x42300c
404769:	8d 46 10             	lea    0x10(%esi),%eax
40476c:	8b d7                	mov    %edi,%edx
40476e:	50                   	push   %eax
40476f:	8b ce                	mov    %esi,%ecx
404771:	e8 61 07 00 00       	call   0x404ed7
404776:	89 5e 0c             	mov    %ebx,0xc(%esi)
404779:	8d 5e 10             	lea    0x10(%esi),%ebx
40477c:	53                   	push   %ebx
40477d:	ff 75 f8             	push   -0x8(%ebp)
404780:	e8 6b fe ff ff       	call   0x4045f0
404785:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404788:	83 c4 08             	add    $0x8,%esp
40478b:	8b d3                	mov    %ebx,%edx
40478d:	8b 49 08             	mov    0x8(%ecx),%ecx
404790:	e8 10 07 00 00       	call   0x404ea5
404795:	cc                   	int3
404796:	55                   	push   %ebp
404797:	8b ec                	mov    %esp,%ebp
404799:	8b 45 08             	mov    0x8(%ebp),%eax
40479c:	33 c9                	xor    %ecx,%ecx
40479e:	53                   	push   %ebx
40479f:	56                   	push   %esi
4047a0:	57                   	push   %edi
4047a1:	8d 1c 85 84 3e 42 00 	lea    0x423e84(,%eax,4),%ebx
4047a8:	33 c0                	xor    %eax,%eax
4047aa:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
4047ae:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
4047b4:	83 cf ff             	or     $0xffffffff,%edi
4047b7:	8b ca                	mov    %edx,%ecx
4047b9:	8b f2                	mov    %edx,%esi
4047bb:	83 e1 1f             	and    $0x1f,%ecx
4047be:	33 f0                	xor    %eax,%esi
4047c0:	d3 ce                	ror    %cl,%esi
4047c2:	3b f7                	cmp    %edi,%esi
4047c4:	74 69                	je     0x40482f
4047c6:	85 f6                	test   %esi,%esi
4047c8:	74 04                	je     0x4047ce
4047ca:	8b c6                	mov    %esi,%eax
4047cc:	eb 63                	jmp    0x404831
4047ce:	8b 75 10             	mov    0x10(%ebp),%esi
4047d1:	3b 75 14             	cmp    0x14(%ebp),%esi
4047d4:	74 1a                	je     0x4047f0
4047d6:	ff 36                	push   (%esi)
4047d8:	e8 59 00 00 00       	call   0x404836
4047dd:	59                   	pop    %ecx
4047de:	85 c0                	test   %eax,%eax
4047e0:	75 2f                	jne    0x404811
4047e2:	83 c6 04             	add    $0x4,%esi
4047e5:	3b 75 14             	cmp    0x14(%ebp),%esi
4047e8:	75 ec                	jne    0x4047d6
4047ea:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
4047f0:	33 c0                	xor    %eax,%eax
4047f2:	85 c0                	test   %eax,%eax
4047f4:	74 29                	je     0x40481f
4047f6:	ff 75 0c             	push   0xc(%ebp)
4047f9:	50                   	push   %eax
4047fa:	ff 15 68 b0 41 00    	call   *0x41b068
404800:	8b f0                	mov    %eax,%esi
404802:	85 f6                	test   %esi,%esi
404804:	74 13                	je     0x404819
404806:	56                   	push   %esi
404807:	e8 b9 ea ff ff       	call   0x4032c5
40480c:	59                   	pop    %ecx
40480d:	87 03                	xchg   %eax,(%ebx)
40480f:	eb b9                	jmp    0x4047ca
404811:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
404817:	eb d9                	jmp    0x4047f2
404819:	8b 15 0c 30 42 00    	mov    0x42300c,%edx
40481f:	8b c2                	mov    %edx,%eax
404821:	6a 20                	push   $0x20
404823:	83 e0 1f             	and    $0x1f,%eax
404826:	59                   	pop    %ecx
404827:	2b c8                	sub    %eax,%ecx
404829:	d3 cf                	ror    %cl,%edi
40482b:	33 fa                	xor    %edx,%edi
40482d:	87 3b                	xchg   %edi,(%ebx)
40482f:	33 c0                	xor    %eax,%eax
404831:	5f                   	pop    %edi
404832:	5e                   	pop    %esi
404833:	5b                   	pop    %ebx
404834:	5d                   	pop    %ebp
404835:	c3                   	ret
404836:	55                   	push   %ebp
404837:	8b ec                	mov    %esp,%ebp
404839:	53                   	push   %ebx
40483a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40483d:	33 c9                	xor    %ecx,%ecx
40483f:	57                   	push   %edi
404840:	33 c0                	xor    %eax,%eax
404842:	8d 3c 9d 74 3e 42 00 	lea    0x423e74(,%ebx,4),%edi
404849:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
40484d:	8b c8                	mov    %eax,%ecx
40484f:	85 c9                	test   %ecx,%ecx
404851:	74 0b                	je     0x40485e
404853:	8d 41 01             	lea    0x1(%ecx),%eax
404856:	f7 d8                	neg    %eax
404858:	1b c0                	sbb    %eax,%eax
40485a:	23 c1                	and    %ecx,%eax
40485c:	eb 55                	jmp    0x4048b3
40485e:	8b 1c 9d a4 b3 41 00 	mov    0x41b3a4(,%ebx,4),%ebx
404865:	56                   	push   %esi
404866:	68 00 08 00 00       	push   $0x800
40486b:	6a 00                	push   $0x0
40486d:	53                   	push   %ebx
40486e:	ff 15 a0 b0 41 00    	call   *0x41b0a0
404874:	8b f0                	mov    %eax,%esi
404876:	85 f6                	test   %esi,%esi
404878:	75 27                	jne    0x4048a1
40487a:	ff 15 48 b0 41 00    	call   *0x41b048
404880:	83 f8 57             	cmp    $0x57,%eax
404883:	75 0d                	jne    0x404892
404885:	56                   	push   %esi
404886:	56                   	push   %esi
404887:	53                   	push   %ebx
404888:	ff 15 a0 b0 41 00    	call   *0x41b0a0
40488e:	8b f0                	mov    %eax,%esi
404890:	eb 02                	jmp    0x404894
404892:	33 f6                	xor    %esi,%esi
404894:	85 f6                	test   %esi,%esi
404896:	75 09                	jne    0x4048a1
404898:	83 c8 ff             	or     $0xffffffff,%eax
40489b:	87 07                	xchg   %eax,(%edi)
40489d:	33 c0                	xor    %eax,%eax
40489f:	eb 11                	jmp    0x4048b2
4048a1:	8b c6                	mov    %esi,%eax
4048a3:	87 07                	xchg   %eax,(%edi)
4048a5:	85 c0                	test   %eax,%eax
4048a7:	74 07                	je     0x4048b0
4048a9:	56                   	push   %esi
4048aa:	ff 15 04 b1 41 00    	call   *0x41b104
4048b0:	8b c6                	mov    %esi,%eax
4048b2:	5e                   	pop    %esi
4048b3:	5f                   	pop    %edi
4048b4:	5b                   	pop    %ebx
4048b5:	5d                   	pop    %ebp
4048b6:	c3                   	ret
4048b7:	55                   	push   %ebp
4048b8:	8b ec                	mov    %esp,%ebp
4048ba:	56                   	push   %esi
4048bb:	68 5c b4 41 00       	push   $0x41b45c
4048c0:	68 54 b4 41 00       	push   $0x41b454
4048c5:	68 5c b4 41 00       	push   $0x41b45c
4048ca:	6a 04                	push   $0x4
4048cc:	e8 c5 fe ff ff       	call   0x404796
4048d1:	8b f0                	mov    %eax,%esi
4048d3:	83 c4 10             	add    $0x10,%esp
4048d6:	85 f6                	test   %esi,%esi
4048d8:	74 0f                	je     0x4048e9
4048da:	ff 75 08             	push   0x8(%ebp)
4048dd:	8b ce                	mov    %esi,%ecx
4048df:	e8 61 f2 ff ff       	call   0x403b45
4048e4:	ff d6                	call   *%esi
4048e6:	5e                   	pop    %esi
4048e7:	5d                   	pop    %ebp
4048e8:	c3                   	ret
4048e9:	5e                   	pop    %esi
4048ea:	5d                   	pop    %ebp
4048eb:	ff 25 f4 b0 41 00    	jmp    *0x41b0f4
4048f1:	55                   	push   %ebp
4048f2:	8b ec                	mov    %esp,%ebp
4048f4:	56                   	push   %esi
4048f5:	68 70 b4 41 00       	push   $0x41b470
4048fa:	68 68 b4 41 00       	push   $0x41b468
4048ff:	68 70 b4 41 00       	push   $0x41b470
404904:	6a 05                	push   $0x5
404906:	e8 8b fe ff ff       	call   0x404796
40490b:	83 c4 10             	add    $0x10,%esp
40490e:	8b f0                	mov    %eax,%esi
404910:	ff 75 08             	push   0x8(%ebp)
404913:	85 f6                	test   %esi,%esi
404915:	74 0b                	je     0x404922
404917:	8b ce                	mov    %esi,%ecx
404919:	e8 27 f2 ff ff       	call   0x403b45
40491e:	ff d6                	call   *%esi
404920:	eb 06                	jmp    0x404928
404922:	ff 15 00 b1 41 00    	call   *0x41b100
404928:	5e                   	pop    %esi
404929:	5d                   	pop    %ebp
40492a:	c3                   	ret
40492b:	55                   	push   %ebp
40492c:	8b ec                	mov    %esp,%ebp
40492e:	56                   	push   %esi
40492f:	68 80 b4 41 00       	push   $0x41b480
404934:	68 78 b4 41 00       	push   $0x41b478
404939:	68 80 b4 41 00       	push   $0x41b480
40493e:	6a 06                	push   $0x6
404940:	e8 51 fe ff ff       	call   0x404796
404945:	83 c4 10             	add    $0x10,%esp
404948:	8b f0                	mov    %eax,%esi
40494a:	ff 75 08             	push   0x8(%ebp)
40494d:	85 f6                	test   %esi,%esi
40494f:	74 0b                	je     0x40495c
404951:	8b ce                	mov    %esi,%ecx
404953:	e8 ed f1 ff ff       	call   0x403b45
404958:	ff d6                	call   *%esi
40495a:	eb 06                	jmp    0x404962
40495c:	ff 15 f8 b0 41 00    	call   *0x41b0f8
404962:	5e                   	pop    %esi
404963:	5d                   	pop    %ebp
404964:	c3                   	ret
404965:	55                   	push   %ebp
404966:	8b ec                	mov    %esp,%ebp
404968:	56                   	push   %esi
404969:	68 94 b4 41 00       	push   $0x41b494
40496e:	68 8c b4 41 00       	push   $0x41b48c
404973:	68 94 b4 41 00       	push   $0x41b494
404978:	6a 07                	push   $0x7
40497a:	e8 17 fe ff ff       	call   0x404796
40497f:	83 c4 10             	add    $0x10,%esp
404982:	8b f0                	mov    %eax,%esi
404984:	ff 75 0c             	push   0xc(%ebp)
404987:	ff 75 08             	push   0x8(%ebp)