46ed09:	8b f8                	mov    %eax,%edi
46ed0b:	2b fb                	sub    %ebx,%edi
46ed0d:	3b d8                	cmp    %eax,%ebx
46ed0f:	7e 02                	jle    0x46ed13
46ed11:	33 ff                	xor    %edi,%edi
46ed13:	85 db                	test   %ebx,%ebx
46ed15:	75 0f                	jne    0x46ed26
46ed17:	3b f8                	cmp    %eax,%edi
46ed19:	75 0b                	jne    0x46ed26
46ed1b:	51                   	push   %ecx
46ed1c:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ed1f:	e8 ae 23 f9 ff       	call   0x4010d2
46ed24:	eb 15                	jmp    0x46ed3b
46ed26:	8b 4e f0             	mov    -0x10(%esi),%ecx
46ed29:	8b 01                	mov    (%ecx),%eax
46ed2b:	ff 50 10             	call   *0x10(%eax)
46ed2e:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ed31:	50                   	push   %eax
46ed32:	57                   	push   %edi
46ed33:	03 f3                	add    %ebx,%esi
46ed35:	56                   	push   %esi
46ed36:	e8 36 ce ff ff       	call   0x46bb71
46ed3b:	8b 45 08             	mov    0x8(%ebp),%eax
46ed3e:	5f                   	pop    %edi
46ed3f:	5e                   	pop    %esi
46ed40:	5b                   	pop    %ebx
46ed41:	c9                   	leave
46ed42:	c2 0c 00             	ret    $0xc
46ed45:	55                   	push   %ebp
46ed46:	8b ec                	mov    %esp,%ebp
46ed48:	51                   	push   %ecx
46ed49:	51                   	push   %ecx
46ed4a:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46ed4e:	56                   	push   %esi
46ed4f:	8b 75 10             	mov    0x10(%ebp),%esi
46ed52:	8b 16                	mov    (%esi),%edx
46ed54:	85 d2                	test   %edx,%edx
46ed56:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46ed59:	7d 0a                	jge    0x46ed65
46ed5b:	68 57 00 07 80       	push   $0x80070057
46ed60:	e8 85 24 f9 ff       	call   0x4011ea
46ed65:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46ed69:	75 0b                	jne    0x46ed76
46ed6b:	51                   	push   %ecx
46ed6c:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ed6f:	e8 5e 23 f9 ff       	call   0x4010d2
46ed74:	eb 64                	jmp    0x46edda
46ed76:	8b 01                	mov    (%ecx),%eax
46ed78:	53                   	push   %ebx
46ed79:	57                   	push   %edi
46ed7a:	8b 78 f4             	mov    -0xc(%eax),%edi
46ed7d:	8d 1c 10             	lea    (%eax,%edx,1),%ebx
46ed80:	03 f8                	add    %eax,%edi
46ed82:	3b df                	cmp    %edi,%ebx
46ed84:	73 39                	jae    0x46edbf
46ed86:	ff 75 0c             	push   0xc(%ebp)
46ed89:	53                   	push   %ebx
46ed8a:	e8 8b b7 fa ff       	call   0x41a51a
46ed8f:	03 d8                	add    %eax,%ebx
46ed91:	3b df                	cmp    %edi,%ebx
46ed93:	59                   	pop    %ecx
46ed94:	59                   	pop    %ecx
46ed95:	89 45 10             	mov    %eax,0x10(%ebp)
46ed98:	73 25                	jae    0x46edbf
46ed9a:	ff 75 0c             	push   0xc(%ebp)
46ed9d:	53                   	push   %ebx
46ed9e:	e8 15 b8 fa ff       	call   0x41a5b8
46eda3:	59                   	pop    %ecx
46eda4:	59                   	pop    %ecx
46eda5:	8b 0e                	mov    (%esi),%ecx
46eda7:	03 4d 10             	add    0x10(%ebp),%ecx
46edaa:	50                   	push   %eax
46edab:	51                   	push   %ecx
46edac:	ff 75 08             	push   0x8(%ebp)
46edaf:	8d 54 01 01          	lea    0x1(%ecx,%eax,1),%edx
46edb3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46edb6:	89 16                	mov    %edx,(%esi)
46edb8:	e8 23 ff ff ff       	call   0x46ece0
46edbd:	eb 19                	jmp    0x46edd8
46edbf:	83 0e ff             	orl    $0xffffffff,(%esi)
46edc2:	8b 45 fc             	mov    -0x4(%ebp),%eax
46edc5:	8b 00                	mov    (%eax),%eax
46edc7:	8b 48 f0             	mov    -0x10(%eax),%ecx
46edca:	8b 01                	mov    (%ecx),%eax
46edcc:	ff 50 10             	call   *0x10(%eax)
46edcf:	8b 4d 08             	mov    0x8(%ebp),%ecx
46edd2:	50                   	push   %eax
46edd3:	e8 98 25 f9 ff       	call   0x401370
46edd8:	5f                   	pop    %edi
46edd9:	5b                   	pop    %ebx
46edda:	8b 45 08             	mov    0x8(%ebp),%eax
46eddd:	5e                   	pop    %esi
46edde:	c9                   	leave
46eddf:	c2 0c 00             	ret    $0xc
46ede2:	55                   	push   %ebp
46ede3:	8b ec                	mov    %esp,%ebp
46ede5:	51                   	push   %ecx
46ede6:	8b 01                	mov    (%ecx),%eax
46ede8:	8b 40 f4             	mov    -0xc(%eax),%eax
46edeb:	2b 45 0c             	sub    0xc(%ebp),%eax
46edee:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46edf2:	50                   	push   %eax
46edf3:	ff 75 0c             	push   0xc(%ebp)
46edf6:	ff 75 08             	push   0x8(%ebp)
46edf9:	e8 e2 fe ff ff       	call   0x46ece0
46edfe:	8b 45 08             	mov    0x8(%ebp),%eax
46ee01:	c9                   	leave
46ee02:	c2 08 00             	ret    $0x8
46ee05:	b8 73 33 48 00       	mov    $0x483373,%eax
46ee0a:	e8 6d 8e fa ff       	call   0x417c7c
46ee0f:	83 ec 20             	sub    $0x20,%esp
46ee12:	56                   	push   %esi
46ee13:	8b f1                	mov    %ecx,%esi
46ee15:	e8 dc 13 fd ff       	call   0x4401f6
46ee1a:	8b 10                	mov    (%eax),%edx
46ee1c:	8b c8                	mov    %eax,%ecx
46ee1e:	ff 52 0c             	call   *0xc(%edx)
46ee21:	83 c0 10             	add    $0x10,%eax
46ee24:	89 45 dc             	mov    %eax,-0x24(%ebp)
46ee27:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ee2b:	e8 c6 13 fd ff       	call   0x4401f6
46ee30:	8b 10                	mov    (%eax),%edx
46ee32:	8b c8                	mov    %eax,%ecx
46ee34:	ff 52 0c             	call   *0xc(%edx)
46ee37:	83 c0 10             	add    $0x10,%eax
46ee3a:	89 45 f0             	mov    %eax,-0x10(%ebp)
46ee3d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46ee41:	e8 bb ea ff ff       	call   0x46d901
46ee46:	8b 40 08             	mov    0x8(%eax),%eax
46ee49:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46ee4c:	51                   	push   %ecx
46ee4d:	50                   	push   %eax
46ee4e:	e8 89 9c fd ff       	call   0x448adc
46ee53:	8b 46 08             	mov    0x8(%esi),%eax
46ee56:	85 c0                	test   %eax,%eax
46ee58:	89 45 e0             	mov    %eax,-0x20(%ebp)
46ee5b:	0f 84 43 02 00 00    	je     0x46f0a4
46ee61:	53                   	push   %ebx
46ee62:	83 c6 04             	add    $0x4,%esi
46ee65:	57                   	push   %edi
46ee66:	89 75 d8             	mov    %esi,-0x28(%ebp)
46ee69:	bb 74 c0 48 00       	mov    $0x48c074,%ebx
46ee6e:	bf 4c c0 48 00       	mov    $0x48c04c,%edi
46ee73:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46ee76:	8d 45 e0             	lea    -0x20(%ebp),%eax
46ee79:	50                   	push   %eax
46ee7a:	e8 e3 85 f9 ff       	call   0x407462
46ee7f:	8b 30                	mov    (%eax),%esi
46ee81:	e8 70 13 fd ff       	call   0x4401f6
46ee86:	8b 10                	mov    (%eax),%edx
46ee88:	8b c8                	mov    %eax,%ecx
46ee8a:	ff 52 0c             	call   *0xc(%edx)
46ee8d:	83 c0 10             	add    $0x10,%eax
46ee90:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ee93:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46ee97:	e8 5a 13 fd ff       	call   0x4401f6
46ee9c:	8b 10                	mov    (%eax),%edx
46ee9e:	8b c8                	mov    %eax,%ecx
46eea0:	ff 52 0c             	call   *0xc(%edx)
46eea3:	83 c0 10             	add    $0x10,%eax
46eea6:	89 45 ec             	mov    %eax,-0x14(%ebp)
46eea9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46eead:	e8 44 13 fd ff       	call   0x4401f6
46eeb2:	8b 10                	mov    (%eax),%edx
46eeb4:	8b c8                	mov    %eax,%ecx
46eeb6:	ff 52 0c             	call   *0xc(%edx)
46eeb9:	83 c0 10             	add    $0x10,%eax
46eebc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46eebf:	8b 06                	mov    (%esi),%eax
46eec1:	6a 05                	push   $0x5
46eec3:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46eec6:	51                   	push   %ecx
46eec7:	8b ce                	mov    %esi,%ecx
46eec9:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46eecd:	ff 50 64             	call   *0x64(%eax)
46eed0:	85 c0                	test   %eax,%eax
46eed2:	0f 84 9b 01 00 00    	je     0x46f073
46eed8:	8b 45 ec             	mov    -0x14(%ebp),%eax
46eedb:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46eedf:	0f 84 8e 01 00 00    	je     0x46f073
46eee5:	8b 06                	mov    (%esi),%eax
46eee7:	6a 06                	push   $0x6
46eee9:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46eeec:	51                   	push   %ecx
46eeed:	8b ce                	mov    %esi,%ecx
46eeef:	ff 50 64             	call   *0x64(%eax)
46eef2:	85 c0                	test   %eax,%eax
46eef4:	75 0c                	jne    0x46ef02
46eef6:	8d 45 ec             	lea    -0x14(%ebp),%eax
46eef9:	50                   	push   %eax
46eefa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46eefd:	e8 f1 23 f9 ff       	call   0x4012f3
46ef02:	ff 75 ec             	push   -0x14(%ebp)
46ef05:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef08:	68 64 c0 48 00       	push   $0x48c064
46ef0d:	50                   	push   %eax
46ef0e:	e8 2e 21 f9 ff       	call   0x401041
46ef13:	83 c4 0c             	add    $0xc,%esp
46ef16:	ff 75 f0             	push   -0x10(%ebp)
46ef19:	e8 d5 fb ff ff       	call   0x46eaf3
46ef1e:	8b 06                	mov    (%esi),%eax
46ef20:	6a 00                	push   $0x0
46ef22:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46ef25:	51                   	push   %ecx
46ef26:	8b ce                	mov    %esi,%ecx
46ef28:	ff 50 64             	call   *0x64(%eax)
46ef2b:	85 c0                	test   %eax,%eax
46ef2d:	74 09                	je     0x46ef38
46ef2f:	8b 45 f0             	mov    -0x10(%ebp),%eax
46ef32:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46ef36:	75 5f                	jne    0x46ef97
46ef38:	68 0c c0 48 00       	push   $0x48c00c
46ef3d:	ff 75 ec             	push   -0x14(%ebp)
46ef40:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef43:	68 9c c0 48 00       	push   $0x48c09c
46ef48:	50                   	push   %eax
46ef49:	e8 f3 20 f9 ff       	call   0x401041
46ef4e:	83 c4 10             	add    $0x10,%esp
46ef51:	ff 75 f0             	push   -0x10(%ebp)
46ef54:	e8 9a fb ff ff       	call   0x46eaf3
46ef59:	68 0c c0 48 00       	push   $0x48c00c
46ef5e:	ff 75 ec             	push   -0x14(%ebp)
46ef61:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef64:	68 88 c0 48 00       	push   $0x48c088
46ef69:	50                   	push   %eax
46ef6a:	e8 d2 20 f9 ff       	call   0x401041
46ef6f:	83 c4 10             	add    $0x10,%esp
46ef72:	ff 75 f0             	push   -0x10(%ebp)
46ef75:	e8 79 fb ff ff       	call   0x46eaf3
46ef7a:	68 0c c0 48 00       	push   $0x48c00c
46ef7f:	ff 75 ec             	push   -0x14(%ebp)
46ef82:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef85:	53                   	push   %ebx
46ef86:	50                   	push   %eax
46ef87:	e8 b5 20 f9 ff       	call   0x401041
46ef8c:	83 c4 10             	add    $0x10,%esp
46ef8f:	ff 75 f0             	push   -0x10(%ebp)
46ef92:	e8 5c fb ff ff       	call   0x46eaf3
46ef97:	57                   	push   %edi
46ef98:	ff 75 ec             	push   -0x14(%ebp)
46ef9b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46ef9e:	68 9c c0 48 00       	push   $0x48c09c
46efa3:	50                   	push   %eax
46efa4:	e8 98 20 f9 ff       	call   0x401041
46efa9:	83 c4 10             	add    $0x10,%esp
46efac:	ff 75 f0             	push   -0x10(%ebp)
46efaf:	e8 3f fb ff ff       	call   0x46eaf3
46efb4:	57                   	push   %edi
46efb5:	ff 75 ec             	push   -0x14(%ebp)
46efb8:	8d 45 f0             	lea    -0x10(%ebp),%eax
46efbb:	68 88 c0 48 00       	push   $0x48c088
46efc0:	50                   	push   %eax
46efc1:	e8 7b 20 f9 ff       	call   0x401041
46efc6:	83 c4 10             	add    $0x10,%esp
46efc9:	ff 75 f0             	push   -0x10(%ebp)
46efcc:	e8 22 fb ff ff       	call   0x46eaf3
46efd1:	57                   	push   %edi
46efd2:	ff 75 ec             	push   -0x14(%ebp)
46efd5:	8d 45 f0             	lea    -0x10(%ebp),%eax
46efd8:	53                   	push   %ebx
46efd9:	50                   	push   %eax
46efda:	e8 62 20 f9 ff       	call   0x401041
46efdf:	83 c4 10             	add    $0x10,%esp
46efe2:	ff 75 f0             	push   -0x10(%ebp)
46efe5:	e8 09 fb ff ff       	call   0x46eaf3
46efea:	8b 06                	mov    (%esi),%eax
46efec:	6a 04                	push   $0x4
46efee:	8d 4d e8             	lea    -0x18(%ebp),%ecx
46eff1:	51                   	push   %ecx
46eff2:	8b ce                	mov    %esi,%ecx
46eff4:	ff 50 64             	call   *0x64(%eax)
46eff7:	8b 45 e8             	mov    -0x18(%ebp),%eax
46effa:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
46effe:	74 73                	je     0x46f073
46f000:	8b f0                	mov    %eax,%esi
46f002:	8d 45 d4             	lea    -0x2c(%ebp),%eax
46f005:	b9 08 02 00 00       	mov    $0x208,%ecx
46f00a:	50                   	push   %eax
46f00b:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
46f00e:	51                   	push   %ecx
46f00f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f012:	e8 79 21 f9 ff       	call   0x401190
46f017:	50                   	push   %eax
46f018:	56                   	push   %esi
46f019:	68 00 00 00 80       	push   $0x80000000
46f01e:	ff 15 98 fe 4a 00    	call   *0x4afe98
46f024:	6a ff                	push   $0xffffffff
46f026:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f029:	8b f0                	mov    %eax,%esi
46f02b:	e8 f7 20 f9 ff       	call   0x401127
46f030:	85 f6                	test   %esi,%esi
46f032:	75 1b                	jne    0x46f04f
46f034:	8b 45 f0             	mov    -0x10(%ebp),%eax
46f037:	39 70 f4             	cmp    %esi,-0xc(%eax)
46f03a:	74 13                	je     0x46f04f
46f03c:	8d 45 ec             	lea    -0x14(%ebp),%eax
46f03f:	50                   	push   %eax
46f040:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f043:	50                   	push   %eax
46f044:	e8 c3 fb ff ff       	call   0x46ec0c
46f049:	84 c0                	test   %al,%al
46f04b:	59                   	pop    %ecx
46f04c:	59                   	pop    %ecx
46f04d:	74 24                	je     0x46f073
46f04f:	ff 75 e8             	push   -0x18(%ebp)
46f052:	8d 45 f0             	lea    -0x10(%ebp),%eax
46f055:	68 58 c0 48 00       	push   $0x48c058
46f05a:	50                   	push   %eax
46f05b:	e8 e1 1f f9 ff       	call   0x401041
46f060:	83 c4 0c             	add    $0xc,%esp
46f063:	ff 75 f0             	push   -0x10(%ebp)
46f066:	e8 88 fa ff ff       	call   0x46eaf3
46f06b:	ff 75 e8             	push   -0x18(%ebp)
46f06e:	e8 80 fa ff ff       	call   0x46eaf3
46f073:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
46f076:	83 c1 f0             	add    $0xfffffff0,%ecx
46f079:	e8 d4 22 f9 ff       	call   0x401352
46f07e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46f081:	83 c1 f0             	add    $0xfffffff0,%ecx
46f084:	e8 c9 22 f9 ff       	call   0x401352
46f089:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46f08c:	83 c1 f0             	add    $0xfffffff0,%ecx
46f08f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46f093:	e8 ba 22 f9 ff       	call   0x401352
46f098:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
46f09c:	0f 85 d1 fd ff ff    	jne    0x46ee73
46f0a2:	5f                   	pop    %edi
46f0a3:	5b                   	pop    %ebx
46f0a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46f0a7:	83 c1 f0             	add    $0xfffffff0,%ecx
46f0aa:	e8 a3 22 f9 ff       	call   0x401352
46f0af:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46f0b2:	83 c1 f0             	add    $0xfffffff0,%ecx
46f0b5:	e8 98 22 f9 ff       	call   0x401352
46f0ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46f0bd:	5e                   	pop    %esi
46f0be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46f0c5:	c9                   	leave
46f0c6:	c3                   	ret
46f0c7:	b8 f7 33 48 00       	mov    $0x4833f7,%eax
46f0cc:	e8 ab 8b fa ff       	call   0x417c7c
46f0d1:	83 ec 38             	sub    $0x38,%esp
46f0d4:	56                   	push   %esi
46f0d5:	8b f1                	mov    %ecx,%esi
46f0d7:	e8 1a 11 fd ff       	call   0x4401f6
46f0dc:	8b 10                	mov    (%eax),%edx
46f0de:	8b c8                	mov    %eax,%ecx
46f0e0:	ff 52 0c             	call   *0xc(%edx)
46f0e3:	83 c0 10             	add    $0x10,%eax
46f0e6:	89 45 d4             	mov    %eax,-0x2c(%ebp)