406756:	40                   	inc    %eax
406757:	5e                   	pop    %esi
406758:	5d                   	pop    %ebp
406759:	c3                   	ret
40675a:	55                   	push   %ebp
40675b:	8b ec                	mov    %esp,%ebp
40675d:	53                   	push   %ebx
40675e:	56                   	push   %esi
40675f:	57                   	push   %edi
406760:	33 ff                	xor    %edi,%edi
406762:	bb e3 00 00 00       	mov    $0xe3,%ebx
406767:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40676a:	99                   	cltd
40676b:	2b c2                	sub    %edx,%eax
40676d:	8b f0                	mov    %eax,%esi
40676f:	d1 fe                	sar    $1,%esi
406771:	6a 55                	push   $0x55
406773:	ff 34 f5 d8 8b 42 00 	push   0x428bd8(,%esi,8)
40677a:	ff 75 08             	push   0x8(%ebp)
40677d:	e8 a6 00 00 00       	call   0x406828
406782:	83 c4 0c             	add    $0xc,%esp
406785:	85 c0                	test   %eax,%eax
406787:	74 13                	je     0x40679c
406789:	79 05                	jns    0x406790
40678b:	8d 5e ff             	lea    -0x1(%esi),%ebx
40678e:	eb 03                	jmp    0x406793
406790:	8d 7e 01             	lea    0x1(%esi),%edi
406793:	3b fb                	cmp    %ebx,%edi
406795:	7e d0                	jle    0x406767
406797:	83 c8 ff             	or     $0xffffffff,%eax
40679a:	eb 07                	jmp    0x4067a3
40679c:	8b 04 f5 dc 8b 42 00 	mov    0x428bdc(,%esi,8),%eax
4067a3:	5f                   	pop    %edi
4067a4:	5e                   	pop    %esi
4067a5:	5b                   	pop    %ebx
4067a6:	5d                   	pop    %ebp
4067a7:	c3                   	ret
4067a8:	55                   	push   %ebp
4067a9:	8b ec                	mov    %esp,%ebp
4067ab:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4067af:	74 1d                	je     0x4067ce
4067b1:	ff 75 08             	push   0x8(%ebp)
4067b4:	e8 a1 ff ff ff       	call   0x40675a
4067b9:	59                   	pop    %ecx
4067ba:	85 c0                	test   %eax,%eax
4067bc:	78 10                	js     0x4067ce
4067be:	3d e4 00 00 00       	cmp    $0xe4,%eax
4067c3:	73 09                	jae    0x4067ce
4067c5:	8b 04 c5 b8 84 42 00 	mov    0x4284b8(,%eax,8),%eax
4067cc:	5d                   	pop    %ebp
4067cd:	c3                   	ret
4067ce:	33 c0                	xor    %eax,%eax
4067d0:	5d                   	pop    %ebp
4067d1:	c3                   	ret
4067d2:	55                   	push   %ebp
4067d3:	8b ec                	mov    %esp,%ebp
4067d5:	56                   	push   %esi
4067d6:	8b 35 7c 95 83 02    	mov    0x283957c,%esi
4067dc:	33 35 28 ba 43 00    	xor    0x43ba28,%esi
4067e2:	74 22                	je     0x406806
4067e4:	33 c0                	xor    %eax,%eax
4067e6:	8b ce                	mov    %esi,%ecx
4067e8:	50                   	push   %eax
4067e9:	50                   	push   %eax
4067ea:	50                   	push   %eax
4067eb:	ff 75 1c             	push   0x1c(%ebp)
4067ee:	ff 75 18             	push   0x18(%ebp)
4067f1:	ff 75 14             	push   0x14(%ebp)
4067f4:	ff 75 10             	push   0x10(%ebp)
4067f7:	ff 75 0c             	push   0xc(%ebp)
4067fa:	ff 75 08             	push   0x8(%ebp)
4067fd:	e8 6f 08 00 00       	call   0x407071
406802:	ff d6                	call   *%esi
406804:	eb 1f                	jmp    0x406825
406806:	ff 75 1c             	push   0x1c(%ebp)
406809:	ff 75 18             	push   0x18(%ebp)
40680c:	ff 75 14             	push   0x14(%ebp)
40680f:	ff 75 10             	push   0x10(%ebp)
406812:	ff 75 0c             	push   0xc(%ebp)
406815:	ff 75 08             	push   0x8(%ebp)
406818:	e8 8b ff ff ff       	call   0x4067a8
40681d:	59                   	pop    %ecx
40681e:	50                   	push   %eax
40681f:	ff 15 74 71 42 00    	call   *0x427174
406825:	5e                   	pop    %esi
406826:	5d                   	pop    %ebp
406827:	c3                   	ret
406828:	55                   	push   %ebp
406829:	8b ec                	mov    %esp,%ebp
40682b:	51                   	push   %ecx
40682c:	56                   	push   %esi
40682d:	8b 75 10             	mov    0x10(%ebp),%esi
406830:	33 c0                	xor    %eax,%eax
406832:	85 f6                	test   %esi,%esi
406834:	74 60                	je     0x406896
406836:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406839:	53                   	push   %ebx
40683a:	57                   	push   %edi
40683b:	8b 7d 08             	mov    0x8(%ebp),%edi
40683e:	6a 41                	push   $0x41
406840:	5b                   	pop    %ebx
406841:	6a 5a                	push   $0x5a
406843:	5a                   	pop    %edx
406844:	2b f9                	sub    %ecx,%edi
406846:	89 55 fc             	mov    %edx,-0x4(%ebp)
406849:	eb 03                	jmp    0x40684e
40684b:	6a 5a                	push   $0x5a
40684d:	5a                   	pop    %edx
40684e:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
406852:	66 3b c3             	cmp    %bx,%ax
406855:	72 0d                	jb     0x406864
406857:	66 3b c2             	cmp    %dx,%ax
40685a:	77 08                	ja     0x406864
40685c:	83 c0 20             	add    $0x20,%eax
40685f:	0f b7 d0             	movzwl %ax,%edx
406862:	eb 02                	jmp    0x406866
406864:	8b d0                	mov    %eax,%edx
406866:	0f b7 01             	movzwl (%ecx),%eax
406869:	66 3b c3             	cmp    %bx,%ax
40686c:	72 0c                	jb     0x40687a
40686e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
406872:	77 06                	ja     0x40687a
406874:	83 c0 20             	add    $0x20,%eax
406877:	0f b7 c0             	movzwl %ax,%eax
40687a:	83 c1 02             	add    $0x2,%ecx
40687d:	83 ee 01             	sub    $0x1,%esi
406880:	74 0a                	je     0x40688c
406882:	66 85 d2             	test   %dx,%dx
406885:	74 05                	je     0x40688c
406887:	66 3b d0             	cmp    %ax,%dx
40688a:	74 bf                	je     0x40684b
40688c:	0f b7 c8             	movzwl %ax,%ecx
40688f:	0f b7 c2             	movzwl %dx,%eax
406892:	5f                   	pop    %edi
406893:	2b c1                	sub    %ecx,%eax
406895:	5b                   	pop    %ebx
406896:	5e                   	pop    %esi
406897:	8b e5                	mov    %ebp,%esp
406899:	5d                   	pop    %ebp
40689a:	c3                   	ret
40689b:	55                   	push   %ebp
40689c:	8b ec                	mov    %esp,%ebp
40689e:	eb 1f                	jmp    0x4068bf
4068a0:	ff 75 08             	push   0x8(%ebp)
4068a3:	e8 7b ee 00 00       	call   0x415723
4068a8:	59                   	pop    %ecx
4068a9:	85 c0                	test   %eax,%eax
4068ab:	75 12                	jne    0x4068bf
4068ad:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4068b1:	75 07                	jne    0x4068ba
4068b3:	e8 ae 09 00 00       	call   0x407266
4068b8:	eb 05                	jmp    0x4068bf
4068ba:	e8 8a 09 00 00       	call   0x407249
4068bf:	ff 75 08             	push   0x8(%ebp)
4068c2:	e8 28 e2 00 00       	call   0x414aef
4068c7:	59                   	pop    %ecx
4068c8:	85 c0                	test   %eax,%eax
4068ca:	74 d4                	je     0x4068a0
4068cc:	5d                   	pop    %ebp
4068cd:	c3                   	ret
4068ce:	e9 7a 54 00 00       	jmp    0x40bd4d
4068d3:	55                   	push   %ebp
4068d4:	8b ec                	mov    %esp,%ebp
4068d6:	ff 75 08             	push   0x8(%ebp)
4068d9:	e8 f0 ff ff ff       	call   0x4068ce
4068de:	59                   	pop    %ecx
4068df:	5d                   	pop    %ebp
4068e0:	c3                   	ret
4068e1:	55                   	push   %ebp
4068e2:	8b ec                	mov    %esp,%ebp
4068e4:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4068e9:	83 e0 1f             	and    $0x1f,%eax
4068ec:	6a 20                	push   $0x20
4068ee:	59                   	pop    %ecx
4068ef:	2b c8                	sub    %eax,%ecx
4068f1:	8b 45 08             	mov    0x8(%ebp),%eax
4068f4:	d3 c8                	ror    %cl,%eax
4068f6:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4068fc:	5d                   	pop    %ebp
4068fd:	c3                   	ret
4068fe:	55                   	push   %ebp
4068ff:	8b ec                	mov    %esp,%ebp
406901:	8b 45 08             	mov    0x8(%ebp),%eax
406904:	56                   	push   %esi
406905:	8b 48 3c             	mov    0x3c(%eax),%ecx
406908:	03 c8                	add    %eax,%ecx
40690a:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40690e:	8d 51 18             	lea    0x18(%ecx),%edx
406911:	03 d0                	add    %eax,%edx
406913:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
406917:	6b f0 28             	imul   $0x28,%eax,%esi
40691a:	03 f2                	add    %edx,%esi
40691c:	3b d6                	cmp    %esi,%edx
40691e:	74 19                	je     0x406939
406920:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406923:	3b 4a 0c             	cmp    0xc(%edx),%ecx
406926:	72 0a                	jb     0x406932
406928:	8b 42 08             	mov    0x8(%edx),%eax
40692b:	03 42 0c             	add    0xc(%edx),%eax
40692e:	3b c8                	cmp    %eax,%ecx
406930:	72 0c                	jb     0x40693e
406932:	83 c2 28             	add    $0x28,%edx
406935:	3b d6                	cmp    %esi,%edx
406937:	75 ea                	jne    0x406923
406939:	33 c0                	xor    %eax,%eax
40693b:	5e                   	pop    %esi
40693c:	5d                   	pop    %ebp
40693d:	c3                   	ret
40693e:	8b c2                	mov    %edx,%eax
406940:	eb f9                	jmp    0x40693b
406942:	e8 da 0a 00 00       	call   0x407421
406947:	85 c0                	test   %eax,%eax
406949:	75 03                	jne    0x40694e
40694b:	32 c0                	xor    %al,%al
40694d:	c3                   	ret
40694e:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
406954:	56                   	push   %esi
406955:	be fc 95 83 02       	mov    $0x28395fc,%esi
40695a:	8b 50 04             	mov    0x4(%eax),%edx
40695d:	eb 04                	jmp    0x406963
40695f:	3b d0                	cmp    %eax,%edx
406961:	74 10                	je     0x406973
406963:	33 c0                	xor    %eax,%eax
406965:	8b ca                	mov    %edx,%ecx
406967:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
40696b:	85 c0                	test   %eax,%eax
40696d:	75 f0                	jne    0x40695f
40696f:	32 c0                	xor    %al,%al
406971:	5e                   	pop    %esi
406972:	c3                   	ret
406973:	b0 01                	mov    $0x1,%al
406975:	5e                   	pop    %esi
406976:	c3                   	ret
406977:	55                   	push   %ebp
406978:	8b ec                	mov    %esp,%ebp
40697a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40697e:	75 07                	jne    0x406987
406980:	c6 05 18 96 83 02 01 	movb   $0x1,0x2839618
406987:	e8 f7 08 00 00       	call   0x407283
40698c:	e8 9c 47 00 00       	call   0x40b12d
406991:	84 c0                	test   %al,%al
406993:	75 04                	jne    0x406999
406995:	32 c0                	xor    %al,%al
406997:	5d                   	pop    %ebp
406998:	c3                   	ret
406999:	e8 34 fd 00 00       	call   0x4166d2
40699e:	84 c0                	test   %al,%al
4069a0:	75 0a                	jne    0x4069ac
4069a2:	6a 00                	push   $0x0
4069a4:	e8 ad 47 00 00       	call   0x40b156
4069a9:	59                   	pop    %ecx
4069aa:	eb e9                	jmp    0x406995
4069ac:	b0 01                	mov    $0x1,%al
4069ae:	5d                   	pop    %ebp
4069af:	c3                   	ret
4069b0:	55                   	push   %ebp
4069b1:	8b ec                	mov    %esp,%ebp
4069b3:	83 ec 0c             	sub    $0xc,%esp
4069b6:	56                   	push   %esi
4069b7:	8b 75 08             	mov    0x8(%ebp),%esi
4069ba:	85 f6                	test   %esi,%esi
4069bc:	74 05                	je     0x4069c3
4069be:	83 fe 01             	cmp    $0x1,%esi
4069c1:	75 7c                	jne    0x406a3f
4069c3:	e8 59 0a 00 00       	call   0x407421
4069c8:	85 c0                	test   %eax,%eax
4069ca:	74 2a                	je     0x4069f6
4069cc:	85 f6                	test   %esi,%esi
4069ce:	75 26                	jne    0x4069f6
4069d0:	68 00 96 83 02       	push   $0x2839600
4069d5:	e8 66 fb 00 00       	call   0x416540
4069da:	59                   	pop    %ecx
4069db:	85 c0                	test   %eax,%eax
4069dd:	74 04                	je     0x4069e3
4069df:	32 c0                	xor    %al,%al
4069e1:	eb 57                	jmp    0x406a3a
4069e3:	68 0c 96 83 02       	push   $0x283960c
4069e8:	e8 53 fb 00 00       	call   0x416540
4069ed:	f7 d8                	neg    %eax
4069ef:	59                   	pop    %ecx
4069f0:	1a c0                	sbb    %al,%al
4069f2:	fe c0                	inc    %al
4069f4:	eb 44                	jmp    0x406a3a
4069f6:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4069fb:	8d 75 f4             	lea    -0xc(%ebp),%esi
4069fe:	57                   	push   %edi
4069ff:	83 e0 1f             	and    $0x1f,%eax
406a02:	bf 00 96 83 02       	mov    $0x2839600,%edi
406a07:	6a 20                	push   $0x20
406a09:	59                   	pop    %ecx
406a0a:	2b c8                	sub    %eax,%ecx
406a0c:	83 c8 ff             	or     $0xffffffff,%eax
406a0f:	d3 c8                	ror    %cl,%eax
406a11:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406a17:	89 45 f4             	mov    %eax,-0xc(%ebp)
406a1a:	89 45 f8             	mov    %eax,-0x8(%ebp)
406a1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a20:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a21:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a22:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a23:	bf 0c 96 83 02       	mov    $0x283960c,%edi
406a28:	89 45 f4             	mov    %eax,-0xc(%ebp)
406a2b:	89 45 f8             	mov    %eax,-0x8(%ebp)
406a2e:	8d 75 f4             	lea    -0xc(%ebp),%esi
406a31:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a34:	b0 01                	mov    $0x1,%al
406a36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a38:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406a39:	5f                   	pop    %edi
406a3a:	5e                   	pop    %esi
406a3b:	8b e5                	mov    %ebp,%esp
406a3d:	5d                   	pop    %ebp
406a3e:	c3                   	ret
406a3f:	6a 05                	push   $0x5
406a41:	e8 e7 09 00 00       	call   0x40742d
406a46:	cc                   	int3
406a47:	6a 08                	push   $0x8
406a49:	68 08 7e 43 00       	push   $0x437e08
406a4e:	e8 cd 0b 00 00       	call   0x407620
406a53:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a57:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
406a5c:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
406a63:	75 5d                	jne    0x406ac2
406a65:	a1 3c 00 40 00       	mov    0x40003c,%eax
406a6a:	81 b8 00 00 40 00 50 	cmpl   $0x4550,0x400000(%eax)
406a71:	45 00 00
406a74:	75 4c                	jne    0x406ac2
406a76:	b9 0b 01 00 00       	mov    $0x10b,%ecx
406a7b:	66 39 88 18 00 40 00 	cmp    %cx,0x400018(%eax)
406a82:	75 3e                	jne    0x406ac2
406a84:	8b 45 08             	mov    0x8(%ebp),%eax
406a87:	b9 00 00 40 00       	mov    $0x400000,%ecx
406a8c:	2b c1                	sub    %ecx,%eax
406a8e:	50                   	push   %eax
406a8f:	51                   	push   %ecx
406a90:	e8 69 fe ff ff       	call   0x4068fe
406a95:	59                   	pop    %ecx
406a96:	59                   	pop    %ecx
406a97:	85 c0                	test   %eax,%eax
406a99:	74 27                	je     0x406ac2
406a9b:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
406a9f:	7c 21                	jl     0x406ac2
406aa1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406aa8:	b0 01                	mov    $0x1,%al
406aaa:	eb 1f                	jmp    0x406acb
406aac:	8b 45 ec             	mov    -0x14(%ebp),%eax
406aaf:	8b 00                	mov    (%eax),%eax
406ab1:	33 c9                	xor    %ecx,%ecx
406ab3:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)