41386c:	ff 15 b4 40 42 00    	call   *0x4240b4
413872:	83 26 00             	andl   $0x0,(%esi)
413875:	83 c6 04             	add    $0x4,%esi
413878:	81 fe 30 4a 43 00    	cmp    $0x434a30,%esi
41387e:	75 e0                	jne    0x413860
413880:	5e                   	pop    %esi
413881:	b0 01                	mov    $0x1,%al
413883:	5d                   	pop    %ebp
413884:	c3                   	ret
413885:	6a 10                	push   $0x10
413887:	68 78 17 43 00       	push   $0x431778
41388c:	e8 2f 47 ff ff       	call   0x407fc0
413891:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
413895:	6a 08                	push   $0x8
413897:	e8 87 98 ff ff       	call   0x40d123
41389c:	59                   	pop    %ecx
41389d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4138a1:	6a 03                	push   $0x3
4138a3:	5e                   	pop    %esi
4138a4:	89 75 e0             	mov    %esi,-0x20(%ebp)
4138a7:	3b 35 14 46 43 00    	cmp    0x434614,%esi
4138ad:	74 59                	je     0x413908
4138af:	a1 18 46 43 00       	mov    0x434618,%eax
4138b4:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4138b7:	85 c0                	test   %eax,%eax
4138b9:	74 4a                	je     0x413905
4138bb:	8b 40 0c             	mov    0xc(%eax),%eax
4138be:	90                   	nop
4138bf:	c1 e8 0d             	shr    $0xd,%eax
4138c2:	a8 01                	test   $0x1,%al
4138c4:	74 16                	je     0x4138dc
4138c6:	a1 18 46 43 00       	mov    0x434618,%eax
4138cb:	ff 34 b0             	push   (%eax,%esi,4)
4138ce:	e8 3d 99 ff ff       	call   0x40d210
4138d3:	59                   	pop    %ecx
4138d4:	83 f8 ff             	cmp    $0xffffffff,%eax
4138d7:	74 03                	je     0x4138dc
4138d9:	ff 45 e4             	incl   -0x1c(%ebp)
4138dc:	a1 18 46 43 00       	mov    0x434618,%eax
4138e1:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4138e4:	83 c0 20             	add    $0x20,%eax
4138e7:	50                   	push   %eax
4138e8:	ff 15 44 40 42 00    	call   *0x424044
4138ee:	a1 18 46 43 00       	mov    0x434618,%eax
4138f3:	ff 34 b0             	push   (%eax,%esi,4)
4138f6:	e8 10 f8 ff ff       	call   0x41310b
4138fb:	59                   	pop    %ecx
4138fc:	a1 18 46 43 00       	mov    0x434618,%eax
413901:	83 24 b0 00          	andl   $0x0,(%eax,%esi,4)
413905:	46                   	inc    %esi
413906:	eb 9c                	jmp    0x4138a4
413908:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
41390f:	e8 13 00 00 00       	call   0x413927
413914:	8b 45 e4             	mov    -0x1c(%ebp),%eax
413917:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41391a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413921:	59                   	pop    %ecx
413922:	5f                   	pop    %edi
413923:	5e                   	pop    %esi
413924:	5b                   	pop    %ebx
413925:	c9                   	leave
413926:	c3                   	ret
413927:	6a 08                	push   $0x8
413929:	e8 3d 98 ff ff       	call   0x40d16b
41392e:	59                   	pop    %ecx
41392f:	c3                   	ret
413930:	8b ff                	mov    %edi,%edi
413932:	55                   	push   %ebp
413933:	8b ec                	mov    %esp,%ebp
413935:	56                   	push   %esi
413936:	8b 75 08             	mov    0x8(%ebp),%esi
413939:	57                   	push   %edi
41393a:	8d 7e 0c             	lea    0xc(%esi),%edi
41393d:	8b 07                	mov    (%edi),%eax
41393f:	90                   	nop
413940:	c1 e8 0d             	shr    $0xd,%eax
413943:	a8 01                	test   $0x1,%al
413945:	74 25                	je     0x41396c
413947:	8b 07                	mov    (%edi),%eax
413949:	90                   	nop
41394a:	c1 e8 06             	shr    $0x6,%eax
41394d:	a8 01                	test   $0x1,%al
41394f:	74 1b                	je     0x41396c
413951:	ff 76 04             	push   0x4(%esi)
413954:	e8 b2 f7 ff ff       	call   0x41310b
413959:	59                   	pop    %ecx
41395a:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
41395f:	f0 21 07             	lock and %eax,(%edi)
413962:	33 c0                	xor    %eax,%eax
413964:	89 46 04             	mov    %eax,0x4(%esi)
413967:	89 06                	mov    %eax,(%esi)
413969:	89 46 08             	mov    %eax,0x8(%esi)
41396c:	5f                   	pop    %edi
41396d:	5e                   	pop    %esi
41396e:	5d                   	pop    %ebp
41396f:	c3                   	ret
413970:	8b ff                	mov    %edi,%edi
413972:	55                   	push   %ebp
413973:	8b ec                	mov    %esp,%ebp
413975:	83 ec 48             	sub    $0x48,%esp
413978:	8d 45 b8             	lea    -0x48(%ebp),%eax
41397b:	50                   	push   %eax
41397c:	ff 15 8c 40 42 00    	call   *0x42408c
413982:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
413987:	0f 84 97 00 00 00    	je     0x413a24
41398d:	53                   	push   %ebx
41398e:	8b 5d ec             	mov    -0x14(%ebp),%ebx
413991:	85 db                	test   %ebx,%ebx
413993:	0f 84 8a 00 00 00    	je     0x413a23
413999:	56                   	push   %esi
41399a:	8b 33                	mov    (%ebx),%esi
41399c:	8d 43 04             	lea    0x4(%ebx),%eax
41399f:	03 c6                	add    %esi,%eax
4139a1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4139a4:	b8 00 20 00 00       	mov    $0x2000,%eax
4139a9:	3b f0                	cmp    %eax,%esi
4139ab:	7c 02                	jl     0x4139af
4139ad:	8b f0                	mov    %eax,%esi
4139af:	56                   	push   %esi
4139b0:	e8 27 7b 00 00       	call   0x41b4dc
4139b5:	a1 c0 4c 43 00       	mov    0x434cc0,%eax
4139ba:	59                   	pop    %ecx
4139bb:	3b f0                	cmp    %eax,%esi
4139bd:	7e 02                	jle    0x4139c1
4139bf:	8b f0                	mov    %eax,%esi
4139c1:	57                   	push   %edi
4139c2:	33 ff                	xor    %edi,%edi
4139c4:	85 f6                	test   %esi,%esi
4139c6:	74 59                	je     0x413a21
4139c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4139cb:	8b 08                	mov    (%eax),%ecx
4139cd:	83 f9 ff             	cmp    $0xffffffff,%ecx
4139d0:	74 44                	je     0x413a16
4139d2:	83 f9 fe             	cmp    $0xfffffffe,%ecx
4139d5:	74 3f                	je     0x413a16
4139d7:	8a 54 1f 04          	mov    0x4(%edi,%ebx,1),%dl
4139db:	f6 c2 01             	test   $0x1,%dl
4139de:	74 36                	je     0x413a16
4139e0:	f6 c2 08             	test   $0x8,%dl
4139e3:	75 0b                	jne    0x4139f0
4139e5:	51                   	push   %ecx
4139e6:	ff 15 ec 40 42 00    	call   *0x4240ec
4139ec:	85 c0                	test   %eax,%eax
4139ee:	74 23                	je     0x413a13
4139f0:	8b c7                	mov    %edi,%eax
4139f2:	8b cf                	mov    %edi,%ecx
4139f4:	83 e0 3f             	and    $0x3f,%eax
4139f7:	c1 f9 06             	sar    $0x6,%ecx
4139fa:	6b d0 38             	imul   $0x38,%eax,%edx
4139fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
413a00:	03 14 8d c0 4a 43 00 	add    0x434ac0(,%ecx,4),%edx
413a07:	8b 00                	mov    (%eax),%eax
413a09:	89 42 18             	mov    %eax,0x18(%edx)
413a0c:	8a 44 1f 04          	mov    0x4(%edi,%ebx,1),%al
413a10:	88 42 28             	mov    %al,0x28(%edx)
413a13:	8b 45 fc             	mov    -0x4(%ebp),%eax
413a16:	47                   	inc    %edi
413a17:	83 c0 04             	add    $0x4,%eax
413a1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
413a1d:	3b fe                	cmp    %esi,%edi
413a1f:	75 aa                	jne    0x4139cb
413a21:	5f                   	pop    %edi
413a22:	5e                   	pop    %esi
413a23:	5b                   	pop    %ebx
413a24:	c9                   	leave
413a25:	c3                   	ret
413a26:	8b ff                	mov    %edi,%edi
413a28:	53                   	push   %ebx
413a29:	56                   	push   %esi
413a2a:	57                   	push   %edi
413a2b:	33 ff                	xor    %edi,%edi
413a2d:	8b c7                	mov    %edi,%eax
413a2f:	8b cf                	mov    %edi,%ecx
413a31:	83 e0 3f             	and    $0x3f,%eax
413a34:	c1 f9 06             	sar    $0x6,%ecx
413a37:	6b f0 38             	imul   $0x38,%eax,%esi
413a3a:	03 34 8d c0 4a 43 00 	add    0x434ac0(,%ecx,4),%esi
413a41:	83 7e 18 ff          	cmpl   $0xffffffff,0x18(%esi)
413a45:	74 0c                	je     0x413a53
413a47:	83 7e 18 fe          	cmpl   $0xfffffffe,0x18(%esi)
413a4b:	74 06                	je     0x413a53
413a4d:	80 4e 28 80          	orb    $0x80,0x28(%esi)
413a51:	eb 79                	jmp    0x413acc
413a53:	8b c7                	mov    %edi,%eax
413a55:	c6 46 28 81          	movb   $0x81,0x28(%esi)
413a59:	83 e8 00             	sub    $0x0,%eax
413a5c:	74 10                	je     0x413a6e
413a5e:	83 e8 01             	sub    $0x1,%eax
413a61:	74 07                	je     0x413a6a
413a63:	83 e8 01             	sub    $0x1,%eax
413a66:	6a f4                	push   $0xfffffff4
413a68:	eb 06                	jmp    0x413a70
413a6a:	6a f5                	push   $0xfffffff5
413a6c:	eb 02                	jmp    0x413a70
413a6e:	6a f6                	push   $0xfffffff6
413a70:	58                   	pop    %eax
413a71:	50                   	push   %eax
413a72:	ff 15 bc 40 42 00    	call   *0x4240bc
413a78:	8b d8                	mov    %eax,%ebx
413a7a:	83 fb ff             	cmp    $0xffffffff,%ebx
413a7d:	74 0d                	je     0x413a8c
413a7f:	85 db                	test   %ebx,%ebx
413a81:	74 09                	je     0x413a8c
413a83:	53                   	push   %ebx
413a84:	ff 15 ec 40 42 00    	call   *0x4240ec
413a8a:	eb 02                	jmp    0x413a8e
413a8c:	33 c0                	xor    %eax,%eax
413a8e:	85 c0                	test   %eax,%eax
413a90:	74 1c                	je     0x413aae
413a92:	0f b6 c0             	movzbl %al,%eax
413a95:	89 5e 18             	mov    %ebx,0x18(%esi)
413a98:	83 f8 02             	cmp    $0x2,%eax
413a9b:	75 06                	jne    0x413aa3
413a9d:	80 4e 28 40          	orb    $0x40,0x28(%esi)
413aa1:	eb 29                	jmp    0x413acc
413aa3:	83 f8 03             	cmp    $0x3,%eax
413aa6:	75 24                	jne    0x413acc
413aa8:	80 4e 28 08          	orb    $0x8,0x28(%esi)
413aac:	eb 1e                	jmp    0x413acc
413aae:	80 4e 28 40          	orb    $0x40,0x28(%esi)
413ab2:	c7 46 18 fe ff ff ff 	movl   $0xfffffffe,0x18(%esi)
413ab9:	a1 18 46 43 00       	mov    0x434618,%eax
413abe:	85 c0                	test   %eax,%eax
413ac0:	74 0a                	je     0x413acc
413ac2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
413ac5:	c7 40 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%eax)
413acc:	47                   	inc    %edi
413acd:	83 ff 03             	cmp    $0x3,%edi
413ad0:	0f 85 57 ff ff ff    	jne    0x413a2d
413ad6:	5f                   	pop    %edi
413ad7:	5e                   	pop    %esi
413ad8:	5b                   	pop    %ebx
413ad9:	c3                   	ret
413ada:	6a 0c                	push   $0xc
413adc:	68 98 17 43 00       	push   $0x431798
413ae1:	e8 da 44 ff ff       	call   0x407fc0
413ae6:	6a 07                	push   $0x7
413ae8:	e8 36 96 ff ff       	call   0x40d123
413aed:	59                   	pop    %ecx
413aee:	33 db                	xor    %ebx,%ebx
413af0:	88 5d e7             	mov    %bl,-0x19(%ebp)
413af3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
413af6:	53                   	push   %ebx
413af7:	e8 e0 79 00 00       	call   0x41b4dc
413afc:	59                   	pop    %ecx
413afd:	85 c0                	test   %eax,%eax
413aff:	75 0f                	jne    0x413b10
413b01:	e8 6a fe ff ff       	call   0x413970
413b06:	e8 1b ff ff ff       	call   0x413a26
413b0b:	b3 01                	mov    $0x1,%bl
413b0d:	88 5d e7             	mov    %bl,-0x19(%ebp)
413b10:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
413b17:	e8 15 00 00 00       	call   0x413b31
413b1c:	8a c3                	mov    %bl,%al
413b1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
413b21:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413b28:	59                   	pop    %ecx
413b29:	5f                   	pop    %edi
413b2a:	5e                   	pop    %esi
413b2b:	5b                   	pop    %ebx
413b2c:	c9                   	leave
413b2d:	c3                   	ret
413b2e:	8a 5d e7             	mov    -0x19(%ebp),%bl
413b31:	6a 07                	push   $0x7
413b33:	e8 33 96 ff ff       	call   0x40d16b
413b38:	59                   	pop    %ecx
413b39:	c3                   	ret
413b3a:	8b ff                	mov    %edi,%edi
413b3c:	56                   	push   %esi
413b3d:	33 f6                	xor    %esi,%esi
413b3f:	8b 86 c0 4a 43 00    	mov    0x434ac0(%esi),%eax
413b45:	85 c0                	test   %eax,%eax
413b47:	74 0e                	je     0x413b57
413b49:	50                   	push   %eax
413b4a:	e8 58 79 00 00       	call   0x41b4a7
413b4f:	83 a6 c0 4a 43 00 00 	andl   $0x0,0x434ac0(%esi)
413b56:	59                   	pop    %ecx
413b57:	83 c6 04             	add    $0x4,%esi
413b5a:	81 fe 00 02 00 00    	cmp    $0x200,%esi
413b60:	72 dd                	jb     0x413b3f
413b62:	b0 01                	mov    $0x1,%al
413b64:	5e                   	pop    %esi
413b65:	c3                   	ret
413b66:	8b ff                	mov    %edi,%edi
413b68:	55                   	push   %ebp
413b69:	8b ec                	mov    %esp,%ebp
413b6b:	56                   	push   %esi
413b6c:	8b 75 08             	mov    0x8(%ebp),%esi
413b6f:	83 fe e0             	cmp    $0xffffffe0,%esi
413b72:	77 30                	ja     0x413ba4
413b74:	85 f6                	test   %esi,%esi
413b76:	75 17                	jne    0x413b8f
413b78:	46                   	inc    %esi
413b79:	eb 14                	jmp    0x413b8f
413b7b:	e8 62 e2 ff ff       	call   0x411de2
413b80:	85 c0                	test   %eax,%eax
413b82:	74 20                	je     0x413ba4
413b84:	56                   	push   %esi
413b85:	e8 c3 be ff ff       	call   0x40fa4d
413b8a:	59                   	pop    %ecx
413b8b:	85 c0                	test   %eax,%eax
413b8d:	74 15                	je     0x413ba4
413b8f:	56                   	push   %esi
413b90:	6a 00                	push   $0x0
413b92:	ff 35 ec 4d 43 00    	push   0x434dec
413b98:	ff 15 d0 40 42 00    	call   *0x4240d0
413b9e:	85 c0                	test   %eax,%eax
413ba0:	74 d9                	je     0x413b7b
413ba2:	eb 0d                	jmp    0x413bb1
413ba4:	e8 52 b2 ff ff       	call   0x40edfb
413ba9:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
413baf:	33 c0                	xor    %eax,%eax
413bb1:	5e                   	pop    %esi
413bb2:	5d                   	pop    %ebp
413bb3:	c3                   	ret
413bb4:	8b ff                	mov    %edi,%edi
413bb6:	55                   	push   %ebp
413bb7:	8b ec                	mov    %esp,%ebp
413bb9:	51                   	push   %ecx
413bba:	6a 01                	push   $0x1
413bbc:	ff 75 10             	push   0x10(%ebp)
413bbf:	51                   	push   %ecx
413bc0:	51                   	push   %ecx
413bc1:	8b c4                	mov    %esp,%eax
413bc3:	ff 75 0c             	push   0xc(%ebp)
413bc6:	ff 75 08             	push   0x8(%ebp)
413bc9:	50                   	push   %eax
413bca:	e8 83 b2 ff ff       	call   0x40ee52
413bcf:	83 c4 0c             	add    $0xc,%esp
413bd2:	6a 00                	push   $0x0
413bd4:	e8 00 e8 ff ff       	call   0x4123d9
413bd9:	83 c4 14             	add    $0x14,%esp
413bdc:	c9                   	leave
413bdd:	c3                   	ret
413bde:	8b ff                	mov    %edi,%edi
413be0:	55                   	push   %ebp
413be1:	8b ec                	mov    %esp,%ebp
413be3:	83 ec 10             	sub    $0x10,%esp
413be6:	53                   	push   %ebx
413be7:	57                   	push   %edi
413be8:	8b 7d 0c             	mov    0xc(%ebp),%edi
413beb:	85 ff                	test   %edi,%edi
413bed:	0f 84 19 01 00 00    	je     0x413d0c
413bf3:	8b 5d 10             	mov    0x10(%ebp),%ebx
413bf6:	85 db                	test   %ebx,%ebx
413bf8:	0f 84 0e 01 00 00    	je     0x413d0c
413bfe:	80 3f 00             	cmpb   $0x0,(%edi)
413c01:	75 15                	jne    0x413c18
413c03:	8b 45 08             	mov    0x8(%ebp),%eax
413c06:	85 c0                	test   %eax,%eax