46a9cc:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
46a9cf:	53                   	push   %ebx
46a9d0:	56                   	push   %esi
46a9d1:	8b 58 10             	mov    0x10(%eax),%ebx
46a9d4:	57                   	push   %edi
46a9d5:	8b 78 0c             	mov    0xc(%eax),%edi
46a9d8:	8b d7                	mov    %edi,%edx
46a9da:	89 55 fc             	mov    %edx,-0x4(%ebp)
46a9dd:	8b f2                	mov    %edx,%esi
46a9df:	85 c9                	test   %ecx,%ecx
46a9e1:	78 2d                	js     0x46aa10
46a9e3:	6b c2 14             	imul   $0x14,%edx,%eax
46a9e6:	83 c3 08             	add    $0x8,%ebx
46a9e9:	03 c3                	add    %ebx,%eax
46a9eb:	8b 5d 10             	mov    0x10(%ebp),%ebx
46a9ee:	83 fa ff             	cmp    $0xffffffff,%edx
46a9f1:	74 3c                	je     0x46aa2f
46a9f3:	83 e8 14             	sub    $0x14,%eax
46a9f6:	4a                   	dec    %edx
46a9f7:	39 58 fc             	cmp    %ebx,-0x4(%eax)
46a9fa:	7d 04                	jge    0x46aa00
46a9fc:	3b 18                	cmp    (%eax),%ebx
46a9fe:	7e 05                	jle    0x46aa05
46aa00:	83 fa ff             	cmp    $0xffffffff,%edx
46aa03:	75 07                	jne    0x46aa0c
46aa05:	8b 75 fc             	mov    -0x4(%ebp),%esi
46aa08:	49                   	dec    %ecx
46aa09:	89 55 fc             	mov    %edx,-0x4(%ebp)
46aa0c:	85 c9                	test   %ecx,%ecx
46aa0e:	79 de                	jns    0x46a9ee
46aa10:	42                   	inc    %edx
46aa11:	3b f7                	cmp    %edi,%esi
46aa13:	77 1a                	ja     0x46aa2f
46aa15:	3b d6                	cmp    %esi,%edx
46aa17:	77 16                	ja     0x46aa2f
46aa19:	8b 45 08             	mov    0x8(%ebp),%eax
46aa1c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46aa1f:	5f                   	pop    %edi
46aa20:	89 70 0c             	mov    %esi,0xc(%eax)
46aa23:	5e                   	pop    %esi
46aa24:	89 08                	mov    %ecx,(%eax)
46aa26:	89 50 04             	mov    %edx,0x4(%eax)
46aa29:	89 48 08             	mov    %ecx,0x8(%eax)
46aa2c:	5b                   	pop    %ebx
46aa2d:	c9                   	leave
46aa2e:	c3                   	ret
46aa2f:	e8 65 7f 01 00       	call   0x482999
46aa34:	cc                   	int3
46aa35:	55                   	push   %ebp
46aa36:	8b ec                	mov    %esp,%ebp
46aa38:	83 ec 18             	sub    $0x18,%esp
46aa3b:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
46aa3f:	8d 45 e8             	lea    -0x18(%ebp),%eax
46aa42:	33 05 14 40 4c 00    	xor    0x4c4014,%eax
46aa48:	8b 4d 08             	mov    0x8(%ebp),%ecx
46aa4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
46aa4e:	8b 45 0c             	mov    0xc(%ebp),%eax
46aa51:	89 45 f4             	mov    %eax,-0xc(%ebp)
46aa54:	8b 45 14             	mov    0x14(%ebp),%eax
46aa57:	40                   	inc    %eax
46aa58:	c7 45 ec 0b ac 46 00 	movl   $0x46ac0b,-0x14(%ebp)
46aa5f:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46aa62:	89 45 fc             	mov    %eax,-0x4(%ebp)
46aa65:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46aa6b:	89 45 e8             	mov    %eax,-0x18(%ebp)
46aa6e:	8d 45 e8             	lea    -0x18(%ebp),%eax
46aa71:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46aa77:	ff 75 18             	push   0x18(%ebp)
46aa7a:	51                   	push   %ecx
46aa7b:	ff 75 10             	push   0x10(%ebp)
46aa7e:	e8 7d 38 00 00       	call   0x46e300
46aa83:	8b c8                	mov    %eax,%ecx
46aa85:	8b 45 e8             	mov    -0x18(%ebp),%eax
46aa88:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46aa8e:	8b c1                	mov    %ecx,%eax
46aa90:	c9                   	leave
46aa91:	c3                   	ret
46aa92:	55                   	push   %ebp
46aa93:	8b ec                	mov    %esp,%ebp
46aa95:	83 ec 40             	sub    $0x40,%esp
46aa98:	53                   	push   %ebx
46aa99:	81 7d 08 23 01 00 00 	cmpl   $0x123,0x8(%ebp)
46aaa0:	75 12                	jne    0x46aab4
46aaa2:	b8 5c ab 46 00       	mov    $0x46ab5c,%eax
46aaa7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46aaaa:	89 01                	mov    %eax,(%ecx)
46aaac:	33 c0                	xor    %eax,%eax
46aaae:	40                   	inc    %eax
46aaaf:	e9 d1 00 00 00       	jmp    0x46ab85
46aab4:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
46aab8:	c7 45 c4 a8 ac 46 00 	movl   $0x46aca8,-0x3c(%ebp)
46aabf:	a1 14 40 4c 00       	mov    0x4c4014,%eax
46aac4:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46aac7:	33 c1                	xor    %ecx,%eax
46aac9:	89 45 c8             	mov    %eax,-0x38(%ebp)
46aacc:	8b 45 18             	mov    0x18(%ebp),%eax
46aacf:	89 45 cc             	mov    %eax,-0x34(%ebp)
46aad2:	8b 45 0c             	mov    0xc(%ebp),%eax
46aad5:	89 45 d0             	mov    %eax,-0x30(%ebp)
46aad8:	8b 45 1c             	mov    0x1c(%ebp),%eax
46aadb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46aade:	8b 45 20             	mov    0x20(%ebp),%eax
46aae1:	89 45 d8             	mov    %eax,-0x28(%ebp)
46aae4:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
46aae8:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
46aaec:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
46aaf0:	89 65 dc             	mov    %esp,-0x24(%ebp)
46aaf3:	89 6d e0             	mov    %ebp,-0x20(%ebp)
46aaf6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46aafc:	89 45 c0             	mov    %eax,-0x40(%ebp)
46aaff:	8d 45 c0             	lea    -0x40(%ebp),%eax
46ab02:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46ab08:	8b 45 08             	mov    0x8(%ebp),%eax
46ab0b:	ff 30                	push   (%eax)
46ab0d:	e8 33 b5 02 00       	call   0x496045
46ab12:	59                   	pop    %ecx
46ab13:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ab16:	89 01                	mov    %eax,(%ecx)
46ab18:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
46ab1f:	8b 45 08             	mov    0x8(%ebp),%eax
46ab22:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ab25:	8b 45 10             	mov    0x10(%ebp),%eax
46ab28:	89 45 ec             	mov    %eax,-0x14(%ebp)
46ab2b:	e8 6c 29 00 00       	call   0x46d49c
46ab30:	8b 40 08             	mov    0x8(%eax),%eax
46ab33:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ab36:	a1 d4 e2 49 00       	mov    0x49e2d4,%eax
46ab3b:	89 45 f4             	mov    %eax,-0xc(%ebp)
46ab3e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ab41:	ff 55 f4             	call   *-0xc(%ebp)
46ab44:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ab47:	89 45 f0             	mov    %eax,-0x10(%ebp)
46ab4a:	8d 45 e8             	lea    -0x18(%ebp),%eax
46ab4d:	50                   	push   %eax
46ab4e:	8b 45 08             	mov    0x8(%ebp),%eax
46ab51:	ff 30                	push   (%eax)
46ab53:	ff 55 f0             	call   *-0x10(%ebp)
46ab56:	59                   	pop    %ecx
46ab57:	59                   	pop    %ecx
46ab58:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46ab5c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
46ab60:	74 17                	je     0x46ab79
46ab62:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
46ab69:	8b 03                	mov    (%ebx),%eax
46ab6b:	8b 5d c0             	mov    -0x40(%ebp),%ebx
46ab6e:	89 03                	mov    %eax,(%ebx)
46ab70:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
46ab77:	eb 09                	jmp    0x46ab82
46ab79:	8b 45 c0             	mov    -0x40(%ebp),%eax
46ab7c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46ab82:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ab85:	5b                   	pop    %ebx
46ab86:	c9                   	leave
46ab87:	c3                   	ret
46ab88:	55                   	push   %ebp
46ab89:	8b ec                	mov    %esp,%ebp
46ab8b:	51                   	push   %ecx
46ab8c:	53                   	push   %ebx
46ab8d:	8b 45 0c             	mov    0xc(%ebp),%eax
46ab90:	83 c0 0c             	add    $0xc,%eax
46ab93:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ab96:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
46ab9d:	8b 03                	mov    (%ebx),%eax
46ab9f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46aba5:	8b 45 08             	mov    0x8(%ebp),%eax
46aba8:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46abab:	8b 6d fc             	mov    -0x4(%ebp),%ebp
46abae:	8b 63 fc             	mov    -0x4(%ebx),%esp
46abb1:	ff e0                	jmp    *%eax
46abb3:	5b                   	pop    %ebx
46abb4:	c9                   	leave
46abb5:	c2 08 00             	ret    $0x8
46abb8:	55                   	push   %ebp
46abb9:	8b ec                	mov    %esp,%ebp
46abbb:	51                   	push   %ecx
46abbc:	51                   	push   %ecx
46abbd:	53                   	push   %ebx
46abbe:	56                   	push   %esi
46abbf:	57                   	push   %edi
46abc0:	64 8b 35 00 00 00 00 	mov    %fs:0x0,%esi
46abc7:	89 75 f8             	mov    %esi,-0x8(%ebp)
46abca:	c7 45 fc e2 ab 46 00 	movl   $0x46abe2,-0x4(%ebp)
46abd1:	6a 00                	push   $0x0
46abd3:	ff 75 0c             	push   0xc(%ebp)
46abd6:	ff 75 fc             	push   -0x4(%ebp)
46abd9:	ff 75 08             	push   0x8(%ebp)
46abdc:	ff 15 38 e2 49 00    	call   *0x49e238
46abe2:	8b 45 0c             	mov    0xc(%ebp),%eax
46abe5:	8b 40 04             	mov    0x4(%eax),%eax
46abe8:	83 e0 fd             	and    $0xfffffffd,%eax
46abeb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46abee:	89 41 04             	mov    %eax,0x4(%ecx)
46abf1:	64 8b 3d 00 00 00 00 	mov    %fs:0x0,%edi
46abf8:	8b 5d f8             	mov    -0x8(%ebp),%ebx
46abfb:	89 3b                	mov    %edi,(%ebx)
46abfd:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
46ac04:	5f                   	pop    %edi
46ac05:	5e                   	pop    %esi
46ac06:	5b                   	pop    %ebx
46ac07:	c9                   	leave
46ac08:	c2 08 00             	ret    $0x8
46ac0b:	55                   	push   %ebp
46ac0c:	8b ec                	mov    %esp,%ebp
46ac0e:	56                   	push   %esi
46ac0f:	fc                   	cld
46ac10:	8b 75 0c             	mov    0xc(%ebp),%esi
46ac13:	8b 4e 08             	mov    0x8(%esi),%ecx
46ac16:	33 ce                	xor    %esi,%ecx
46ac18:	e8 ad ed ff ff       	call   0x4699ca
46ac1d:	6a 00                	push   $0x0
46ac1f:	56                   	push   %esi
46ac20:	ff 76 14             	push   0x14(%esi)
46ac23:	ff 76 0c             	push   0xc(%esi)
46ac26:	6a 00                	push   $0x0
46ac28:	ff 75 10             	push   0x10(%ebp)
46ac2b:	ff 76 10             	push   0x10(%esi)
46ac2e:	ff 75 08             	push   0x8(%ebp)
46ac31:	e8 4b 31 00 00       	call   0x46dd81
46ac36:	83 c4 20             	add    $0x20,%esp
46ac39:	5e                   	pop    %esi
46ac3a:	5d                   	pop    %ebp
46ac3b:	c3                   	ret
46ac3c:	55                   	push   %ebp
46ac3d:	8b ec                	mov    %esp,%ebp
46ac3f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ac42:	56                   	push   %esi
46ac43:	8b 75 08             	mov    0x8(%ebp),%esi
46ac46:	89 0e                	mov    %ecx,(%esi)
46ac48:	e8 4f 28 00 00       	call   0x46d49c
46ac4d:	8b 48 24             	mov    0x24(%eax),%ecx
46ac50:	89 4e 04             	mov    %ecx,0x4(%esi)
46ac53:	e8 44 28 00 00       	call   0x46d49c
46ac58:	89 70 24             	mov    %esi,0x24(%eax)
46ac5b:	8b c6                	mov    %esi,%eax
46ac5d:	5e                   	pop    %esi
46ac5e:	5d                   	pop    %ebp
46ac5f:	c3                   	ret
46ac60:	55                   	push   %ebp
46ac61:	8b ec                	mov    %esp,%ebp
46ac63:	56                   	push   %esi
46ac64:	e8 33 28 00 00       	call   0x46d49c
46ac69:	8b 75 08             	mov    0x8(%ebp),%esi
46ac6c:	3b 70 24             	cmp    0x24(%eax),%esi
46ac6f:	75 0e                	jne    0x46ac7f
46ac71:	8b 76 04             	mov    0x4(%esi),%esi
46ac74:	e8 23 28 00 00       	call   0x46d49c
46ac79:	89 70 24             	mov    %esi,0x24(%eax)
46ac7c:	5e                   	pop    %esi
46ac7d:	5d                   	pop    %ebp
46ac7e:	c3                   	ret
46ac7f:	e8 18 28 00 00       	call   0x46d49c
46ac84:	8b 48 24             	mov    0x24(%eax),%ecx
46ac87:	83 c1 04             	add    $0x4,%ecx
46ac8a:	eb 07                	jmp    0x46ac93
46ac8c:	3b f0                	cmp    %eax,%esi
46ac8e:	74 0b                	je     0x46ac9b
46ac90:	8d 48 04             	lea    0x4(%eax),%ecx
46ac93:	8b 01                	mov    (%ecx),%eax
46ac95:	85 c0                	test   %eax,%eax
46ac97:	74 09                	je     0x46aca2
46ac99:	eb f1                	jmp    0x46ac8c
46ac9b:	8b 46 04             	mov    0x4(%esi),%eax
46ac9e:	89 01                	mov    %eax,(%ecx)
46aca0:	eb da                	jmp    0x46ac7c
46aca2:	e8 f2 7c 01 00       	call   0x482999
46aca7:	cc                   	int3
46aca8:	55                   	push   %ebp
46aca9:	8b ec                	mov    %esp,%ebp
46acab:	51                   	push   %ecx
46acac:	53                   	push   %ebx
46acad:	fc                   	cld
46acae:	8b 45 0c             	mov    0xc(%ebp),%eax
46acb1:	8b 48 08             	mov    0x8(%eax),%ecx
46acb4:	33 4d 0c             	xor    0xc(%ebp),%ecx
46acb7:	e8 0e ed ff ff       	call   0x4699ca
46acbc:	8b 45 08             	mov    0x8(%ebp),%eax
46acbf:	8b 40 04             	mov    0x4(%eax),%eax
46acc2:	83 e0 66             	and    $0x66,%eax
46acc5:	74 11                	je     0x46acd8
46acc7:	8b 45 0c             	mov    0xc(%ebp),%eax
46acca:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
46acd1:	33 c0                	xor    %eax,%eax
46acd3:	40                   	inc    %eax
46acd4:	eb 6c                	jmp    0x46ad42
46acd6:	eb 6a                	jmp    0x46ad42
46acd8:	6a 01                	push   $0x1
46acda:	8b 45 0c             	mov    0xc(%ebp),%eax
46acdd:	ff 70 18             	push   0x18(%eax)
46ace0:	8b 45 0c             	mov    0xc(%ebp),%eax
46ace3:	ff 70 14             	push   0x14(%eax)
46ace6:	8b 45 0c             	mov    0xc(%ebp),%eax
46ace9:	ff 70 0c             	push   0xc(%eax)
46acec:	6a 00                	push   $0x0
46acee:	ff 75 10             	push   0x10(%ebp)
46acf1:	8b 45 0c             	mov    0xc(%ebp),%eax
46acf4:	ff 70 10             	push   0x10(%eax)
46acf7:	ff 75 08             	push   0x8(%ebp)
46acfa:	e8 82 30 00 00       	call   0x46dd81
46acff:	83 c4 20             	add    $0x20,%esp
46ad02:	8b 45 0c             	mov    0xc(%ebp),%eax
46ad05:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
46ad09:	75 0b                	jne    0x46ad16
46ad0b:	ff 75 08             	push   0x8(%ebp)
46ad0e:	ff 75 0c             	push   0xc(%ebp)
46ad11:	e8 a2 fe ff ff       	call   0x46abb8
46ad16:	6a 00                	push   $0x0
46ad18:	6a 00                	push   $0x0
46ad1a:	6a 00                	push   $0x0
46ad1c:	6a 00                	push   $0x0
46ad1e:	6a 00                	push   $0x0
46ad20:	8d 45 fc             	lea    -0x4(%ebp),%eax
46ad23:	50                   	push   %eax
46ad24:	68 23 01 00 00       	push   $0x123
46ad29:	e8 64 fd ff ff       	call   0x46aa92
46ad2e:	83 c4 1c             	add    $0x1c,%esp
46ad31:	8b 45 fc             	mov    -0x4(%ebp),%eax
46ad34:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ad37:	8b 63 1c             	mov    0x1c(%ebx),%esp
46ad3a:	8b 6b 20             	mov    0x20(%ebx),%ebp
46ad3d:	ff e0                	jmp    *%eax
46ad3f:	33 c0                	xor    %eax,%eax
46ad41:	40                   	inc    %eax
46ad42:	5b                   	pop    %ebx
46ad43:	c9                   	leave
46ad44:	c3                   	ret
46ad45:	55                   	push   %ebp
46ad46:	8b ec                	mov    %esp,%ebp
46ad48:	83 ec 08             	sub    $0x8,%esp
46ad4b:	53                   	push   %ebx
46ad4c:	56                   	push   %esi
46ad4d:	57                   	push   %edi
46ad4e:	fc                   	cld
46ad4f:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ad52:	33 c0                	xor    %eax,%eax
46ad54:	50                   	push   %eax
46ad55:	50                   	push   %eax
46ad56:	50                   	push   %eax
46ad57:	ff 75 fc             	push   -0x4(%ebp)
46ad5a:	ff 75 14             	push   0x14(%ebp)
46ad5d:	ff 75 10             	push   0x10(%ebp)
46ad60:	ff 75 0c             	push   0xc(%ebp)
46ad63:	ff 75 08             	push   0x8(%ebp)
46ad66:	e8 16 30 00 00       	call   0x46dd81
46ad6b:	83 c4 20             	add    $0x20,%esp
46ad6e:	89 45 f8             	mov    %eax,-0x8(%ebp)
46ad71:	5f                   	pop    %edi
46ad72:	5e                   	pop    %esi
46ad73:	5b                   	pop    %ebx
46ad74:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ad77:	8b e5                	mov    %ebp,%esp