46a7d2:	75 7f                	jne    0x46a853
46a7d4:	8a 46 58             	mov    0x58(%esi),%al
46a7d7:	88 44 24 04          	mov    %al,0x4(%esp)
46a7db:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
46a7e0:	74 0b                	je     0x46a7ed
46a7e2:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
46a7e8:	89 04 24             	mov    %eax,(%esp)
46a7eb:	eb 06                	jmp    0x46a7f3
46a7ed:	8b 46 78             	mov    0x78(%esi),%eax
46a7f0:	89 04 24             	mov    %eax,(%esp)
46a7f3:	8b c4                	mov    %esp,%eax
46a7f5:	50                   	push   %eax
46a7f6:	33 c9                	xor    %ecx,%ecx
46a7f8:	8a 4c 24 08          	mov    0x8(%esp),%cl
46a7fc:	ba 41 b0 00 00       	mov    $0xb041,%edx
46a801:	8b c3                	mov    %ebx,%eax
46a803:	e8 b0 f1 fd ff       	call   0x4499b8
46a808:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
46a80d:	74 27                	je     0x46a836
46a80f:	83 3c 24 00          	cmpl   $0x0,(%esp)
46a813:	75 21                	jne    0x46a836
46a815:	8a 44 24 04          	mov    0x4(%esp),%al
46a819:	88 46 58             	mov    %al,0x58(%esi)
46a81c:	89 5e 60             	mov    %ebx,0x60(%esi)
46a81f:	8d 44 24 05          	lea    0x5(%esp),%eax
46a823:	50                   	push   %eax
46a824:	e8 df d1 f9 ff       	call   0x407a08
46a829:	8d 54 24 05          	lea    0x5(%esp),%edx
46a82d:	8b c6                	mov    %esi,%eax
46a82f:	e8 28 03 00 00       	call   0x46ab5c
46a834:	eb 1d                	jmp    0x46a853
46a836:	8b c6                	mov    %esi,%eax
46a838:	e8 9b 00 00 00       	call   0x46a8d8
46a83d:	8a 44 24 04          	mov    0x4(%esp),%al
46a841:	88 46 58             	mov    %al,0x58(%esi)
46a844:	89 5e 60             	mov    %ebx,0x60(%esi)
46a847:	33 c9                	xor    %ecx,%ecx
46a849:	8b 14 24             	mov    (%esp),%edx
46a84c:	8b c6                	mov    %esi,%eax
46a84e:	e8 8d fe ff ff       	call   0x46a6e0
46a853:	83 c4 20             	add    $0x20,%esp
46a856:	5d                   	pop    %ebp
46a857:	5f                   	pop    %edi
46a858:	5e                   	pop    %esi
46a859:	5b                   	pop    %ebx
46a85a:	c3                   	ret
46a85b:	90                   	nop
46a85c:	53                   	push   %ebx
46a85d:	83 c4 f8             	add    $0xfffffff8,%esp
46a860:	8b d8                	mov    %eax,%ebx
46a862:	8b c3                	mov    %ebx,%eax
46a864:	e8 bb fe ff ff       	call   0x46a724
46a869:	8a 83 89 00 00 00    	mov    0x89(%ebx),%al
46a86f:	2c 01                	sub    $0x1,%al
46a871:	72 0b                	jb     0x46a87e
46a873:	75 18                	jne    0x46a88d
46a875:	8b c3                	mov    %ebx,%eax
46a877:	e8 18 00 00 00       	call   0x46a894
46a87c:	eb 0f                	jmp    0x46a88d
46a87e:	54                   	push   %esp
46a87f:	e8 84 d1 f9 ff       	call   0x407a08
46a884:	8b d4                	mov    %esp,%edx
46a886:	8b c3                	mov    %ebx,%eax
46a888:	e8 cf 02 00 00       	call   0x46ab5c
46a88d:	59                   	pop    %ecx
46a88e:	5a                   	pop    %edx
46a88f:	5b                   	pop    %ebx
46a890:	c3                   	ret
46a891:	8d 40 00             	lea    0x0(%eax),%eax
46a894:	53                   	push   %ebx
46a895:	56                   	push   %esi
46a896:	8b d8                	mov    %eax,%ebx
46a898:	8b b3 84 00 00 00    	mov    0x84(%ebx),%esi
46a89e:	85 f6                	test   %esi,%esi
46a8a0:	74 33                	je     0x46a8d5
46a8a2:	8b c6                	mov    %esi,%eax
46a8a4:	e8 af 49 fe ff       	call   0x44f258
46a8a9:	84 c0                	test   %al,%al
46a8ab:	74 28                	je     0x46a8d5
46a8ad:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
46a8b3:	e8 9c 46 fe ff       	call   0x44ef54
46a8b8:	50                   	push   %eax
46a8b9:	e8 3a d3 f9 ff       	call   0x407bf8
46a8be:	85 c0                	test   %eax,%eax
46a8c0:	74 13                	je     0x46a8d5
46a8c2:	6a 00                	push   $0x0
46a8c4:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
46a8ca:	e8 85 46 fe ff       	call   0x44ef54
46a8cf:	50                   	push   %eax
46a8d0:	e8 4b d5 f9 ff       	call   0x407e20
46a8d5:	5e                   	pop    %esi
46a8d6:	5b                   	pop    %ebx
46a8d7:	c3                   	ret
46a8d8:	53                   	push   %ebx
46a8d9:	8b d8                	mov    %eax,%ebx
46a8db:	83 7b 60 00          	cmpl   $0x0,0x60(%ebx)
46a8df:	74 1c                	je     0x46a8fd
46a8e1:	8b c3                	mov    %ebx,%eax
46a8e3:	e8 ac ff ff ff       	call   0x46a894
46a8e8:	33 c0                	xor    %eax,%eax
46a8ea:	89 43 60             	mov    %eax,0x60(%ebx)
46a8ed:	c6 43 58 00          	movb   $0x0,0x58(%ebx)
46a8f1:	e8 3e dc ff ff       	call   0x468534
46a8f6:	8b c3                	mov    %ebx,%eax
46a8f8:	e8 27 fe ff ff       	call   0x46a724
46a8fd:	5b                   	pop    %ebx
46a8fe:	c3                   	ret
46a8ff:	90                   	nop
46a900:	51                   	push   %ecx
46a901:	89 d1                	mov    %edx,%ecx
46a903:	89 fa                	mov    %edi,%edx
46a905:	89 c7                	mov    %eax,%edi
46a907:	58                   	pop    %eax
46a908:	f3 ae                	repz scas %es:(%edi),%al
46a90a:	89 c8                	mov    %ecx,%eax
46a90c:	89 d7                	mov    %edx,%edi
46a90e:	c3                   	ret
46a90f:	90                   	nop
46a910:	55                   	push   %ebp
46a911:	8b ec                	mov    %esp,%ebp
46a913:	83 c4 d8             	add    $0xffffffd8,%esp
46a916:	53                   	push   %ebx
46a917:	56                   	push   %esi
46a918:	57                   	push   %edi
46a919:	6a 0e                	push   $0xe
46a91b:	a1 04 6e 6a 00       	mov    0x6a6e04,%eax
46a920:	8b 00                	mov    (%eax),%eax
46a922:	ff d0                	call   *%eax
46a924:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a927:	8d 45 d8             	lea    -0x28(%ebp),%eax
46a92a:	50                   	push   %eax
46a92b:	e8 c8 d0 f9 ff       	call   0x4079f8
46a930:	50                   	push   %eax
46a931:	e8 12 d1 f9 ff       	call   0x407a48
46a936:	85 c0                	test   %eax,%eax
46a938:	0f 84 1b 01 00 00    	je     0x46aa59
46a93e:	33 d2                	xor    %edx,%edx
46a940:	55                   	push   %ebp
46a941:	68 52 aa 46 00       	push   $0x46aa52
46a946:	64 ff 32             	push   %fs:(%edx)
46a949:	64 89 22             	mov    %esp,%fs:(%edx)
46a94c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46a94f:	8d 55 f8             	lea    -0x8(%ebp),%edx
46a952:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46a955:	e8 06 f6 fb ff       	call   0x429f60
46a95a:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a95d:	03 45 f4             	add    -0xc(%ebp),%eax
46a960:	e8 4f e7 f9 ff       	call   0x4090b4
46a965:	89 45 f0             	mov    %eax,-0x10(%ebp)
46a968:	33 d2                	xor    %edx,%edx
46a96a:	55                   	push   %ebp
46a96b:	68 23 aa 46 00       	push   $0x46aa23
46a970:	64 ff 32             	push   %fs:(%edx)
46a973:	64 89 22             	mov    %esp,%fs:(%edx)
46a976:	8b 5d f0             	mov    -0x10(%ebp),%ebx
46a979:	03 5d f8             	add    -0x8(%ebp),%ebx
46a97c:	53                   	push   %ebx
46a97d:	8b 75 f0             	mov    -0x10(%ebp),%esi
46a980:	8b ce                	mov    %esi,%ecx
46a982:	33 d2                	xor    %edx,%edx
46a984:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46a987:	e8 8c f6 fb ff       	call   0x42a018
46a98c:	84 c0                	test   %al,%al
46a98e:	74 77                	je     0x46aa07
46a990:	8b 45 f0             	mov    -0x10(%ebp),%eax
46a993:	66 83 78 0e 01       	cmpw   $0x1,0xe(%eax)
46a998:	75 6d                	jne    0x46aa07
46a99a:	8b 46 04             	mov    0x4(%esi),%eax
46a99d:	8b d0                	mov    %eax,%edx
46a99f:	0f b7 4e 0e          	movzwl 0xe(%esi),%ecx
46a9a3:	0f af d1             	imul   %ecx,%edx
46a9a6:	83 c2 1f             	add    $0x1f,%edx
46a9a9:	83 e2 e0             	and    $0xffffffe0,%edx
46a9ac:	85 d2                	test   %edx,%edx
46a9ae:	79 03                	jns    0x46a9b3
46a9b0:	83 c2 07             	add    $0x7,%edx
46a9b3:	c1 fa 03             	sar    $0x3,%edx
46a9b6:	89 55 ec             	mov    %edx,-0x14(%ebp)
46a9b9:	8b f8                	mov    %eax,%edi
46a9bb:	0f af 7d ec          	imul   -0x14(%ebp),%edi
46a9bf:	03 5d f4             	add    -0xc(%ebp),%ebx
46a9c2:	2b df                	sub    %edi,%ebx
46a9c4:	b9 ff 00 00 00       	mov    $0xff,%ecx
46a9c9:	8b d7                	mov    %edi,%edx
46a9cb:	8b c3                	mov    %ebx,%eax
46a9cd:	e8 2e ff ff ff       	call   0x46a900
46a9d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a9d5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
46a9d9:	75 1c                	jne    0x46a9f7
46a9db:	8b 46 08             	mov    0x8(%esi),%eax
46a9de:	8b 56 04             	mov    0x4(%esi),%edx
46a9e1:	03 d2                	add    %edx,%edx
46a9e3:	3b c2                	cmp    %edx,%eax
46a9e5:	7c 10                	jl     0x46a9f7
46a9e7:	8b c3                	mov    %ebx,%eax
46a9e9:	2b c7                	sub    %edi,%eax
46a9eb:	33 c9                	xor    %ecx,%ecx
46a9ed:	8b d7                	mov    %edi,%edx
46a9ef:	e8 0c ff ff ff       	call   0x46a900
46a9f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a9f7:	8b 45 fc             	mov    -0x4(%ebp),%eax
46a9fa:	99                   	cltd
46a9fb:	f7 7d ec             	idivl  -0x14(%ebp)
46a9fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
46aa01:	8b 45 e0             	mov    -0x20(%ebp),%eax
46aa04:	29 45 fc             	sub    %eax,-0x4(%ebp)
46aa07:	33 c0                	xor    %eax,%eax
46aa09:	5a                   	pop    %edx
46aa0a:	59                   	pop    %ecx
46aa0b:	59                   	pop    %ecx
46aa0c:	64 89 10             	mov    %edx,%fs:(%eax)
46aa0f:	68 2a aa 46 00       	push   $0x46aa2a
46aa14:	8b 55 f8             	mov    -0x8(%ebp),%edx
46aa17:	03 55 f4             	add    -0xc(%ebp),%edx
46aa1a:	8b 45 f0             	mov    -0x10(%ebp),%eax
46aa1d:	e8 aa 7d f9 ff       	call   0x4027cc
46aa22:	c3                   	ret
46aa23:	e9 e4 97 f9 ff       	jmp    0x40420c
46aa28:	eb ea                	jmp    0x46aa14
46aa2a:	33 c0                	xor    %eax,%eax
46aa2c:	5a                   	pop    %edx
46aa2d:	59                   	pop    %ecx
46aa2e:	59                   	pop    %ecx
46aa2f:	64 89 10             	mov    %edx,%fs:(%eax)
46aa32:	68 59 aa 46 00       	push   $0x46aa59
46aa37:	8b 45 e8             	mov    -0x18(%ebp),%eax
46aa3a:	85 c0                	test   %eax,%eax
46aa3c:	74 06                	je     0x46aa44
46aa3e:	50                   	push   %eax
46aa3f:	e8 cc ca f9 ff       	call   0x407510
46aa44:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46aa47:	85 c0                	test   %eax,%eax
46aa49:	74 06                	je     0x46aa51
46aa4b:	50                   	push   %eax
46aa4c:	e8 bf ca f9 ff       	call   0x407510
46aa51:	c3                   	ret
46aa52:	e9 b5 97 f9 ff       	jmp    0x40420c
46aa57:	eb de                	jmp    0x46aa37
46aa59:	8b 45 fc             	mov    -0x4(%ebp),%eax
46aa5c:	5f                   	pop    %edi
46aa5d:	5e                   	pop    %esi
46aa5e:	5b                   	pop    %ebx
46aa5f:	8b e5                	mov    %ebp,%esp
46aa61:	5d                   	pop    %ebp
46aa62:	c3                   	ret
46aa63:	90                   	nop
46aa64:	55                   	push   %ebp
46aa65:	8b ec                	mov    %esp,%ebp
46aa67:	53                   	push   %ebx
46aa68:	56                   	push   %esi
46aa69:	8b d8                	mov    %eax,%ebx
46aa6b:	85 db                	test   %ebx,%ebx
46aa6d:	75 06                	jne    0x46aa75
46aa6f:	8b 1d b8 ad 68 00    	mov    0x68adb8,%ebx
46aa75:	8b 45 08             	mov    0x8(%ebp),%eax
46aa78:	8b 40 fc             	mov    -0x4(%eax),%eax
46aa7b:	8b b0 84 00 00 00    	mov    0x84(%eax),%esi
46aa81:	85 f6                	test   %esi,%esi
46aa83:	74 0e                	je     0x46aa93
46aa85:	8b 45 08             	mov    0x8(%ebp),%eax
46aa88:	8b c6                	mov    %esi,%eax
46aa8a:	e8 31 8f f9 ff       	call   0x4039c0
46aa8f:	3b d8                	cmp    %eax,%ebx
46aa91:	74 2a                	je     0x46aabd
46aa93:	8b 45 08             	mov    0x8(%ebp),%eax
46aa96:	8b 40 fc             	mov    -0x4(%eax),%eax
46aa99:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46aa9f:	e8 d4 8f f9 ff       	call   0x403a78
46aaa4:	8b 45 08             	mov    0x8(%ebp),%eax
46aaa7:	8b 48 fc             	mov    -0x4(%eax),%ecx
46aaaa:	b2 01                	mov    $0x1,%dl
46aaac:	8b c3                	mov    %ebx,%eax
46aaae:	ff 50 2c             	call   *0x2c(%eax)
46aab1:	8b 55 08             	mov    0x8(%ebp),%edx
46aab4:	8b 52 fc             	mov    -0x4(%edx),%edx
46aab7:	89 82 84 00 00 00    	mov    %eax,0x84(%edx)
46aabd:	5e                   	pop    %esi
46aabe:	5b                   	pop    %ebx
46aabf:	5d                   	pop    %ebp
46aac0:	c3                   	ret
46aac1:	8d 40 00             	lea    0x0(%eax),%eax
46aac4:	55                   	push   %ebp
46aac5:	8b ec                	mov    %esp,%ebp
46aac7:	6a 00                	push   $0x0
46aac9:	53                   	push   %ebx
46aaca:	56                   	push   %esi
46aacb:	33 d2                	xor    %edx,%edx
46aacd:	55                   	push   %ebp
46aace:	68 4c ab 46 00       	push   $0x46ab4c
46aad3:	64 ff 32             	push   %fs:(%edx)
46aad6:	64 89 22             	mov    %esp,%fs:(%edx)
46aad9:	33 f6                	xor    %esi,%esi
46aadb:	8b d8                	mov    %eax,%ebx
46aadd:	85 db                	test   %ebx,%ebx
46aadf:	74 55                	je     0x46ab36
46aae1:	eb 4e                	jmp    0x46ab31
46aae3:	8b c3                	mov    %ebx,%eax
46aae5:	eb 01                	jmp    0x46aae8
46aae7:	43                   	inc    %ebx
46aae8:	8a 13                	mov    (%ebx),%dl
46aaea:	84 d2                	test   %dl,%dl
46aaec:	74 0a                	je     0x46aaf8
46aaee:	80 ea 0a             	sub    $0xa,%dl
46aaf1:	74 05                	je     0x46aaf8
46aaf3:	80 ea 03             	sub    $0x3,%dl
46aaf6:	75 ef                	jne    0x46aae7
46aaf8:	8b cb                	mov    %ebx,%ecx
46aafa:	2b c8                	sub    %eax,%ecx
46aafc:	8d 55 fc             	lea    -0x4(%ebp),%edx
46aaff:	92                   	xchg   %eax,%edx
46ab00:	e8 53 9e f9 ff       	call   0x404958
46ab05:	8b 45 08             	mov    0x8(%ebp),%eax
46ab08:	8b 40 fc             	mov    -0x4(%eax),%eax
46ab0b:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
46ab11:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
46ab17:	8b 55 fc             	mov    -0x4(%ebp),%edx
46ab1a:	e8 dd df fb ff       	call   0x428afc
46ab1f:	3b f0                	cmp    %eax,%esi
46ab21:	7d 02                	jge    0x46ab25
46ab23:	8b f0                	mov    %eax,%esi
46ab25:	80 3b 0d             	cmpb   $0xd,(%ebx)
46ab28:	75 01                	jne    0x46ab2b
46ab2a:	43                   	inc    %ebx
46ab2b:	80 3b 0a             	cmpb   $0xa,(%ebx)
46ab2e:	75 01                	jne    0x46ab31
46ab30:	43                   	inc    %ebx
46ab31:	80 3b 00             	cmpb   $0x0,(%ebx)
46ab34:	75 ad                	jne    0x46aae3
46ab36:	33 c0                	xor    %eax,%eax
46ab38:	5a                   	pop    %edx
46ab39:	59                   	pop    %ecx
46ab3a:	59                   	pop    %ecx
46ab3b:	64 89 10             	mov    %edx,%fs:(%eax)
46ab3e:	68 53 ab 46 00       	push   $0x46ab53
46ab43:	8d 45 fc             	lea    -0x4(%ebp),%eax
46ab46:	e8 1d 9d f9 ff       	call   0x404868
46ab4b:	c3                   	ret
46ab4c:	e9 bb 96 f9 ff       	jmp    0x40420c
46ab51:	eb f0                	jmp    0x46ab43
46ab53:	8b c6                	mov    %esi,%eax
46ab55:	5e                   	pop    %esi
46ab56:	5b                   	pop    %ebx
46ab57:	59                   	pop    %ecx
46ab58:	5d                   	pop    %ebp
46ab59:	c3                   	ret
46ab5a:	8b c0                	mov    %eax,%eax
46ab5c:	55                   	push   %ebp
46ab5d:	8b ec                	mov    %esp,%ebp
46ab5f:	81 c4 70 ff ff ff    	add    $0xffffff70,%esp
46ab65:	53                   	push   %ebx