46eb84:	e8 55 92 fa ff       	call   0x417dde
46eb89:	85 c0                	test   %eax,%eax
46eb8b:	59                   	pop    %ecx
46eb8c:	59                   	pop    %ecx
46eb8d:	75 9b                	jne    0x46eb2a
46eb8f:	5b                   	pop    %ebx
46eb90:	5f                   	pop    %edi
46eb91:	56                   	push   %esi
46eb92:	e8 07 78 fa ff       	call   0x41639e
46eb97:	33 c0                	xor    %eax,%eax
46eb99:	59                   	pop    %ecx
46eb9a:	40                   	inc    %eax
46eb9b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46eb9e:	5e                   	pop    %esi
46eb9f:	e8 3a 90 fa ff       	call   0x417bde
46eba4:	c9                   	leave
46eba5:	c2 04 00             	ret    $0x4
46eba8:	56                   	push   %esi
46eba9:	8b f1                	mov    %ecx,%esi
46ebab:	6a 0a                	push   $0xa
46ebad:	8d 4e 04             	lea    0x4(%esi),%ecx
46ebb0:	c7 06 14 c2 48 00    	movl   $0x48c214,(%esi)
46ebb6:	e8 c8 da fc ff       	call   0x43c683
46ebbb:	8b c6                	mov    %esi,%eax
46ebbd:	5e                   	pop    %esi
46ebbe:	c3                   	ret
46ebbf:	56                   	push   %esi
46ebc0:	8b f1                	mov    %ecx,%esi
46ebc2:	e8 46 23 01 00       	call   0x480f0d
46ebc7:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
46ebcc:	74 07                	je     0x46ebd5
46ebce:	56                   	push   %esi
46ebcf:	e8 ac 14 fd ff       	call   0x440080
46ebd4:	59                   	pop    %ecx
46ebd5:	8b c6                	mov    %esi,%eax
46ebd7:	5e                   	pop    %esi
46ebd8:	c2 04 00             	ret    $0x4
46ebdb:	56                   	push   %esi
46ebdc:	8b f1                	mov    %ecx,%esi
46ebde:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46ebe2:	85 c9                	test   %ecx,%ecx
46ebe4:	7c 1f                	jl     0x46ec05
46ebe6:	8b 06                	mov    (%esi),%eax
46ebe8:	3b 48 f4             	cmp    -0xc(%eax),%ecx
46ebeb:	7d 18                	jge    0x46ec05
46ebed:	0f b6 54 24 08       	movzbl 0x8(%esp),%edx
46ebf2:	52                   	push   %edx
46ebf3:	03 c1                	add    %ecx,%eax
46ebf5:	50                   	push   %eax
46ebf6:	e8 a5 96 fa ff       	call   0x4182a0
46ebfb:	85 c0                	test   %eax,%eax
46ebfd:	59                   	pop    %ecx
46ebfe:	59                   	pop    %ecx
46ebff:	74 04                	je     0x46ec05
46ec01:	2b 06                	sub    (%esi),%eax
46ec03:	eb 03                	jmp    0x46ec08
46ec05:	83 c8 ff             	or     $0xffffffff,%eax
46ec08:	5e                   	pop    %esi
46ec09:	c2 08 00             	ret    $0x8
46ec0c:	8b 44 24 08          	mov    0x8(%esp),%eax
46ec10:	8b 00                	mov    (%eax),%eax
46ec12:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46ec16:	8b 09                	mov    (%ecx),%ecx
46ec18:	50                   	push   %eax
46ec19:	51                   	push   %ecx
46ec1a:	e8 39 9e fa ff       	call   0x418a58
46ec1f:	f7 d8                	neg    %eax
46ec21:	59                   	pop    %ecx
46ec22:	1b c0                	sbb    %eax,%eax
46ec24:	59                   	pop    %ecx
46ec25:	40                   	inc    %eax
46ec26:	c3                   	ret
46ec27:	8b 44 24 08          	mov    0x8(%esp),%eax
46ec2b:	8b 00                	mov    (%eax),%eax
46ec2d:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46ec31:	8b 09                	mov    (%ecx),%ecx
46ec33:	50                   	push   %eax
46ec34:	51                   	push   %ecx
46ec35:	e8 1e 9e fa ff       	call   0x418a58
46ec3a:	f7 d8                	neg    %eax
46ec3c:	59                   	pop    %ecx
46ec3d:	1b c0                	sbb    %eax,%eax
46ec3f:	59                   	pop    %ecx
46ec40:	f7 d8                	neg    %eax
46ec42:	c3                   	ret
46ec43:	8b 44 24 04          	mov    0x4(%esp),%eax
46ec47:	8b 00                	mov    (%eax),%eax
46ec49:	ff 74 24 08          	push   0x8(%esp)
46ec4d:	50                   	push   %eax
46ec4e:	e8 05 9e fa ff       	call   0x418a58
46ec53:	f7 d8                	neg    %eax
46ec55:	59                   	pop    %ecx
46ec56:	1b c0                	sbb    %eax,%eax
46ec58:	59                   	pop    %ecx
46ec59:	f7 d8                	neg    %eax
46ec5b:	c3                   	ret
46ec5c:	55                   	push   %ebp
46ec5d:	8b ec                	mov    %esp,%ebp
46ec5f:	51                   	push   %ecx
46ec60:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ec64:	53                   	push   %ebx
46ec65:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ec68:	85 db                	test   %ebx,%ebx
46ec6a:	56                   	push   %esi
46ec6b:	57                   	push   %edi
46ec6c:	7d 02                	jge    0x46ec70
46ec6e:	33 db                	xor    %ebx,%ebx
46ec70:	8b 31                	mov    (%ecx),%esi
46ec72:	8b 7e f4             	mov    -0xc(%esi),%edi
46ec75:	3b df                	cmp    %edi,%ebx
46ec77:	7c 0b                	jl     0x46ec84
46ec79:	51                   	push   %ecx
46ec7a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ec7d:	e8 50 24 f9 ff       	call   0x4010d2
46ec82:	eb 17                	jmp    0x46ec9b
46ec84:	8b 4e f0             	mov    -0x10(%esi),%ecx
46ec87:	8b 01                	mov    (%ecx),%eax
46ec89:	ff 50 10             	call   *0x10(%eax)
46ec8c:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ec8f:	50                   	push   %eax
46ec90:	2b f3                	sub    %ebx,%esi
46ec92:	53                   	push   %ebx
46ec93:	03 f7                	add    %edi,%esi
46ec95:	56                   	push   %esi
46ec96:	e8 d6 ce ff ff       	call   0x46bb71
46ec9b:	8b 45 08             	mov    0x8(%ebp),%eax
46ec9e:	5f                   	pop    %edi
46ec9f:	5e                   	pop    %esi
46eca0:	5b                   	pop    %ebx
46eca1:	c9                   	leave
46eca2:	c2 08 00             	ret    $0x8
46eca5:	53                   	push   %ebx
46eca6:	8b 5c 24 08          	mov    0x8(%esp),%ebx
46ecaa:	85 db                	test   %ebx,%ebx
46ecac:	56                   	push   %esi
46ecad:	57                   	push   %edi
46ecae:	8b f1                	mov    %ecx,%esi
46ecb0:	7c 23                	jl     0x46ecd5
46ecb2:	8b 06                	mov    (%esi),%eax
46ecb4:	8b 78 f4             	mov    -0xc(%eax),%edi
46ecb7:	3b df                	cmp    %edi,%ebx
46ecb9:	7d 1a                	jge    0x46ecd5
46ecbb:	e8 5e 88 f9 ff       	call   0x40751e
46ecc0:	8a 4c 24 14          	mov    0x14(%esp),%cl
46ecc4:	88 0c 18             	mov    %cl,(%eax,%ebx,1)
46ecc7:	57                   	push   %edi
46ecc8:	8b ce                	mov    %esi,%ecx
46ecca:	e8 c6 24 f9 ff       	call   0x401195
46eccf:	5f                   	pop    %edi
46ecd0:	5e                   	pop    %esi
46ecd1:	5b                   	pop    %ebx
46ecd2:	c2 08 00             	ret    $0x8
46ecd5:	68 57 00 07 80       	push   $0x80070057
46ecda:	e8 0b 25 f9 ff       	call   0x4011ea
46ecdf:	cc                   	int3
46ece0:	55                   	push   %ebp
46ece1:	8b ec                	mov    %esp,%ebp
46ece3:	51                   	push   %ecx
46ece4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ece8:	53                   	push   %ebx
46ece9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46ecec:	85 db                	test   %ebx,%ebx
46ecee:	56                   	push   %esi
46ecef:	57                   	push   %edi
46ecf0:	7d 02                	jge    0x46ecf4
46ecf2:	33 db                	xor    %ebx,%ebx
46ecf4:	8b 7d 10             	mov    0x10(%ebp),%edi
46ecf7:	85 ff                	test   %edi,%edi
46ecf9:	7d 02                	jge    0x46ecfd
46ecfb:	33 ff                	xor    %edi,%edi
46ecfd:	8b 31                	mov    (%ecx),%esi
46ecff:	8b 46 f4             	mov    -0xc(%esi),%eax
46ed02:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
46ed05:	3b d0                	cmp    %eax,%edx
46ed07:	7e 04                	jle    0x46ed0d
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)