402764:	8b d7                	mov    %edi,%edx
402766:	8b cb                	mov    %ebx,%ecx
402768:	91                   	xchg   %eax,%ecx
402769:	e8 b2 02 00 00       	call   0x402a20
40276e:	8b c3                	mov    %ebx,%eax
402770:	e8 ff fb ff ff       	call   0x402374
402775:	89 7d fc             	mov    %edi,-0x4(%ebp)
402778:	33 c0                	xor    %eax,%eax
40277a:	5a                   	pop    %edx
40277b:	59                   	pop    %ecx
40277c:	59                   	pop    %ecx
40277d:	64 89 10             	mov    %edx,%fs:(%eax)
402780:	68 a0 27 40 00       	push   $0x4027a0
402785:	80 3d 4d 80 6a 00 00 	cmpb   $0x0,0x6a804d
40278c:	74 0a                	je     0x402798
40278e:	68 c8 85 6a 00       	push   $0x6a85c8
402793:	e8 c4 ec ff ff       	call   0x40145c
402798:	c3                   	ret
402799:	e9 6e 1a 00 00       	jmp    0x40420c
40279e:	eb e5                	jmp    0x402785
4027a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4027a3:	5f                   	pop    %edi
4027a4:	5e                   	pop    %esi
4027a5:	5b                   	pop    %ebx
4027a6:	59                   	pop    %ecx
4027a7:	5d                   	pop    %ebp
4027a8:	c3                   	ret
4027a9:	8d 40 00             	lea    0x0(%eax),%eax
4027ac:	53                   	push   %ebx
4027ad:	85 c0                	test   %eax,%eax
4027af:	7e 15                	jle    0x4027c6
4027b1:	ff 15 30 a0 68 00    	call   *0x68a030
4027b7:	8b d8                	mov    %eax,%ebx
4027b9:	85 db                	test   %ebx,%ebx
4027bb:	75 0b                	jne    0x4027c8
4027bd:	b0 01                	mov    $0x1,%al
4027bf:	e8 44 01 00 00       	call   0x402908
4027c4:	eb 02                	jmp    0x4027c8
4027c6:	33 db                	xor    %ebx,%ebx
4027c8:	8b c3                	mov    %ebx,%eax
4027ca:	5b                   	pop    %ebx
4027cb:	c3                   	ret
4027cc:	53                   	push   %ebx
4027cd:	85 c0                	test   %eax,%eax
4027cf:	74 15                	je     0x4027e6
4027d1:	ff 15 34 a0 68 00    	call   *0x68a034
4027d7:	8b d8                	mov    %eax,%ebx
4027d9:	85 db                	test   %ebx,%ebx
4027db:	74 0b                	je     0x4027e8
4027dd:	b0 02                	mov    $0x2,%al
4027df:	e8 24 01 00 00       	call   0x402908
4027e4:	eb 02                	jmp    0x4027e8
4027e6:	33 db                	xor    %ebx,%ebx
4027e8:	8b c3                	mov    %ebx,%eax
4027ea:	5b                   	pop    %ebx
4027eb:	c3                   	ret
4027ec:	8b 08                	mov    (%eax),%ecx
4027ee:	85 c9                	test   %ecx,%ecx
4027f0:	74 32                	je     0x402824
4027f2:	85 d2                	test   %edx,%edx
4027f4:	74 18                	je     0x40280e
4027f6:	50                   	push   %eax
4027f7:	89 c8                	mov    %ecx,%eax
4027f9:	ff 15 38 a0 68 00    	call   *0x68a038
4027ff:	59                   	pop    %ecx
402800:	09 c0                	or     %eax,%eax
402802:	74 19                	je     0x40281d
402804:	89 01                	mov    %eax,(%ecx)
402806:	c3                   	ret
402807:	b0 02                	mov    $0x2,%al
402809:	e9 fa 00 00 00       	jmp    0x402908
40280e:	89 10                	mov    %edx,(%eax)
402810:	89 c8                	mov    %ecx,%eax
402812:	ff 15 34 a0 68 00    	call   *0x68a034
402818:	09 c0                	or     %eax,%eax
40281a:	75 eb                	jne    0x402807
40281c:	c3                   	ret
40281d:	b0 01                	mov    $0x1,%al
40281f:	e9 e4 00 00 00       	jmp    0x402908
402824:	85 d2                	test   %edx,%edx
402826:	74 10                	je     0x402838
402828:	50                   	push   %eax
402829:	89 d0                	mov    %edx,%eax
40282b:	ff 15 30 a0 68 00    	call   *0x68a030
402831:	59                   	pop    %ecx
402832:	09 c0                	or     %eax,%eax
402834:	74 e7                	je     0x40281d
402836:	89 01                	mov    %eax,(%ecx)
402838:	c3                   	ret
402839:	8d 40 00             	lea    0x0(%eax),%eax
40283c:	e8 87 46 00 00       	call   0x406ec8
402841:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402848:	74 0f                	je     0x402859
40284a:	e8 79 46 00 00       	call   0x406ec8
40284f:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402855:	8b 40 08             	mov    0x8(%eax),%eax
402858:	c3                   	ret
402859:	33 c0                	xor    %eax,%eax
40285b:	c3                   	ret
40285c:	e8 67 46 00 00       	call   0x406ec8
402861:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
402868:	74 0f                	je     0x402879
40286a:	e8 59 46 00 00       	call   0x406ec8
40286f:	8b 80 00 00 00 00    	mov    0x0(%eax),%eax
402875:	8b 40 04             	mov    0x4(%eax),%eax
402878:	c3                   	ret
402879:	33 c0                	xor    %eax,%eax
40287b:	c3                   	ret
40287c:	53                   	push   %ebx
40287d:	56                   	push   %esi
40287e:	e8 45 46 00 00       	call   0x406ec8
402883:	83 b8 00 00 00 00 00 	cmpl   $0x0,0x0(%eax)
40288a:	74 1a                	je     0x4028a6
40288c:	e8 37 46 00 00       	call   0x406ec8
402891:	8b b0 00 00 00 00    	mov    0x0(%eax),%esi
402897:	8b 5e 08             	mov    0x8(%esi),%ebx
40289a:	e8 29 46 00 00       	call   0x406ec8
40289f:	33 c0                	xor    %eax,%eax
4028a1:	89 46 08             	mov    %eax,0x8(%esi)
4028a4:	eb 02                	jmp    0x4028a8
4028a6:	33 db                	xor    %ebx,%ebx
4028a8:	8b c3                	mov    %ebx,%eax
4028aa:	5e                   	pop    %esi
4028ab:	5b                   	pop    %ebx
4028ac:	c3                   	ret
4028ad:	8d 40 00             	lea    0x0(%eax),%eax
4028b0:	89 15 04 a0 68 00    	mov    %edx,0x68a004
4028b6:	e8 11 1f 00 00       	call   0x4047cc
4028bb:	c3                   	ret
4028bc:	53                   	push   %ebx
4028bd:	56                   	push   %esi
4028be:	8b f2                	mov    %edx,%esi
4028c0:	8b d8                	mov    %eax,%ebx
4028c2:	80 e3 7f             	and    $0x7f,%bl
4028c5:	83 3d 08 80 6a 00 00 	cmpl   $0x0,0x6a8008
4028cc:	74 0a                	je     0x4028d8
4028ce:	8b d6                	mov    %esi,%edx
4028d0:	8b c3                	mov    %ebx,%eax
4028d2:	ff 15 08 80 6a 00    	call   *0x6a8008
4028d8:	84 db                	test   %bl,%bl
4028da:	75 0d                	jne    0x4028e9
4028dc:	e8 e7 45 00 00       	call   0x406ec8
4028e1:	8b 98 04 00 00 00    	mov    0x4(%eax),%ebx
4028e7:	eb 0f                	jmp    0x4028f8
4028e9:	80 fb 18             	cmp    $0x18,%bl
4028ec:	77 0a                	ja     0x4028f8
4028ee:	33 c0                	xor    %eax,%eax
4028f0:	8a c3                	mov    %bl,%al
4028f2:	8a 98 3c a0 68 00    	mov    0x68a03c(%eax),%bl
4028f8:	33 c0                	xor    %eax,%eax
4028fa:	8a c3                	mov    %bl,%al
4028fc:	8b d6                	mov    %esi,%edx
4028fe:	e8 ad ff ff ff       	call   0x4028b0
402903:	5e                   	pop    %esi
402904:	5b                   	pop    %ebx
402905:	c3                   	ret
402906:	8b c0                	mov    %eax,%eax
402908:	83 e0 7f             	and    $0x7f,%eax
40290b:	8b 14 24             	mov    (%esp),%edx
40290e:	e9 a9 ff ff ff       	jmp    0x4028bc
402913:	c3                   	ret
402914:	50                   	push   %eax
402915:	52                   	push   %edx
402916:	51                   	push   %ecx
402917:	e8 ac 45 00 00       	call   0x406ec8
40291c:	83 b8 04 00 00 00 00 	cmpl   $0x0,0x4(%eax)
402923:	59                   	pop    %ecx
402924:	5a                   	pop    %edx
402925:	58                   	pop    %eax
402926:	75 01                	jne    0x402929
402928:	c3                   	ret
402929:	31 c0                	xor    %eax,%eax
40292b:	e9 d8 ff ff ff       	jmp    0x402908
402930:	c3                   	ret
402931:	8d 40 00             	lea    0x0(%eax),%eax
402934:	53                   	push   %ebx
402935:	8b d8                	mov    %eax,%ebx
402937:	e8 8c 45 00 00       	call   0x406ec8
40293c:	89 98 04 00 00 00    	mov    %ebx,0x4(%eax)
402942:	5b                   	pop    %ebx
402943:	c3                   	ret
402944:	56                   	push   %esi
402945:	57                   	push   %edi
402946:	89 c6                	mov    %eax,%esi
402948:	8b 7c 24 0c          	mov    0xc(%esp),%edi
40294c:	31 c0                	xor    %eax,%eax
40294e:	0a 06                	or     (%esi),%al
402950:	74 2b                	je     0x40297d
402952:	85 d2                	test   %edx,%edx
402954:	7e 18                	jle    0x40296e
402956:	39 c2                	cmp    %eax,%edx
402958:	7f 1b                	jg     0x402975
40295a:	29 d0                	sub    %edx,%eax
40295c:	40                   	inc    %eax
40295d:	85 c9                	test   %ecx,%ecx
40295f:	7c 14                	jl     0x402975
402961:	39 c1                	cmp    %eax,%ecx
402963:	7f 14                	jg     0x402979
402965:	01 d6                	add    %edx,%esi
402967:	88 0f                	mov    %cl,(%edi)
402969:	47                   	inc    %edi
40296a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40296c:	eb 11                	jmp    0x40297f
40296e:	ba 01 00 00 00       	mov    $0x1,%edx
402973:	eb e5                	jmp    0x40295a
402975:	31 c9                	xor    %ecx,%ecx
402977:	eb ec                	jmp    0x402965
402979:	89 c1                	mov    %eax,%ecx
40297b:	eb e8                	jmp    0x402965
40297d:	88 07                	mov    %al,(%edi)
40297f:	5f                   	pop    %edi
402980:	5e                   	pop    %esi
402981:	c2 04 00             	ret    $0x4
402984:	c3                   	ret
402985:	8d 40 00             	lea    0x0(%eax),%eax
402988:	53                   	push   %ebx
402989:	56                   	push   %esi
40298a:	81 c4 f0 fd ff ff    	add    $0xfffffdf0,%esp
402990:	8b f2                	mov    %edx,%esi
402992:	8b d8                	mov    %eax,%ebx
402994:	84 db                	test   %bl,%bl
402996:	74 2d                	je     0x4029c5
402998:	33 c0                	xor    %eax,%eax
40299a:	8a c3                	mov    %bl,%al
40299c:	83 c0 41             	add    $0x41,%eax
40299f:	48                   	dec    %eax
4029a0:	88 04 24             	mov    %al,(%esp)
4029a3:	c6 44 24 01 3a       	movb   $0x3a,0x1(%esp)
4029a8:	c6 44 24 02 00       	movb   $0x0,0x2(%esp)
4029ad:	8d 84 24 09 01 00 00 	lea    0x109(%esp),%eax
4029b4:	50                   	push   %eax
4029b5:	68 05 01 00 00       	push   $0x105
4029ba:	e8 81 e9 ff ff       	call   0x401340
4029bf:	54                   	push   %esp
4029c0:	e8 fb e9 ff ff       	call   0x4013c0
4029c5:	8d 44 24 04          	lea    0x4(%esp),%eax
4029c9:	50                   	push   %eax
4029ca:	68 05 01 00 00       	push   $0x105
4029cf:	e8 6c e9 ff ff       	call   0x401340
4029d4:	84 db                	test   %bl,%bl
4029d6:	74 0d                	je     0x4029e5
4029d8:	8d 84 24 09 01 00 00 	lea    0x109(%esp),%eax
4029df:	50                   	push   %eax
4029e0:	e8 db e9 ff ff       	call   0x4013c0
4029e5:	8b c6                	mov    %esi,%eax
4029e7:	8d 54 24 04          	lea    0x4(%esp),%edx
4029eb:	b9 05 01 00 00       	mov    $0x105,%ecx
4029f0:	e8 db 20 00 00       	call   0x404ad0
4029f5:	81 c4 10 02 00 00    	add    $0x210,%esp
4029fb:	5e                   	pop    %esi
4029fc:	5b                   	pop    %ebx
4029fd:	c3                   	ret
4029fe:	8b c0                	mov    %eax,%eax
402a00:	53                   	push   %ebx
402a01:	e8 c2 44 00 00       	call   0x406ec8
402a06:	8b 98 04 00 00 00    	mov    0x4(%eax),%ebx
402a0c:	e8 b7 44 00 00       	call   0x406ec8
402a11:	33 d2                	xor    %edx,%edx
402a13:	89 90 04 00 00 00    	mov    %edx,0x4(%eax)
402a19:	8b c3                	mov    %ebx,%eax
402a1b:	5b                   	pop    %ebx
402a1c:	c3                   	ret
402a1d:	8d 40 00             	lea    0x0(%eax),%eax
402a20:	56                   	push   %esi
402a21:	57                   	push   %edi
402a22:	89 c6                	mov    %eax,%esi
402a24:	89 d7                	mov    %edx,%edi
402a26:	89 c8                	mov    %ecx,%eax
402a28:	39 f7                	cmp    %esi,%edi
402a2a:	77 13                	ja     0x402a3f
402a2c:	74 2f                	je     0x402a5d
402a2e:	c1 f9 02             	sar    $0x2,%ecx
402a31:	78 2a                	js     0x402a5d
402a33:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402a35:	89 c1                	mov    %eax,%ecx
402a37:	83 e1 03             	and    $0x3,%ecx
402a3a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
402a3c:	5f                   	pop    %edi
402a3d:	5e                   	pop    %esi
402a3e:	c3                   	ret
402a3f:	8d 74 31 fc          	lea    -0x4(%ecx,%esi,1),%esi
402a43:	8d 7c 39 fc          	lea    -0x4(%ecx,%edi,1),%edi
402a47:	c1 f9 02             	sar    $0x2,%ecx
402a4a:	78 11                	js     0x402a5d
402a4c:	fd                   	std
402a4d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402a4f:	89 c1                	mov    %eax,%ecx
402a51:	83 e1 03             	and    $0x3,%ecx
402a54:	83 c6 03             	add    $0x3,%esi
402a57:	83 c7 03             	add    $0x3,%edi
402a5a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
402a5c:	fc                   	cld
402a5d:	5f                   	pop    %edi
402a5e:	5e                   	pop    %esi
402a5f:	c3                   	ret
402a60:	53                   	push   %ebx
402a61:	56                   	push   %esi
402a62:	57                   	push   %edi
402a63:	55                   	push   %ebp
402a64:	8b f2                	mov    %edx,%esi
402a66:	8b d8                	mov    %eax,%ebx
402a68:	eb 08                	jmp    0x402a72
402a6a:	53                   	push   %ebx
402a6b:	e8 88 e8 ff ff       	call   0x4012f8
402a70:	8b d8                	mov    %eax,%ebx
402a72:	8a 03                	mov    (%ebx),%al
402a74:	84 c0                	test   %al,%al
402a76:	74 04                	je     0x402a7c
402a78:	3c 20                	cmp    $0x20,%al
402a7a:	76 ee                	jbe    0x402a6a
402a7c:	80 3b 22             	cmpb   $0x22,(%ebx)
402a7f:	75 0b                	jne    0x402a8c
402a81:	80 7b 01 22          	cmpb   $0x22,0x1(%ebx)
402a85:	75 05                	jne    0x402a8c
402a87:	83 c3 02             	add    $0x2,%ebx
402a8a:	eb e6                	jmp    0x402a72
402a8c:	33 ed                	xor    %ebp,%ebp
402a8e:	8b fb                	mov    %ebx,%edi
402a90:	eb 43                	jmp    0x402ad5
402a92:	3c 22                	cmp    $0x22,%al
402a94:	75 31                	jne    0x402ac7
402a96:	53                   	push   %ebx
402a97:	e8 5c e8 ff ff       	call   0x4012f8
402a9c:	8b d8                	mov    %eax,%ebx
402a9e:	eb 0e                	jmp    0x402aae
402aa0:	53                   	push   %ebx
402aa1:	e8 52 e8 ff ff       	call   0x4012f8
402aa6:	8b d0                	mov    %eax,%edx
402aa8:	2b d3                	sub    %ebx,%edx
402aaa:	03 ea                	add    %edx,%ebp
402aac:	8b d8                	mov    %eax,%ebx
402aae:	8a 03                	mov    (%ebx),%al
402ab0:	84 c0                	test   %al,%al
402ab2:	74 04                	je     0x402ab8
402ab4:	3c 22                	cmp    $0x22,%al
402ab6:	75 e8                	jne    0x402aa0
402ab8:	80 3b 00             	cmpb   $0x0,(%ebx)
402abb:	74 18                	je     0x402ad5
402abd:	53                   	push   %ebx
402abe:	e8 35 e8 ff ff       	call   0x4012f8
402ac3:	8b d8                	mov    %eax,%ebx
402ac5:	eb 0e                	jmp    0x402ad5
402ac7:	53                   	push   %ebx
402ac8:	e8 2b e8 ff ff       	call   0x4012f8
402acd:	8b d0                	mov    %eax,%edx
402acf:	2b d3                	sub    %ebx,%edx
402ad1:	03 ea                	add    %edx,%ebp
402ad3:	8b d8                	mov    %eax,%ebx
402ad5:	8a 03                	mov    (%ebx),%al
402ad7:	3c 20                	cmp    $0x20,%al