471b2b:	e8 80 c4 fe ff       	call   0x45dfb0
471b30:	8b 4d 80             	mov    -0x80(%ebp),%ecx
471b33:	8b d8                	mov    %eax,%ebx
471b35:	c1 e1 03             	shl    $0x3,%ecx
471b38:	83 c9 02             	or     $0x2,%ecx
471b3b:	c1 e3 03             	shl    $0x3,%ebx
471b3e:	57                   	push   %edi
471b3f:	51                   	push   %ecx
471b40:	e8 7b ef fd ff       	call   0x450ac0
471b45:	83 c4 08             	add    $0x8,%esp
471b48:	8b d3                	mov    %ebx,%edx
471b4a:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
471b50:	72 13                	jb     0x471b65
471b52:	8a ca                	mov    %dl,%cl
471b54:	c1 ea 07             	shr    $0x7,%edx
471b57:	80 c9 80             	or     $0x80,%cl
471b5a:	88 08                	mov    %cl,(%eax)
471b5c:	40                   	inc    %eax
471b5d:	81 fa 80 00 00 00    	cmp    $0x80,%edx
471b63:	73 ed                	jae    0x471b52
471b65:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471b6b:	88 10                	mov    %dl,(%eax)
471b6d:	8d 78 01             	lea    0x1(%eax),%edi
471b70:	e8 eb d5 fd ff       	call   0x44f160
471b75:	8b 0e                	mov    (%esi),%ecx
471b77:	2b cf                	sub    %edi,%ecx
471b79:	3b cb                	cmp    %ebx,%ecx
471b7b:	7d 1c                	jge    0x471b99
471b7d:	57                   	push   %edi
471b7e:	53                   	push   %ebx
471b7f:	50                   	push   %eax
471b80:	8b ce                	mov    %esi,%ecx
471b82:	e8 29 8e fe ff       	call   0x45a9b0
471b87:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471b8d:	8b f8                	mov    %eax,%edi
471b8f:	e8 1c b3 fe ff       	call   0x45ceb0
471b94:	e9 9e f5 ff ff       	jmp    0x471137
471b99:	53                   	push   %ebx
471b9a:	50                   	push   %eax
471b9b:	57                   	push   %edi
471b9c:	e8 2f 12 16 00       	call   0x5d2dd0
471ba1:	83 c4 0c             	add    $0xc,%esp
471ba4:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471baa:	03 fb                	add    %ebx,%edi
471bac:	e8 ff b2 fe ff       	call   0x45ceb0
471bb1:	e9 81 f5 ff ff       	jmp    0x471137
471bb6:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471bb9:	53                   	push   %ebx
471bba:	ff 75 8c             	push   -0x74(%ebp)
471bbd:	e8 8e f7 fe ff       	call   0x461350
471bc2:	50                   	push   %eax
471bc3:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471bc9:	e8 12 b2 fe ff       	call   0x45cde0
471bce:	8b 43 28             	mov    0x28(%ebx),%eax
471bd1:	c6 45 fc 1e          	movb   $0x1e,-0x4(%ebp)
471bd5:	89 45 80             	mov    %eax,-0x80(%ebp)
471bd8:	3b 3e                	cmp    (%esi),%edi
471bda:	72 0a                	jb     0x471be6
471bdc:	57                   	push   %edi
471bdd:	8b ce                	mov    %esi,%ecx
471bdf:	e8 8c 79 fe ff       	call   0x459570
471be4:	8b f8                	mov    %eax,%edi
471be6:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471bec:	e8 bf c3 fe ff       	call   0x45dfb0
471bf1:	8b 4d 80             	mov    -0x80(%ebp),%ecx
471bf4:	8b d8                	mov    %eax,%ebx
471bf6:	c1 e1 03             	shl    $0x3,%ecx
471bf9:	83 c9 02             	or     $0x2,%ecx
471bfc:	57                   	push   %edi
471bfd:	51                   	push   %ecx
471bfe:	e8 bd ee fd ff       	call   0x450ac0
471c03:	83 c4 08             	add    $0x8,%esp
471c06:	8b d3                	mov    %ebx,%edx
471c08:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
471c0e:	72 13                	jb     0x471c23
471c10:	8a ca                	mov    %dl,%cl
471c12:	c1 ea 07             	shr    $0x7,%edx
471c15:	80 c9 80             	or     $0x80,%cl
471c18:	88 08                	mov    %cl,(%eax)
471c1a:	40                   	inc    %eax
471c1b:	81 fa 80 00 00 00    	cmp    $0x80,%edx
471c21:	73 ed                	jae    0x471c10
471c23:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471c29:	88 10                	mov    %dl,(%eax)
471c2b:	8d 78 01             	lea    0x1(%eax),%edi
471c2e:	e8 2d d5 fd ff       	call   0x44f160
471c33:	8b 0e                	mov    (%esi),%ecx
471c35:	2b cf                	sub    %edi,%ecx
471c37:	3b cb                	cmp    %ebx,%ecx
471c39:	7d 1c                	jge    0x471c57
471c3b:	57                   	push   %edi
471c3c:	53                   	push   %ebx
471c3d:	50                   	push   %eax
471c3e:	8b ce                	mov    %esi,%ecx
471c40:	e8 6b 8d fe ff       	call   0x45a9b0
471c45:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471c4b:	8b f8                	mov    %eax,%edi
471c4d:	e8 8e b2 fe ff       	call   0x45cee0
471c52:	e9 e0 f4 ff ff       	jmp    0x471137
471c57:	53                   	push   %ebx
471c58:	50                   	push   %eax
471c59:	57                   	push   %edi
471c5a:	e8 71 11 16 00       	call   0x5d2dd0
471c5f:	83 c4 0c             	add    $0xc,%esp
471c62:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
471c68:	03 fb                	add    %ebx,%edi
471c6a:	e8 71 b2 fe ff       	call   0x45cee0
471c6f:	e9 c3 f4 ff ff       	jmp    0x471137
471c74:	68 25 05 00 00       	push   $0x525
471c79:	68 88 79 60 00       	push   $0x607988
471c7e:	6a 03                	push   $0x3
471c80:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
471c83:	e8 58 36 00 00       	call   0x4752e0
471c88:	68 30 7a 60 00       	push   $0x607a30
471c8d:	8b c8                	mov    %eax,%ecx
471c8f:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
471c93:	e8 58 3c 00 00       	call   0x4758f0
471c98:	50                   	push   %eax
471c99:	8d 8d 7b ff ff ff    	lea    -0x85(%ebp),%ecx
471c9f:	e8 dc 39 00 00       	call   0x475680
471ca4:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
471ca7:	e8 64 39 00 00       	call   0x475610
471cac:	e9 86 f4 ff ff       	jmp    0x471137
471cb1:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
471cb8:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
471cbf:	00 00 00
471cc2:	0f 8e 6f f4 ff ff    	jle    0x471137
471cc8:	3b 3e                	cmp    (%esi),%edi
471cca:	72 0a                	jb     0x471cd6
471ccc:	57                   	push   %edi
471ccd:	8b ce                	mov    %esi,%ecx
471ccf:	e8 9c 78 fe ff       	call   0x459570
471cd4:	8b f8                	mov    %eax,%edi
471cd6:	8b 43 18             	mov    0x18(%ebx),%eax
471cd9:	89 45 84             	mov    %eax,-0x7c(%ebp)
471cdc:	85 c0                	test   %eax,%eax
471cde:	74 66                	je     0x471d46
471ce0:	6a 00                	push   $0x0
471ce2:	8d 8d 50 ff ff ff    	lea    -0xb0(%ebp),%ecx
471ce8:	51                   	push   %ecx
471ce9:	6a 00                	push   $0x0
471ceb:	50                   	push   %eax
471cec:	ff 15 98 21 60 00    	call   *0x602198
471cf2:	85 c0                	test   %eax,%eax
471cf4:	0f 84 1c 07 00 00    	je     0x472416
471cfa:	83 bd 50 ff ff ff 00 	cmpl   $0x0,-0xb0(%ebp)
471d01:	74 43                	je     0x471d46
471d03:	8b 45 84             	mov    -0x7c(%ebp),%eax
471d06:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
471d0c:	c7 85 70 ff ff ff 04 	movl   $0x4,-0x90(%ebp)
471d13:	00 00 00
471d16:	53                   	push   %ebx
471d17:	c6 45 fc 21          	movb   $0x21,-0x4(%ebp)
471d1b:	e8 20 7b 02 00       	call   0x499840
471d20:	83 c4 04             	add    $0x4,%esp
471d23:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
471d2a:	00 00 00
471d2d:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
471d31:	6a 00                	push   $0x0
471d33:	6a 00                	push   $0x0
471d35:	ff 75 84             	push   -0x7c(%ebp)
471d38:	ff 15 94 21 60 00    	call   *0x602194
471d3e:	85 c0                	test   %eax,%eax
471d40:	0f 84 d0 06 00 00    	je     0x472416
471d46:	8b 43 1c             	mov    0x1c(%ebx),%eax
471d49:	48                   	dec    %eax
471d4a:	83 f8 11             	cmp    $0x11,%eax
471d4d:	0f 87 78 06 00 00    	ja     0x4723cb
471d53:	ff 24 85 64 24 47 00 	jmp    *0x472464(,%eax,4)
471d5a:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471d5e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471d61:	75 12                	jne    0x471d75
471d63:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471d69:	50                   	push   %eax
471d6a:	53                   	push   %ebx
471d6b:	ff 75 8c             	push   -0x74(%ebp)
471d6e:	e8 cd 34 ff ff       	call   0x465240
471d73:	eb 09                	jmp    0x471d7e
471d75:	53                   	push   %ebx
471d76:	ff 75 8c             	push   -0x74(%ebp)
471d79:	e8 b2 2b ff ff       	call   0x464930
471d7e:	89 45 84             	mov    %eax,-0x7c(%ebp)
471d81:	8b 43 28             	mov    0x28(%ebx),%eax
471d84:	c1 e0 03             	shl    $0x3,%eax
471d87:	57                   	push   %edi
471d88:	50                   	push   %eax
471d89:	e8 32 ed fd ff       	call   0x450ac0
471d8e:	50                   	push   %eax
471d8f:	8b 45 84             	mov    -0x7c(%ebp),%eax
471d92:	99                   	cltd
471d93:	52                   	push   %edx
471d94:	50                   	push   %eax
471d95:	e8 c6 93 ff ff       	call   0x46b160
471d9a:	83 c4 14             	add    $0x14,%esp
471d9d:	8b f8                	mov    %eax,%edi
471d9f:	e9 27 06 00 00       	jmp    0x4723cb
471da4:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471da8:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471dab:	75 12                	jne    0x471dbf
471dad:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471db3:	50                   	push   %eax
471db4:	53                   	push   %ebx
471db5:	ff 75 8c             	push   -0x74(%ebp)
471db8:	e8 33 35 ff ff       	call   0x4652f0
471dbd:	eb 09                	jmp    0x471dc8
471dbf:	53                   	push   %ebx
471dc0:	ff 75 8c             	push   -0x74(%ebp)
471dc3:	e8 48 2c ff ff       	call   0x464a10
471dc8:	89 45 80             	mov    %eax,-0x80(%ebp)
471dcb:	8b 43 28             	mov    0x28(%ebx),%eax
471dce:	c1 e0 03             	shl    $0x3,%eax
471dd1:	57                   	push   %edi
471dd2:	50                   	push   %eax
471dd3:	89 55 84             	mov    %edx,-0x7c(%ebp)
471dd6:	e8 e5 ec fd ff       	call   0x450ac0
471ddb:	50                   	push   %eax
471ddc:	ff 75 84             	push   -0x7c(%ebp)
471ddf:	ff 75 80             	push   -0x80(%ebp)
471de2:	e8 79 93 ff ff       	call   0x46b160
471de7:	83 c4 14             	add    $0x14,%esp
471dea:	8b f8                	mov    %eax,%edi
471dec:	e9 da 05 00 00       	jmp    0x4723cb
471df1:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471df5:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471df8:	75 12                	jne    0x471e0c
471dfa:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471e00:	50                   	push   %eax
471e01:	53                   	push   %ebx
471e02:	ff 75 8c             	push   -0x74(%ebp)
471e05:	e8 36 34 ff ff       	call   0x465240
471e0a:	eb 09                	jmp    0x471e15
471e0c:	53                   	push   %ebx
471e0d:	ff 75 8c             	push   -0x74(%ebp)
471e10:	e8 1b 2b ff ff       	call   0x464930
471e15:	89 45 80             	mov    %eax,-0x80(%ebp)
471e18:	8b 43 28             	mov    0x28(%ebx),%eax
471e1b:	c1 e0 03             	shl    $0x3,%eax
471e1e:	57                   	push   %edi
471e1f:	50                   	push   %eax
471e20:	e8 9b ec fd ff       	call   0x450ac0
471e25:	50                   	push   %eax
471e26:	8b 45 80             	mov    -0x80(%ebp),%eax
471e29:	8b c8                	mov    %eax,%ecx
471e2b:	c1 f9 1f             	sar    $0x1f,%ecx
471e2e:	03 c0                	add    %eax,%eax
471e30:	33 c8                	xor    %eax,%ecx
471e32:	51                   	push   %ecx
471e33:	e8 88 ec fd ff       	call   0x450ac0
471e38:	83 c4 10             	add    $0x10,%esp
471e3b:	8b f8                	mov    %eax,%edi
471e3d:	e9 89 05 00 00       	jmp    0x4723cb
471e42:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471e46:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471e49:	75 12                	jne    0x471e5d
471e4b:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471e51:	50                   	push   %eax
471e52:	53                   	push   %ebx
471e53:	ff 75 8c             	push   -0x74(%ebp)
471e56:	e8 95 34 ff ff       	call   0x4652f0
471e5b:	eb 09                	jmp    0x471e66
471e5d:	53                   	push   %ebx
471e5e:	ff 75 8c             	push   -0x74(%ebp)
471e61:	e8 aa 2b ff ff       	call   0x464a10
471e66:	89 45 84             	mov    %eax,-0x7c(%ebp)
471e69:	8b 43 28             	mov    0x28(%ebx),%eax
471e6c:	c1 e0 03             	shl    $0x3,%eax
471e6f:	57                   	push   %edi
471e70:	50                   	push   %eax
471e71:	89 55 80             	mov    %edx,-0x80(%ebp)
471e74:	e8 47 ec fd ff       	call   0x450ac0
471e79:	8b 7d 80             	mov    -0x80(%ebp),%edi
471e7c:	8b cf                	mov    %edi,%ecx
471e7e:	8b 55 84             	mov    -0x7c(%ebp),%edx
471e81:	50                   	push   %eax
471e82:	8b c7                	mov    %edi,%eax
471e84:	c1 f9 1f             	sar    $0x1f,%ecx
471e87:	0f a4 d7 01          	shld   $0x1,%edx,%edi
471e8b:	c1 f8 1f             	sar    $0x1f,%eax
471e8e:	03 d2                	add    %edx,%edx
471e90:	33 c7                	xor    %edi,%eax
471e92:	33 ca                	xor    %edx,%ecx
471e94:	50                   	push   %eax
471e95:	51                   	push   %ecx
471e96:	e8 c5 92 ff ff       	call   0x46b160
471e9b:	83 c4 14             	add    $0x14,%esp
471e9e:	8b f8                	mov    %eax,%edi
471ea0:	e9 26 05 00 00       	jmp    0x4723cb
471ea5:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471ea9:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471eac:	75 12                	jne    0x471ec0
471eae:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471eb4:	50                   	push   %eax
471eb5:	53                   	push   %ebx
471eb6:	ff 75 8c             	push   -0x74(%ebp)
471eb9:	e8 62 37 ff ff       	call   0x465620
471ebe:	eb 09                	jmp    0x471ec9
471ec0:	53                   	push   %ebx
471ec1:	ff 75 8c             	push   -0x74(%ebp)
471ec4:	e8 c7 3a ff ff       	call   0x465990
471ec9:	89 45 80             	mov    %eax,-0x80(%ebp)
471ecc:	8b 43 28             	mov    0x28(%ebx),%eax
471ecf:	c1 e0 03             	shl    $0x3,%eax
471ed2:	57                   	push   %edi
471ed3:	50                   	push   %eax
471ed4:	e8 e7 eb fd ff       	call   0x450ac0
471ed9:	50                   	push   %eax
471eda:	ff 75 80             	push   -0x80(%ebp)
471edd:	e8 de eb fd ff       	call   0x450ac0
471ee2:	83 c4 10             	add    $0x10,%esp
471ee5:	8b f8                	mov    %eax,%edi
471ee7:	e9 df 04 00 00       	jmp    0x4723cb
471eec:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471ef0:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471ef3:	75 12                	jne    0x471f07
471ef5:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471efb:	50                   	push   %eax
471efc:	53                   	push   %ebx
471efd:	ff 75 8c             	push   -0x74(%ebp)
471f00:	e8 cb 37 ff ff       	call   0x4656d0
471f05:	eb 09                	jmp    0x471f10
471f07:	53                   	push   %ebx
471f08:	ff 75 8c             	push   -0x74(%ebp)
471f0b:	e8 60 3b ff ff       	call   0x465a70
471f10:	89 45 84             	mov    %eax,-0x7c(%ebp)
471f13:	8b 43 28             	mov    0x28(%ebx),%eax
471f16:	c1 e0 03             	shl    $0x3,%eax
471f19:	57                   	push   %edi
471f1a:	50                   	push   %eax
471f1b:	89 55 80             	mov    %edx,-0x80(%ebp)
471f1e:	e8 9d eb fd ff       	call   0x450ac0
471f23:	50                   	push   %eax
471f24:	ff 75 80             	push   -0x80(%ebp)
471f27:	ff 75 84             	push   -0x7c(%ebp)
471f2a:	e8 31 92 ff ff       	call   0x46b160
471f2f:	83 c4 14             	add    $0x14,%esp
471f32:	8b f8                	mov    %eax,%edi
471f34:	e9 92 04 00 00       	jmp    0x4723cb
471f39:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
471f3d:	8b 4d 88             	mov    -0x78(%ebp),%ecx
471f40:	75 12                	jne    0x471f54
471f42:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
471f48:	50                   	push   %eax
471f49:	53                   	push   %ebx
471f4a:	ff 75 8c             	push   -0x74(%ebp)
471f4d:	e8 ce 36 ff ff       	call   0x465620
471f52:	eb 09                	jmp    0x471f5d
471f54:	53                   	push   %ebx
471f55:	ff 75 8c             	push   -0x74(%ebp)
471f58:	e8 33 3a ff ff       	call   0x465990
471f5d:	89 45 80             	mov    %eax,-0x80(%ebp)