46ccb5:	66 83 f8 3d          	cmp    $0x3d,%ax
46ccb9:	74 01                	je     0x46ccbc
46ccbb:	42                   	inc    %edx
46ccbc:	8b ce                	mov    %esi,%ecx
46ccbe:	8d 79 02             	lea    0x2(%ecx),%edi
46ccc1:	66 8b 01             	mov    (%ecx),%ax
46ccc4:	83 c1 02             	add    $0x2,%ecx
46ccc7:	66 3b c3             	cmp    %bx,%ax
46ccca:	75 f5                	jne    0x46ccc1
46cccc:	2b cf                	sub    %edi,%ecx
46ccce:	d1 f9                	sar    $1,%ecx
46ccd0:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46ccd3:	83 c6 02             	add    $0x2,%esi
46ccd6:	0f b7 06             	movzwl (%esi),%eax
46ccd9:	66 85 c0             	test   %ax,%ax
46ccdc:	75 d7                	jne    0x46ccb5
46ccde:	5f                   	pop    %edi
46ccdf:	5e                   	pop    %esi
46cce0:	8b c2                	mov    %edx,%eax
46cce2:	5b                   	pop    %ebx
46cce3:	5d                   	pop    %ebp
46cce4:	c3                   	ret
46cce5:	8b ff                	mov    %edi,%edi
46cce7:	55                   	push   %ebp
46cce8:	8b ec                	mov    %esp,%ebp
46ccea:	51                   	push   %ecx
46cceb:	51                   	push   %ecx
46ccec:	53                   	push   %ebx
46cced:	56                   	push   %esi
46ccee:	57                   	push   %edi
46ccef:	8b 7d 08             	mov    0x8(%ebp),%edi
46ccf2:	33 d2                	xor    %edx,%edx
46ccf4:	8b f7                	mov    %edi,%esi
46ccf6:	8a 07                	mov    (%edi),%al
46ccf8:	eb 18                	jmp    0x46cd12
46ccfa:	3c 3d                	cmp    $0x3d,%al
46ccfc:	74 01                	je     0x46ccff
46ccfe:	42                   	inc    %edx
46ccff:	8b ce                	mov    %esi,%ecx
46cd01:	8d 59 01             	lea    0x1(%ecx),%ebx
46cd04:	8a 01                	mov    (%ecx),%al
46cd06:	41                   	inc    %ecx
46cd07:	84 c0                	test   %al,%al
46cd09:	75 f9                	jne    0x46cd04
46cd0b:	2b cb                	sub    %ebx,%ecx
46cd0d:	46                   	inc    %esi
46cd0e:	03 f1                	add    %ecx,%esi
46cd10:	8a 06                	mov    (%esi),%al
46cd12:	84 c0                	test   %al,%al
46cd14:	75 e4                	jne    0x46ccfa
46cd16:	8d 42 01             	lea    0x1(%edx),%eax
46cd19:	6a 04                	push   $0x4
46cd1b:	50                   	push   %eax
46cd1c:	e8 32 55 00 00       	call   0x472253
46cd21:	8b d8                	mov    %eax,%ebx
46cd23:	59                   	pop    %ecx
46cd24:	59                   	pop    %ecx
46cd25:	85 db                	test   %ebx,%ebx
46cd27:	74 6d                	je     0x46cd96
46cd29:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46cd2c:	eb 52                	jmp    0x46cd80
46cd2e:	8b cf                	mov    %edi,%ecx
46cd30:	8d 51 01             	lea    0x1(%ecx),%edx
46cd33:	8a 01                	mov    (%ecx),%al
46cd35:	41                   	inc    %ecx
46cd36:	84 c0                	test   %al,%al
46cd38:	75 f9                	jne    0x46cd33
46cd3a:	2b ca                	sub    %edx,%ecx
46cd3c:	80 3f 3d             	cmpb   $0x3d,(%edi)
46cd3f:	8d 41 01             	lea    0x1(%ecx),%eax
46cd42:	89 45 f8             	mov    %eax,-0x8(%ebp)
46cd45:	74 37                	je     0x46cd7e
46cd47:	6a 01                	push   $0x1
46cd49:	50                   	push   %eax
46cd4a:	e8 04 55 00 00       	call   0x472253
46cd4f:	8b f0                	mov    %eax,%esi
46cd51:	59                   	pop    %ecx
46cd52:	59                   	pop    %ecx
46cd53:	85 f6                	test   %esi,%esi
46cd55:	74 30                	je     0x46cd87
46cd57:	57                   	push   %edi
46cd58:	ff 75 f8             	push   -0x8(%ebp)
46cd5b:	56                   	push   %esi
46cd5c:	e8 d5 34 00 00       	call   0x470236
46cd61:	83 c4 0c             	add    $0xc,%esp
46cd64:	85 c0                	test   %eax,%eax
46cd66:	75 41                	jne    0x46cda9
46cd68:	8b 45 fc             	mov    -0x4(%ebp),%eax
46cd6b:	6a 00                	push   $0x0
46cd6d:	89 30                	mov    %esi,(%eax)
46cd6f:	83 c0 04             	add    $0x4,%eax
46cd72:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cd75:	e8 bf 55 00 00       	call   0x472339
46cd7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
46cd7d:	59                   	pop    %ecx
46cd7e:	03 f8                	add    %eax,%edi
46cd80:	80 3f 00             	cmpb   $0x0,(%edi)
46cd83:	75 a9                	jne    0x46cd2e
46cd85:	eb 11                	jmp    0x46cd98
46cd87:	53                   	push   %ebx
46cd88:	e8 23 01 00 00       	call   0x46ceb0
46cd8d:	6a 00                	push   $0x0
46cd8f:	e8 a5 55 00 00       	call   0x472339
46cd94:	59                   	pop    %ecx
46cd95:	59                   	pop    %ecx
46cd96:	33 db                	xor    %ebx,%ebx
46cd98:	6a 00                	push   $0x0
46cd9a:	e8 9a 55 00 00       	call   0x472339
46cd9f:	59                   	pop    %ecx
46cda0:	5f                   	pop    %edi
46cda1:	5e                   	pop    %esi
46cda2:	8b c3                	mov    %ebx,%eax
46cda4:	5b                   	pop    %ebx
46cda5:	8b e5                	mov    %ebp,%esp
46cda7:	5d                   	pop    %ebp
46cda8:	c3                   	ret
46cda9:	33 c0                	xor    %eax,%eax
46cdab:	50                   	push   %eax
46cdac:	50                   	push   %eax
46cdad:	50                   	push   %eax
46cdae:	50                   	push   %eax
46cdaf:	50                   	push   %eax
46cdb0:	e8 4e ff fd ff       	call   0x44cd03
46cdb5:	cc                   	int3
46cdb6:	8b ff                	mov    %edi,%edi
46cdb8:	55                   	push   %ebp
46cdb9:	8b ec                	mov    %esp,%ebp
46cdbb:	51                   	push   %ecx
46cdbc:	51                   	push   %ecx
46cdbd:	53                   	push   %ebx
46cdbe:	8b 5d 08             	mov    0x8(%ebp),%ebx
46cdc1:	33 c0                	xor    %eax,%eax
46cdc3:	89 45 f8             	mov    %eax,-0x8(%ebp)
46cdc6:	8b d0                	mov    %eax,%edx
46cdc8:	56                   	push   %esi
46cdc9:	57                   	push   %edi
46cdca:	0f b7 03             	movzwl (%ebx),%eax
46cdcd:	8b f3                	mov    %ebx,%esi
46cdcf:	66 85 c0             	test   %ax,%ax
46cdd2:	74 2f                	je     0x46ce03
46cdd4:	6a 3d                	push   $0x3d
46cdd6:	5b                   	pop    %ebx
46cdd7:	66 3b c3             	cmp    %bx,%ax
46cdda:	74 01                	je     0x46cddd
46cddc:	42                   	inc    %edx
46cddd:	8b ce                	mov    %esi,%ecx
46cddf:	8d 79 02             	lea    0x2(%ecx),%edi
46cde2:	66 8b 01             	mov    (%ecx),%ax
46cde5:	83 c1 02             	add    $0x2,%ecx
46cde8:	66 3b 45 f8          	cmp    -0x8(%ebp),%ax
46cdec:	75 f4                	jne    0x46cde2
46cdee:	2b cf                	sub    %edi,%ecx
46cdf0:	d1 f9                	sar    $1,%ecx
46cdf2:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
46cdf5:	83 c6 02             	add    $0x2,%esi
46cdf8:	0f b7 06             	movzwl (%esi),%eax
46cdfb:	66 85 c0             	test   %ax,%ax
46cdfe:	75 d7                	jne    0x46cdd7
46ce00:	8b 5d 08             	mov    0x8(%ebp),%ebx
46ce03:	8d 42 01             	lea    0x1(%edx),%eax
46ce06:	6a 04                	push   $0x4
46ce08:	50                   	push   %eax
46ce09:	e8 45 54 00 00       	call   0x472253
46ce0e:	8b f8                	mov    %eax,%edi
46ce10:	33 f6                	xor    %esi,%esi
46ce12:	59                   	pop    %ecx
46ce13:	59                   	pop    %ecx
46ce14:	85 ff                	test   %edi,%edi
46ce16:	74 79                	je     0x46ce91
46ce18:	89 7d fc             	mov    %edi,-0x4(%ebp)
46ce1b:	eb 5d                	jmp    0x46ce7a
46ce1d:	8b cb                	mov    %ebx,%ecx
46ce1f:	8d 51 02             	lea    0x2(%ecx),%edx
46ce22:	66 8b 01             	mov    (%ecx),%ax
46ce25:	83 c1 02             	add    $0x2,%ecx
46ce28:	66 3b c6             	cmp    %si,%ax
46ce2b:	75 f5                	jne    0x46ce22
46ce2d:	2b ca                	sub    %edx,%ecx
46ce2f:	d1 f9                	sar    $1,%ecx
46ce31:	6a 3d                	push   $0x3d
46ce33:	8d 41 01             	lea    0x1(%ecx),%eax
46ce36:	59                   	pop    %ecx
46ce37:	89 45 f8             	mov    %eax,-0x8(%ebp)
46ce3a:	66 39 0b             	cmp    %cx,(%ebx)
46ce3d:	74 38                	je     0x46ce77
46ce3f:	6a 02                	push   $0x2
46ce41:	50                   	push   %eax
46ce42:	e8 0c 54 00 00       	call   0x472253
46ce47:	8b f0                	mov    %eax,%esi
46ce49:	59                   	pop    %ecx
46ce4a:	59                   	pop    %ecx
46ce4b:	85 f6                	test   %esi,%esi
46ce4d:	74 32                	je     0x46ce81
46ce4f:	53                   	push   %ebx
46ce50:	ff 75 f8             	push   -0x8(%ebp)
46ce53:	56                   	push   %esi
46ce54:	e8 0e b0 ff ff       	call   0x467e67
46ce59:	83 c4 0c             	add    $0xc,%esp
46ce5c:	85 c0                	test   %eax,%eax
46ce5e:	75 43                	jne    0x46cea3
46ce60:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ce63:	89 30                	mov    %esi,(%eax)
46ce65:	33 f6                	xor    %esi,%esi
46ce67:	83 c0 04             	add    $0x4,%eax
46ce6a:	56                   	push   %esi
46ce6b:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ce6e:	e8 c6 54 00 00       	call   0x472339
46ce73:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ce76:	59                   	pop    %ecx
46ce77:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
46ce7a:	66 39 33             	cmp    %si,(%ebx)
46ce7d:	75 9e                	jne    0x46ce1d
46ce7f:	eb 12                	jmp    0x46ce93
46ce81:	57                   	push   %edi
46ce82:	e8 58 00 00 00       	call   0x46cedf
46ce87:	33 f6                	xor    %esi,%esi
46ce89:	56                   	push   %esi
46ce8a:	e8 aa 54 00 00       	call   0x472339
46ce8f:	59                   	pop    %ecx
46ce90:	59                   	pop    %ecx
46ce91:	8b fe                	mov    %esi,%edi
46ce93:	56                   	push   %esi
46ce94:	e8 a0 54 00 00       	call   0x472339
46ce99:	59                   	pop    %ecx
46ce9a:	8b c7                	mov    %edi,%eax
46ce9c:	5f                   	pop    %edi
46ce9d:	5e                   	pop    %esi
46ce9e:	5b                   	pop    %ebx
46ce9f:	8b e5                	mov    %ebp,%esp
46cea1:	5d                   	pop    %ebp
46cea2:	c3                   	ret
46cea3:	33 c0                	xor    %eax,%eax
46cea5:	50                   	push   %eax
46cea6:	50                   	push   %eax
46cea7:	50                   	push   %eax
46cea8:	50                   	push   %eax
46cea9:	50                   	push   %eax
46ceaa:	e8 54 fe fd ff       	call   0x44cd03
46ceaf:	cc                   	int3
46ceb0:	8b ff                	mov    %edi,%edi
46ceb2:	55                   	push   %ebp
46ceb3:	8b ec                	mov    %esp,%ebp
46ceb5:	56                   	push   %esi
46ceb6:	8b 75 08             	mov    0x8(%ebp),%esi
46ceb9:	85 f6                	test   %esi,%esi
46cebb:	74 1f                	je     0x46cedc
46cebd:	8b 06                	mov    (%esi),%eax
46cebf:	57                   	push   %edi
46cec0:	8b fe                	mov    %esi,%edi
46cec2:	eb 0c                	jmp    0x46ced0
46cec4:	50                   	push   %eax
46cec5:	e8 6f 54 00 00       	call   0x472339
46ceca:	8d 7f 04             	lea    0x4(%edi),%edi
46cecd:	8b 07                	mov    (%edi),%eax
46cecf:	59                   	pop    %ecx
46ced0:	85 c0                	test   %eax,%eax
46ced2:	75 f0                	jne    0x46cec4
46ced4:	56                   	push   %esi
46ced5:	e8 5f 54 00 00       	call   0x472339
46ceda:	59                   	pop    %ecx
46cedb:	5f                   	pop    %edi
46cedc:	5e                   	pop    %esi
46cedd:	5d                   	pop    %ebp
46cede:	c3                   	ret
46cedf:	8b ff                	mov    %edi,%edi
46cee1:	55                   	push   %ebp
46cee2:	8b ec                	mov    %esp,%ebp
46cee4:	56                   	push   %esi
46cee5:	8b 75 08             	mov    0x8(%ebp),%esi
46cee8:	85 f6                	test   %esi,%esi
46ceea:	74 1f                	je     0x46cf0b
46ceec:	8b 06                	mov    (%esi),%eax
46ceee:	57                   	push   %edi
46ceef:	8b fe                	mov    %esi,%edi
46cef1:	eb 0c                	jmp    0x46ceff
46cef3:	50                   	push   %eax
46cef4:	e8 40 54 00 00       	call   0x472339
46cef9:	8d 7f 04             	lea    0x4(%edi),%edi
46cefc:	8b 07                	mov    (%edi),%eax
46cefe:	59                   	pop    %ecx
46ceff:	85 c0                	test   %eax,%eax
46cf01:	75 f0                	jne    0x46cef3
46cf03:	56                   	push   %esi
46cf04:	e8 30 54 00 00       	call   0x472339
46cf09:	59                   	pop    %ecx
46cf0a:	5f                   	pop    %edi
46cf0b:	5e                   	pop    %esi
46cf0c:	5d                   	pop    %ebp
46cf0d:	c3                   	ret
46cf0e:	e9 7b 14 01 00       	jmp    0x47e38e
46cf13:	e9 f9 14 01 00       	jmp    0x47e411
46cf18:	8b ff                	mov    %edi,%edi
46cf1a:	57                   	push   %edi
46cf1b:	8b 3d 98 b8 4b 00    	mov    0x4bb898,%edi
46cf21:	85 ff                	test   %edi,%edi
46cf23:	75 05                	jne    0x46cf2a
46cf25:	83 c8 ff             	or     $0xffffffff,%eax
46cf28:	5f                   	pop    %edi
46cf29:	c3                   	ret
46cf2a:	53                   	push   %ebx
46cf2b:	56                   	push   %esi
46cf2c:	33 db                	xor    %ebx,%ebx
46cf2e:	eb 51                	jmp    0x46cf81
46cf30:	53                   	push   %ebx
46cf31:	53                   	push   %ebx
46cf32:	53                   	push   %ebx
46cf33:	53                   	push   %ebx
46cf34:	6a ff                	push   $0xffffffff
46cf36:	ff 37                	push   (%edi)
46cf38:	53                   	push   %ebx
46cf39:	53                   	push   %ebx
46cf3a:	ff 15 78 41 49 00    	call   *0x494178
46cf40:	8b d8                	mov    %eax,%ebx
46cf42:	85 db                	test   %ebx,%ebx
46cf44:	74 4c                	je     0x46cf92
46cf46:	6a 01                	push   $0x1
46cf48:	53                   	push   %ebx
46cf49:	e8 05 53 00 00       	call   0x472253
46cf4e:	8b f0                	mov    %eax,%esi
46cf50:	59                   	pop    %ecx
46cf51:	59                   	pop    %ecx
46cf52:	85 f6                	test   %esi,%esi
46cf54:	74 35                	je     0x46cf8b
46cf56:	6a 00                	push   $0x0
46cf58:	6a 00                	push   $0x0
46cf5a:	53                   	push   %ebx
46cf5b:	56                   	push   %esi
46cf5c:	6a ff                	push   $0xffffffff
46cf5e:	ff 37                	push   (%edi)
46cf60:	33 db                	xor    %ebx,%ebx
46cf62:	53                   	push   %ebx
46cf63:	53                   	push   %ebx
46cf64:	ff 15 78 41 49 00    	call   *0x494178
46cf6a:	85 c0                	test   %eax,%eax
46cf6c:	74 1d                	je     0x46cf8b
46cf6e:	53                   	push   %ebx
46cf6f:	56                   	push   %esi
46cf70:	e8 5d 1d 01 00       	call   0x47ecd2
46cf75:	53                   	push   %ebx
46cf76:	e8 be 53 00 00       	call   0x472339
46cf7b:	83 c4 0c             	add    $0xc,%esp
46cf7e:	83 c7 04             	add    $0x4,%edi
46cf81:	39 1f                	cmp    %ebx,(%edi)
46cf83:	75 ab                	jne    0x46cf30
46cf85:	33 c0                	xor    %eax,%eax
46cf87:	5e                   	pop    %esi
46cf88:	5b                   	pop    %ebx
46cf89:	5f                   	pop    %edi
46cf8a:	c3                   	ret
46cf8b:	56                   	push   %esi