46ea91:	83 c4 04             	add    $0x4,%esp
46ea94:	c7 40 20 00 00 00 00 	movl   $0x0,0x20(%eax)
46ea9b:	8b 86 6c 03 00 00    	mov    0x36c(%esi),%eax
46eaa1:	6a 28                	push   $0x28
46eaa3:	50                   	push   %eax
46eaa4:	e8 c9 25 17 00       	call   0x5e1072
46eaa9:	83 c4 08             	add    $0x8,%esp
46eaac:	c7 86 6c 03 00 00 00 	movl   $0x0,0x36c(%esi)
46eab3:	00 00 00
46eab6:	5e                   	pop    %esi
46eab7:	c3                   	ret
46eab8:	cc                   	int3
46eab9:	cc                   	int3
46eaba:	cc                   	int3
46eabb:	cc                   	int3
46eabc:	cc                   	int3
46eabd:	cc                   	int3
46eabe:	cc                   	int3
46eabf:	cc                   	int3
46eac0:	55                   	push   %ebp
46eac1:	8b ec                	mov    %esp,%ebp
46eac3:	6a ff                	push   $0xffffffff
46eac5:	68 48 21 65 00       	push   $0x652148
46eaca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46ead0:	50                   	push   %eax
46ead1:	53                   	push   %ebx
46ead2:	56                   	push   %esi
46ead3:	57                   	push   %edi
46ead4:	a1 d4 89 72 00       	mov    0x7289d4,%eax
46ead9:	33 c5                	xor    %ebp,%eax
46eadb:	50                   	push   %eax
46eadc:	8d 45 f4             	lea    -0xc(%ebp),%eax
46eadf:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46eae5:	8b 7d 20             	mov    0x20(%ebp),%edi
46eae8:	8b 75 24             	mov    0x24(%ebp),%esi
46eaeb:	68 04 12 69 00       	push   $0x691204
46eaf0:	6a 04                	push   $0x4
46eaf2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46eaf9:	e8 82 bd 00 00       	call   0x47a880
46eafe:	8b 15 c8 19 71 00    	mov    0x7119c8,%edx
46eb04:	83 c4 08             	add    $0x8,%esp
46eb07:	8b ca                	mov    %edx,%ecx
46eb09:	8d 59 01             	lea    0x1(%ecx),%ebx
46eb0c:	0f 1f 40 00          	nopl   0x0(%eax)
46eb10:	8a 01                	mov    (%ecx),%al
46eb12:	41                   	inc    %ecx
46eb13:	84 c0                	test   %al,%al
46eb15:	75 f9                	jne    0x46eb10
46eb17:	2b cb                	sub    %ebx,%ecx
46eb19:	51                   	push   %ecx
46eb1a:	52                   	push   %edx
46eb1b:	8b ce                	mov    %esi,%ecx
46eb1d:	e8 9e 65 fd ff       	call   0x4450c0
46eb22:	83 7d 1c 10          	cmpl   $0x10,0x1c(%ebp)
46eb26:	8d 45 08             	lea    0x8(%ebp),%eax
46eb29:	ff 75 18             	push   0x18(%ebp)
46eb2c:	0f 43 45 08          	cmovae 0x8(%ebp),%eax
46eb30:	8b ce                	mov    %esi,%ecx
46eb32:	50                   	push   %eax
46eb33:	e8 88 65 fd ff       	call   0x4450c0
46eb38:	8b 0c bd 88 19 71 00 	mov    0x711988(,%edi,4),%ecx
46eb3f:	8b c1                	mov    %ecx,%eax
46eb41:	8d 78 01             	lea    0x1(%eax),%edi
46eb44:	8a 10                	mov    (%eax),%dl
46eb46:	40                   	inc    %eax
46eb47:	84 d2                	test   %dl,%dl
46eb49:	75 f9                	jne    0x46eb44
46eb4b:	2b c7                	sub    %edi,%eax
46eb4d:	50                   	push   %eax
46eb4e:	51                   	push   %ecx
46eb4f:	8b ce                	mov    %esi,%ecx
46eb51:	e8 6a 65 fd ff       	call   0x4450c0
46eb56:	8b 55 1c             	mov    0x1c(%ebp),%edx
46eb59:	83 fa 10             	cmp    $0x10,%edx
46eb5c:	72 28                	jb     0x46eb86
46eb5e:	8b 4d 08             	mov    0x8(%ebp),%ecx
46eb61:	42                   	inc    %edx
46eb62:	8b c1                	mov    %ecx,%eax
46eb64:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46eb6a:	72 10                	jb     0x46eb7c
46eb6c:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46eb6f:	83 c2 23             	add    $0x23,%edx
46eb72:	2b c1                	sub    %ecx,%eax
46eb74:	83 c0 fc             	add    $0xfffffffc,%eax
46eb77:	83 f8 1f             	cmp    $0x1f,%eax
46eb7a:	77 1e                	ja     0x46eb9a
46eb7c:	52                   	push   %edx
46eb7d:	51                   	push   %ecx
46eb7e:	e8 ef 24 17 00       	call   0x5e1072
46eb83:	83 c4 08             	add    $0x8,%esp
46eb86:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46eb89:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46eb90:	59                   	pop    %ecx
46eb91:	5f                   	pop    %edi
46eb92:	5e                   	pop    %esi
46eb93:	5b                   	pop    %ebx
46eb94:	8b e5                	mov    %ebp,%esp
46eb96:	5d                   	pop    %ebp
46eb97:	c2 20 00             	ret    $0x20
46eb9a:	e8 90 e3 17 00       	call   0x5ecf2f
46eb9f:	cc                   	int3
46eba0:	55                   	push   %ebp
46eba1:	8b ec                	mov    %esp,%ebp
46eba3:	83 ec 38             	sub    $0x38,%esp
46eba6:	8b 45 08             	mov    0x8(%ebp),%eax
46eba9:	57                   	push   %edi
46ebaa:	8b f9                	mov    %ecx,%edi
46ebac:	89 7d f8             	mov    %edi,-0x8(%ebp)
46ebaf:	85 c0                	test   %eax,%eax
46ebb1:	0f 84 34 05 00 00    	je     0x46f0eb
46ebb7:	53                   	push   %ebx
46ebb8:	56                   	push   %esi
46ebb9:	8b 70 04             	mov    0x4(%eax),%esi
46ebbc:	33 c9                	xor    %ecx,%ecx
46ebbe:	2b 30                	sub    (%eax),%esi
46ebc0:	b8 d3 20 0d d2       	mov    $0xd20d20d3,%eax
46ebc5:	f7 ee                	imul   %esi
46ebc7:	03 d6                	add    %esi,%edx
46ebc9:	c1 fa 07             	sar    $0x7,%edx
46ebcc:	8b da                	mov    %edx,%ebx
46ebce:	c1 eb 1f             	shr    $0x1f,%ebx
46ebd1:	03 da                	add    %edx,%ebx
46ebd3:	ba 04 00 00 00       	mov    $0x4,%edx
46ebd8:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
46ebdb:	8d 43 01             	lea    0x1(%ebx),%eax
46ebde:	f7 e2                	mul    %edx
46ebe0:	0f 90 c1             	seto   %cl
46ebe3:	f7 d9                	neg    %ecx
46ebe5:	0b c8                	or     %eax,%ecx
46ebe7:	51                   	push   %ecx
46ebe8:	e8 93 24 17 00       	call   0x5e1080
46ebed:	8b 55 08             	mov    0x8(%ebp),%edx
46ebf0:	83 c4 04             	add    $0x4,%esp
46ebf3:	89 87 ac 03 00 00    	mov    %eax,0x3ac(%edi)
46ebf9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46ec00:	8b 32                	mov    (%edx),%esi
46ec02:	8b 42 04             	mov    0x4(%edx),%eax
46ec05:	89 75 d8             	mov    %esi,-0x28(%ebp)
46ec08:	89 45 c8             	mov    %eax,-0x38(%ebp)
46ec0b:	85 db                	test   %ebx,%ebx
46ec0d:	0f 84 90 04 00 00    	je     0x46f0a3
46ec13:	33 c9                	xor    %ecx,%ecx
46ec15:	8d 5e 44             	lea    0x44(%esi),%ebx
46ec18:	89 4d e0             	mov    %ecx,-0x20(%ebp)
46ec1b:	89 5d ec             	mov    %ebx,-0x14(%ebp)
46ec1e:	66 90                	xchg   %ax,%ax
46ec20:	3b f0                	cmp    %eax,%esi
46ec22:	0f 84 75 04 00 00    	je     0x46f09d
46ec28:	6a 1c                	push   $0x1c
46ec2a:	e8 13 24 17 00       	call   0x5e1042
46ec2f:	8b 8f ac 03 00 00    	mov    0x3ac(%edi),%ecx
46ec35:	83 c4 04             	add    $0x4,%esp
46ec38:	8b 55 fc             	mov    -0x4(%ebp),%edx
46ec3b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46ec3e:	89 04 91             	mov    %eax,(%ecx,%edx,4)
46ec41:	8b ce                	mov    %esi,%ecx
46ec43:	83 7b d0 10          	cmpl   $0x10,-0x30(%ebx)
46ec47:	72 05                	jb     0x46ec4e
46ec49:	8b 0e                	mov    (%esi),%ecx
46ec4b:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ec4e:	8b 87 ac 03 00 00    	mov    0x3ac(%edi),%eax
46ec54:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ec57:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ec5a:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ec5d:	85 d2                	test   %edx,%edx
46ec5f:	74 2f                	je     0x46ec90
46ec61:	85 c9                	test   %ecx,%ecx
46ec63:	74 2b                	je     0x46ec90
46ec65:	8b 73 cc             	mov    -0x34(%ebx),%esi
46ec68:	8d 7e 01             	lea    0x1(%esi),%edi
46ec6b:	57                   	push   %edi
46ec6c:	e8 0f 24 17 00       	call   0x5e1080
46ec71:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ec74:	56                   	push   %esi
46ec75:	ff 75 e4             	push   -0x1c(%ebp)
46ec78:	57                   	push   %edi
46ec79:	50                   	push   %eax
46ec7a:	89 01                	mov    %eax,(%ecx)
46ec7c:	e8 ff 98 ff ff       	call   0x468580
46ec81:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ec84:	83 c4 14             	add    $0x14,%esp
46ec87:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ec8a:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ec90:	83 7b e8 10          	cmpl   $0x10,-0x18(%ebx)
46ec94:	8d 4b d4             	lea    -0x2c(%ebx),%ecx
46ec97:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ec9a:	72 05                	jb     0x46eca1
46ec9c:	8b 09                	mov    (%ecx),%ecx
46ec9e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46eca1:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46eca4:	83 c2 04             	add    $0x4,%edx
46eca7:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ecaa:	74 2f                	je     0x46ecdb
46ecac:	85 c9                	test   %ecx,%ecx
46ecae:	74 2b                	je     0x46ecdb
46ecb0:	8b 73 e4             	mov    -0x1c(%ebx),%esi
46ecb3:	8d 7e 01             	lea    0x1(%esi),%edi
46ecb6:	57                   	push   %edi
46ecb7:	e8 c4 23 17 00       	call   0x5e1080
46ecbc:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ecbf:	56                   	push   %esi
46ecc0:	ff 75 e4             	push   -0x1c(%ebp)
46ecc3:	57                   	push   %edi
46ecc4:	50                   	push   %eax
46ecc5:	89 01                	mov    %eax,(%ecx)
46ecc7:	e8 b4 98 ff ff       	call   0x468580
46eccc:	8b 45 f8             	mov    -0x8(%ebp),%eax
46eccf:	83 c4 14             	add    $0x14,%esp
46ecd2:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ecd5:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ecdb:	83 3b 10             	cmpl   $0x10,(%ebx)
46ecde:	8d 4b ec             	lea    -0x14(%ebx),%ecx
46ece1:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ece4:	72 05                	jb     0x46eceb
46ece6:	8b 09                	mov    (%ecx),%ecx
46ece8:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46eceb:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ecee:	83 c2 08             	add    $0x8,%edx
46ecf1:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ecf4:	74 2f                	je     0x46ed25
46ecf6:	85 c9                	test   %ecx,%ecx
46ecf8:	74 2b                	je     0x46ed25
46ecfa:	8b 73 fc             	mov    -0x4(%ebx),%esi
46ecfd:	8d 7e 01             	lea    0x1(%esi),%edi
46ed00:	57                   	push   %edi
46ed01:	e8 7a 23 17 00       	call   0x5e1080
46ed06:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed09:	56                   	push   %esi
46ed0a:	ff 75 e4             	push   -0x1c(%ebp)
46ed0d:	57                   	push   %edi
46ed0e:	50                   	push   %eax
46ed0f:	89 01                	mov    %eax,(%ecx)
46ed11:	e8 6a 98 ff ff       	call   0x468580
46ed16:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ed19:	83 c4 14             	add    $0x14,%esp
46ed1c:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ed1f:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ed25:	83 7b 18 10          	cmpl   $0x10,0x18(%ebx)
46ed29:	8d 4b 04             	lea    0x4(%ebx),%ecx
46ed2c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed2f:	72 05                	jb     0x46ed36
46ed31:	8b 09                	mov    (%ecx),%ecx
46ed33:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed36:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ed39:	83 c2 0c             	add    $0xc,%edx
46ed3c:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ed3f:	74 2f                	je     0x46ed70
46ed41:	85 c9                	test   %ecx,%ecx
46ed43:	74 2b                	je     0x46ed70
46ed45:	8b 73 14             	mov    0x14(%ebx),%esi
46ed48:	8d 7e 01             	lea    0x1(%esi),%edi
46ed4b:	57                   	push   %edi
46ed4c:	e8 2f 23 17 00       	call   0x5e1080
46ed51:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed54:	56                   	push   %esi
46ed55:	ff 75 e4             	push   -0x1c(%ebp)
46ed58:	57                   	push   %edi
46ed59:	50                   	push   %eax
46ed5a:	89 01                	mov    %eax,(%ecx)
46ed5c:	e8 1f 98 ff ff       	call   0x468580
46ed61:	8b 45 f8             	mov    -0x8(%ebp),%eax
46ed64:	83 c4 14             	add    $0x14,%esp
46ed67:	8b 75 fc             	mov    -0x4(%ebp),%esi
46ed6a:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46ed70:	83 7b 30 10          	cmpl   $0x10,0x30(%ebx)
46ed74:	8d 4b 1c             	lea    0x1c(%ebx),%ecx
46ed77:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed7a:	72 05                	jb     0x46ed81
46ed7c:	8b 09                	mov    (%ecx),%ecx
46ed7e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46ed81:	8b 14 b0             	mov    (%eax,%esi,4),%edx
46ed84:	83 c2 10             	add    $0x10,%edx
46ed87:	89 55 dc             	mov    %edx,-0x24(%ebp)
46ed8a:	74 2f                	je     0x46edbb
46ed8c:	85 c9                	test   %ecx,%ecx
46ed8e:	74 2b                	je     0x46edbb
46ed90:	8b 73 2c             	mov    0x2c(%ebx),%esi
46ed93:	8d 7e 01             	lea    0x1(%esi),%edi
46ed96:	57                   	push   %edi
46ed97:	e8 e4 22 17 00       	call   0x5e1080
46ed9c:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ed9f:	56                   	push   %esi
46eda0:	ff 75 e4             	push   -0x1c(%ebp)
46eda3:	57                   	push   %edi
46eda4:	50                   	push   %eax
46eda5:	89 01                	mov    %eax,(%ecx)
46eda7:	e8 d4 97 ff ff       	call   0x468580
46edac:	8b 45 f8             	mov    -0x8(%ebp),%eax
46edaf:	83 c4 14             	add    $0x14,%esp
46edb2:	8b 75 fc             	mov    -0x4(%ebp),%esi
46edb5:	8b 80 ac 03 00 00    	mov    0x3ac(%eax),%eax
46edbb:	83 7b 48 10          	cmpl   $0x10,0x48(%ebx)
46edbf:	8d 4b 34             	lea    0x34(%ebx),%ecx
46edc2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46edc5:	72 05                	jb     0x46edcc
46edc7:	8b 09                	mov    (%ecx),%ecx
46edc9:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
46edcc:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46edcf:	83 c0 14             	add    $0x14,%eax
46edd2:	89 45 dc             	mov    %eax,-0x24(%ebp)
46edd5:	74 26                	je     0x46edfd
46edd7:	85 c9                	test   %ecx,%ecx
46edd9:	74 22                	je     0x46edfd
46eddb:	8b 73 44             	mov    0x44(%ebx),%esi
46edde:	8d 7e 01             	lea    0x1(%esi),%edi
46ede1:	57                   	push   %edi
46ede2:	e8 99 22 17 00       	call   0x5e1080
46ede7:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46edea:	56                   	push   %esi
46edeb:	ff 75 e4             	push   -0x1c(%ebp)
46edee:	57                   	push   %edi
46edef:	50                   	push   %eax
46edf0:	89 01                	mov    %eax,(%ecx)
46edf2:	e8 89 97 ff ff       	call   0x468580
46edf7:	8b 75 fc             	mov    -0x4(%ebp),%esi
46edfa:	83 c4 14             	add    $0x14,%esp
46edfd:	8b 45 08             	mov    0x8(%ebp),%eax
46ee00:	8b 7d e0             	mov    -0x20(%ebp),%edi
46ee03:	8b 00                	mov    (%eax),%eax
46ee05:	8b 8c 07 94 00 00 00 	mov    0x94(%edi,%eax,1),%ecx
46ee0c:	2b 8c 07 90 00 00 00 	sub    0x90(%edi,%eax,1),%ecx
46ee13:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
46ee18:	f7 e9                	imul   %ecx
46ee1a:	33 c9                	xor    %ecx,%ecx
46ee1c:	c1 fa 04             	sar    $0x4,%edx
46ee1f:	8b c2                	mov    %edx,%eax
46ee21:	c1 e8 1f             	shr    $0x1f,%eax
46ee24:	03 c2                	add    %edx,%eax
46ee26:	ba 04 00 00 00       	mov    $0x4,%edx
46ee2b:	89 45 dc             	mov    %eax,-0x24(%ebp)
46ee2e:	40                   	inc    %eax
46ee2f:	f7 e2                	mul    %edx
46ee31:	0f 90 c1             	seto   %cl
46ee34:	f7 d9                	neg    %ecx
46ee36:	0b c8                	or     %eax,%ecx
46ee38:	51                   	push   %ecx
46ee39:	e8 42 22 17 00       	call   0x5e1080
46ee3e:	8b 55 f8             	mov    -0x8(%ebp),%edx
46ee41:	83 c4 04             	add    $0x4,%esp
46ee44:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
46ee4b:	8b 8a ac 03 00 00    	mov    0x3ac(%edx),%ecx
46ee51:	8b 0c b1             	mov    (%ecx,%esi,4),%ecx
46ee54:	89 41 18             	mov    %eax,0x18(%ecx)
46ee57:	8b 45 08             	mov    0x8(%ebp),%eax
46ee5a:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46ee5d:	8b 00                	mov    (%eax),%eax
46ee5f:	8b b4 07 90 00 00 00 	mov    0x90(%edi,%eax,1),%esi
46ee66:	8b bc 07 94 00 00 00 	mov    0x94(%edi,%eax,1),%edi
46ee6d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
46ee70:	85 c9                	test   %ecx,%ecx