4a3948:	83 f8 02             	cmp    $0x2,%eax
4a394b:	7d f1                	jge    0x4a393e
4a394d:	33 c0                	xor    %eax,%eax
4a394f:	8d 54 24 3c          	lea    0x3c(%esp),%edx
4a3953:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a3957:	52                   	push   %edx
4a3958:	89 44 24 14          	mov    %eax,0x14(%esp)
4a395c:	8b 54 24 08          	mov    0x8(%esp),%edx
4a3960:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3964:	51                   	push   %ecx
4a3965:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a3969:	89 44 24 20          	mov    %eax,0x20(%esp)
4a396d:	8d 44 24 14          	lea    0x14(%esp),%eax
4a3971:	50                   	push   %eax
4a3972:	6a 01                	push   $0x1
4a3974:	51                   	push   %ecx
4a3975:	52                   	push   %edx
4a3976:	e8 45 ea ff ff       	call   0x4a23c0
4a397b:	89 46 04             	mov    %eax,0x4(%esi)
4a397e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a3982:	83 c4 18             	add    $0x18,%esp
4a3985:	8b 08                	mov    (%eax),%ecx
4a3987:	50                   	push   %eax
4a3988:	ff 51 08             	call   *0x8(%ecx)
4a398b:	33 f6                	xor    %esi,%esi
4a398d:	66 83 7c 24 0c 0b    	cmpw   $0xb,0xc(%esp)
4a3993:	75 0c                	jne    0x4a39a1
4a3995:	33 d2                	xor    %edx,%edx
4a3997:	66 39 54 24 14       	cmp    %dx,0x14(%esp)
4a399c:	0f 95 c2             	setne  %dl
4a399f:	8b f2                	mov    %edx,%esi
4a39a1:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a39a5:	50                   	push   %eax
4a39a6:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a39ac:	8b c6                	mov    %esi,%eax
4a39ae:	5e                   	pop    %esi
4a39af:	83 c4 18             	add    $0x18,%esp
4a39b2:	c3                   	ret
4a39b3:	90                   	nop
4a39b4:	90                   	nop
4a39b5:	90                   	nop
4a39b6:	90                   	nop
4a39b7:	90                   	nop
4a39b8:	90                   	nop
4a39b9:	90                   	nop
4a39ba:	90                   	nop
4a39bb:	90                   	nop
4a39bc:	90                   	nop
4a39bd:	90                   	nop
4a39be:	90                   	nop
4a39bf:	90                   	nop
4a39c0:	83 ec 18             	sub    $0x18,%esp
4a39c3:	56                   	push   %esi
4a39c4:	57                   	push   %edi
4a39c5:	6a 08                	push   $0x8
4a39c7:	e8 24 d3 ff ff       	call   0x4a0cf0
4a39cc:	8b f8                	mov    %eax,%edi
4a39ce:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a39d2:	83 c4 04             	add    $0x4,%esp
4a39d5:	8b f0                	mov    %eax,%esi
4a39d7:	83 38 00             	cmpl   $0x0,(%eax)
4a39da:	75 0f                	jne    0x4a39eb
4a39dc:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a39e3:	8b c7                	mov    %edi,%eax
4a39e5:	5f                   	pop    %edi
4a39e6:	5e                   	pop    %esi
4a39e7:	83 c4 18             	add    $0x18,%esp
4a39ea:	c3                   	ret
4a39eb:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4a39f2:	00
4a39f3:	8b 00                	mov    (%eax),%eax
4a39f5:	8d 54 24 08          	lea    0x8(%esp),%edx
4a39f9:	8b 08                	mov    (%eax),%ecx
4a39fb:	52                   	push   %edx
4a39fc:	68 b0 35 4b 00       	push   $0x4b35b0
4a3a01:	50                   	push   %eax
4a3a02:	ff 11                	call   *(%ecx)
4a3a04:	85 c0                	test   %eax,%eax
4a3a06:	89 46 04             	mov    %eax,0x4(%esi)
4a3a09:	0f 85 e1 00 00 00    	jne    0x4a3af0
4a3a0f:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3a13:	8b 54 24 08          	mov    0x8(%esp),%edx
4a3a17:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a3a1b:	50                   	push   %eax
4a3a1c:	51                   	push   %ecx
4a3a1d:	52                   	push   %edx
4a3a1e:	e8 4d e9 ff ff       	call   0x4a2370
4a3a23:	83 c4 0c             	add    $0xc,%esp
4a3a26:	89 46 04             	mov    %eax,0x4(%esi)
4a3a29:	85 c0                	test   %eax,%eax
4a3a2b:	0f 85 bf 00 00 00    	jne    0x4a3af0
4a3a31:	8b 44 24 24          	mov    0x24(%esp),%eax
4a3a35:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a3a38:	48                   	dec    %eax
4a3a39:	83 f8 02             	cmp    $0x2,%eax
4a3a3c:	7c 16                	jl     0x4a3a54
4a3a3e:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a3a41:	8d 54 94 30          	lea    0x30(%esp,%edx,4),%edx
4a3a45:	83 3a 00             	cmpl   $0x0,(%edx)
4a3a48:	75 0a                	jne    0x4a3a54
4a3a4a:	49                   	dec    %ecx
4a3a4b:	48                   	dec    %eax
4a3a4c:	83 ea 0c             	sub    $0xc,%edx
4a3a4f:	83 f8 02             	cmp    $0x2,%eax
4a3a52:	7d f1                	jge    0x4a3a45
4a3a54:	33 c0                	xor    %eax,%eax
4a3a56:	8d 54 24 40          	lea    0x40(%esp),%edx
4a3a5a:	89 44 24 10          	mov    %eax,0x10(%esp)
4a3a5e:	52                   	push   %edx
4a3a5f:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3a63:	8b 54 24 0c          	mov    0xc(%esp),%edx
4a3a67:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a3a6b:	51                   	push   %ecx
4a3a6c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a3a70:	89 44 24 24          	mov    %eax,0x24(%esp)
4a3a74:	8d 44 24 18          	lea    0x18(%esp),%eax
4a3a78:	50                   	push   %eax
4a3a79:	6a 01                	push   $0x1
4a3a7b:	51                   	push   %ecx
4a3a7c:	52                   	push   %edx
4a3a7d:	e8 3e e9 ff ff       	call   0x4a23c0
4a3a82:	89 46 04             	mov    %eax,0x4(%esi)
4a3a85:	8b 44 24 20          	mov    0x20(%esp),%eax
4a3a89:	83 c4 18             	add    $0x18,%esp
4a3a8c:	8b 08                	mov    (%eax),%ecx
4a3a8e:	50                   	push   %eax
4a3a8f:	ff 51 08             	call   *0x8(%ecx)
4a3a92:	8b 44 24 10          	mov    0x10(%esp),%eax
4a3a96:	25 ff ff 00 00       	and    $0xffff,%eax
4a3a9b:	3d 09 40 00 00       	cmp    $0x4009,%eax
4a3aa0:	7f 2a                	jg     0x4a3acc
4a3aa2:	74 1a                	je     0x4a3abe
4a3aa4:	83 f8 09             	cmp    $0x9,%eax
4a3aa7:	74 05                	je     0x4a3aae
4a3aa9:	83 f8 0d             	cmp    $0xd,%eax
4a3aac:	75 37                	jne    0x4a3ae5
4a3aae:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ab2:	89 17                	mov    %edx,(%edi)
4a3ab4:	8b 44 24 18          	mov    0x18(%esp),%eax
4a3ab8:	85 c0                	test   %eax,%eax
4a3aba:	74 29                	je     0x4a3ae5
4a3abc:	eb 21                	jmp    0x4a3adf
4a3abe:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ac2:	8b 02                	mov    (%edx),%eax
4a3ac4:	85 c0                	test   %eax,%eax
4a3ac6:	89 07                	mov    %eax,(%edi)
4a3ac8:	74 1b                	je     0x4a3ae5
4a3aca:	eb 13                	jmp    0x4a3adf
4a3acc:	3d 0d 40 00 00       	cmp    $0x400d,%eax
4a3ad1:	75 12                	jne    0x4a3ae5
4a3ad3:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ad7:	8b 02                	mov    (%edx),%eax
4a3ad9:	85 c0                	test   %eax,%eax
4a3adb:	89 07                	mov    %eax,(%edi)
4a3add:	74 06                	je     0x4a3ae5
4a3adf:	8b 08                	mov    (%eax),%ecx
4a3ae1:	50                   	push   %eax
4a3ae2:	ff 51 04             	call   *0x4(%ecx)
4a3ae5:	8d 54 24 10          	lea    0x10(%esp),%edx
4a3ae9:	52                   	push   %edx
4a3aea:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a3af0:	8b c7                	mov    %edi,%eax
4a3af2:	5f                   	pop    %edi
4a3af3:	5e                   	pop    %esi
4a3af4:	83 c4 18             	add    $0x18,%esp
4a3af7:	c3                   	ret
4a3af8:	90                   	nop
4a3af9:	90                   	nop
4a3afa:	90                   	nop
4a3afb:	90                   	nop
4a3afc:	90                   	nop
4a3afd:	90                   	nop
4a3afe:	90                   	nop
4a3aff:	90                   	nop
4a3b00:	8b 44 24 08          	mov    0x8(%esp),%eax
4a3b04:	81 ec 04 01 00 00    	sub    $0x104,%esp
4a3b0a:	8b 40 04             	mov    0x4(%eax),%eax
4a3b0d:	85 c0                	test   %eax,%eax
4a3b0f:	75 07                	jne    0x4a3b18
4a3b11:	81 c4 04 01 00 00    	add    $0x104,%esp
4a3b17:	c3                   	ret
4a3b18:	56                   	push   %esi
4a3b19:	33 f6                	xor    %esi,%esi
4a3b1b:	56                   	push   %esi
4a3b1c:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4a3b20:	68 04 01 00 00       	push   $0x104
4a3b25:	51                   	push   %ecx
4a3b26:	56                   	push   %esi
4a3b27:	50                   	push   %eax
4a3b28:	56                   	push   %esi
4a3b29:	68 00 10 00 00       	push   $0x1000
4a3b2e:	ff 15 98 30 4b 00    	call   *0x4b3098
4a3b34:	85 c0                	test   %eax,%eax
4a3b36:	74 1b                	je     0x4a3b53
4a3b38:	8d 54 24 04          	lea    0x4(%esp),%edx
4a3b3c:	52                   	push   %edx
4a3b3d:	ff 15 40 a1 50 00    	call   *0x50a140
4a3b43:	50                   	push   %eax
4a3b44:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a3b48:	50                   	push   %eax
4a3b49:	e8 f2 35 00 00       	call   0x4a7140
4a3b4e:	83 c4 0c             	add    $0xc,%esp
4a3b51:	8b f0                	mov    %eax,%esi
4a3b53:	8b c6                	mov    %esi,%eax
4a3b55:	5e                   	pop    %esi
4a3b56:	81 c4 04 01 00 00    	add    $0x104,%esp
4a3b5c:	c3                   	ret
4a3b5d:	90                   	nop
4a3b5e:	90                   	nop
4a3b5f:	90                   	nop
4a3b60:	8b 44 24 04          	mov    0x4(%esp),%eax
4a3b64:	83 ec 08             	sub    $0x8,%esp
4a3b67:	8b 08                	mov    (%eax),%ecx
4a3b69:	53                   	push   %ebx
4a3b6a:	55                   	push   %ebp
4a3b6b:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4a3b6f:	8b 01                	mov    (%ecx),%eax
4a3b71:	8b d5                	mov    %ebp,%edx
4a3b73:	56                   	push   %esi
4a3b74:	57                   	push   %edi
4a3b75:	89 02                	mov    %eax,(%edx)
4a3b77:	8b 41 04             	mov    0x4(%ecx),%eax
4a3b7a:	89 42 04             	mov    %eax,0x4(%edx)
4a3b7d:	8b 41 08             	mov    0x8(%ecx),%eax
4a3b80:	89 42 08             	mov    %eax,0x8(%edx)
4a3b83:	8b 49 0c             	mov    0xc(%ecx),%ecx
4a3b86:	89 4a 0c             	mov    %ecx,0xc(%edx)
4a3b89:	66 8b 45 00          	mov    0x0(%ebp),%ax
4a3b8d:	f6 c4 20             	test   $0x20,%ah
4a3b90:	0f 84 51 01 00 00    	je     0x4a3ce7
4a3b96:	f6 c4 40             	test   $0x40,%ah
4a3b99:	74 07                	je     0x4a3ba2
4a3b9b:	8b 55 08             	mov    0x8(%ebp),%edx
4a3b9e:	8b 1a                	mov    (%edx),%ebx
4a3ba0:	eb 03                	jmp    0x4a3ba5
4a3ba2:	8b 5d 08             	mov    0x8(%ebp),%ebx
4a3ba5:	53                   	push   %ebx
4a3ba6:	ff 15 08 32 4b 00    	call   *0x4b3208
4a3bac:	bf 01 00 00 00       	mov    $0x1,%edi
4a3bb1:	89 44 24 14          	mov    %eax,0x14(%esp)
4a3bb5:	3b c7                	cmp    %edi,%eax
4a3bb7:	8b f7                	mov    %edi,%esi
4a3bb9:	72 31                	jb     0x4a3bec
4a3bbb:	8d 44 24 10          	lea    0x10(%esp),%eax
4a3bbf:	50                   	push   %eax
4a3bc0:	56                   	push   %esi
4a3bc1:	53                   	push   %ebx
4a3bc2:	ff 15 04 32 4b 00    	call   *0x4b3204
4a3bc8:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4a3bcc:	51                   	push   %ecx
4a3bcd:	56                   	push   %esi
4a3bce:	53                   	push   %ebx
4a3bcf:	ff 15 00 32 4b 00    	call   *0x4b3200
4a3bd5:	8b 54 24 20          	mov    0x20(%esp),%edx
4a3bd9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a3bdd:	8b 44 24 14          	mov    0x14(%esp),%eax
4a3be1:	2b d1                	sub    %ecx,%edx
4a3be3:	42                   	inc    %edx
4a3be4:	0f af fa             	imul   %edx,%edi
4a3be7:	46                   	inc    %esi
4a3be8:	3b f0                	cmp    %eax,%esi
4a3bea:	76 cf                	jbe    0x4a3bbb
4a3bec:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4a3bf0:	8b 41 0c             	mov    0xc(%ecx),%eax
4a3bf3:	3b c7                	cmp    %edi,%eax
4a3bf5:	7e 0a                	jle    0x4a3c01
4a3bf7:	5f                   	pop    %edi
4a3bf8:	5e                   	pop    %esi
4a3bf9:	5d                   	pop    %ebp
4a3bfa:	33 c0                	xor    %eax,%eax
4a3bfc:	5b                   	pop    %ebx
4a3bfd:	83 c4 08             	add    $0x8,%esp
4a3c00:	c3                   	ret
4a3c01:	8b 71 14             	mov    0x14(%ecx),%esi
4a3c04:	33 d2                	xor    %edx,%edx
4a3c06:	3b f2                	cmp    %edx,%esi
4a3c08:	74 07                	je     0x4a3c11
4a3c0a:	8d 70 ff             	lea    -0x1(%eax),%esi
4a3c0d:	3b f2                	cmp    %edx,%esi
4a3c0f:	7d 02                	jge    0x4a3c13
4a3c11:	33 f6                	xor    %esi,%esi
4a3c13:	8a 45 00             	mov    0x0(%ebp),%al
4a3c16:	24 0c                	and    $0xc,%al
4a3c18:	3c 0c                	cmp    $0xc,%al
4a3c1a:	75 79                	jne    0x4a3c95
4a3c1c:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4a3c20:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4a3c24:	51                   	push   %ecx
4a3c25:	53                   	push   %ebx
4a3c26:	ff 15 fc 31 4b 00    	call   *0x4b31fc
4a3c2c:	85 c0                	test   %eax,%eax
4a3c2e:	7d 0a                	jge    0x4a3c3a
4a3c30:	5f                   	pop    %edi
4a3c31:	5e                   	pop    %esi
4a3c32:	5d                   	pop    %ebp
4a3c33:	33 c0                	xor    %eax,%eax
4a3c35:	5b                   	pop    %ebx
4a3c36:	83 c4 08             	add    $0x8,%esp
4a3c39:	c3                   	ret
4a3c3a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a3c3e:	8b d5                	mov    %ebp,%edx
4a3c40:	c1 e6 04             	shl    $0x4,%esi
4a3c43:	03 c6                	add    %esi,%eax
4a3c45:	53                   	push   %ebx
4a3c46:	89 44 24 20          	mov    %eax,0x20(%esp)
4a3c4a:	8b 08                	mov    (%eax),%ecx
4a3c4c:	89 0a                	mov    %ecx,(%edx)
4a3c4e:	8b 48 04             	mov    0x4(%eax),%ecx
4a3c51:	89 4a 04             	mov    %ecx,0x4(%edx)
4a3c54:	8b 48 08             	mov    0x8(%eax),%ecx
4a3c57:	89 4a 08             	mov    %ecx,0x8(%edx)
4a3c5a:	8b 40 0c             	mov    0xc(%eax),%eax
4a3c5d:	89 42 0c             	mov    %eax,0xc(%edx)
4a3c60:	ff 15 f8 31 4b 00    	call   *0x4b31f8
4a3c66:	66 81 7d 00 0c 40    	cmpw   $0x400c,0x0(%ebp)
4a3c6c:	75 79                	jne    0x4a3ce7
4a3c6e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4a3c71:	5f                   	pop    %edi
4a3c72:	5e                   	pop    %esi
4a3c73:	8b 11                	mov    (%ecx),%edx
4a3c75:	89 55 00             	mov    %edx,0x0(%ebp)
4a3c78:	8b 41 04             	mov    0x4(%ecx),%eax
4a3c7b:	89 45 04             	mov    %eax,0x4(%ebp)
4a3c7e:	8b 51 08             	mov    0x8(%ecx),%edx
4a3c81:	89 55 08             	mov    %edx,0x8(%ebp)
4a3c84:	8b 41 0c             	mov    0xc(%ecx),%eax
4a3c87:	89 45 0c             	mov    %eax,0xc(%ebp)
4a3c8a:	5d                   	pop    %ebp
4a3c8b:	b8 01 00 00 00       	mov    $0x1,%eax
4a3c90:	5b                   	pop    %ebx
4a3c91:	83 c4 08             	add    $0x8,%esp
4a3c94:	c3                   	ret
4a3c95:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4a3c99:	89 54 24 1c          	mov    %edx,0x1c(%esp)
4a3c9d:	51                   	push   %ecx
4a3c9e:	53                   	push   %ebx
4a3c9f:	ff 15 fc 31 4b 00    	call   *0x4b31fc
4a3ca5:	85 c0                	test   %eax,%eax
4a3ca7:	7d 0a                	jge    0x4a3cb3
4a3ca9:	5f                   	pop    %edi
4a3caa:	5e                   	pop    %esi
4a3cab:	5d                   	pop    %ebp
4a3cac:	33 c0                	xor    %eax,%eax
4a3cae:	5b                   	pop    %ebx
4a3caf:	83 c4 08             	add    $0x8,%esp
4a3cb2:	c3                   	ret
4a3cb3:	53                   	push   %ebx
4a3cb4:	ff 15 f4 31 4b 00    	call   *0x4b31f4
4a3cba:	8b d0                	mov    %eax,%edx
4a3cbc:	8b c8                	mov    %eax,%ecx