574bc5:	e8 e6 cb 05 00       	call   0x5d17b0
574bca:	53                   	push   %ebx
574bcb:	55                   	push   %ebp
574bcc:	8b 6c 24 20          	mov    0x20(%esp),%ebp
574bd0:	56                   	push   %esi
574bd1:	57                   	push   %edi
574bd2:	55                   	push   %ebp
574bd3:	e8 c8 b4 f7 ff       	call   0x4f00a0
574bd8:	8b 5c 24 28          	mov    0x28(%esp),%ebx
574bdc:	8b c8                	mov    %eax,%ecx
574bde:	33 d2                	xor    %edx,%edx
574be0:	83 c4 04             	add    $0x4,%esp
574be3:	8d 43 03             	lea    0x3(%ebx),%eax
574be6:	03 c1                	add    %ecx,%eax
574be8:	f7 f1                	div    %ecx
574bea:	8b f8                	mov    %eax,%edi
574bec:	0f af f9             	imul   %ecx,%edi
574bef:	03 c9                	add    %ecx,%ecx
574bf1:	3b f9                	cmp    %ecx,%edi
574bf3:	0f 82 9e 00 00 00    	jb     0x574c97
574bf9:	81 fb ff 00 00 00    	cmp    $0xff,%ebx
574bff:	0f 87 92 00 00 00    	ja     0x574c97
574c05:	8b 74 24 18          	mov    0x18(%esp),%esi
574c09:	85 f6                	test   %esi,%esi
574c0b:	74 79                	je     0x574c86
574c0d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
574c11:	88 1e                	mov    %bl,(%esi)
574c13:	53                   	push   %ebx
574c14:	51                   	push   %ecx
574c15:	0f b6 01             	movzbl (%ecx),%eax
574c18:	f6 d0                	not    %al
574c1a:	88 46 01             	mov    %al,0x1(%esi)
574c1d:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
574c21:	f6 d0                	not    %al
574c23:	88 46 02             	mov    %al,0x2(%esi)
574c26:	0f b6 41 02          	movzbl 0x2(%ecx),%eax
574c2a:	f6 d0                	not    %al
574c2c:	88 46 03             	mov    %al,0x3(%esi)
574c2f:	8d 46 04             	lea    0x4(%esi),%eax
574c32:	50                   	push   %eax
574c33:	e8 98 e1 05 00       	call   0x5d2dd0
574c38:	8d 43 04             	lea    0x4(%ebx),%eax
574c3b:	83 c4 0c             	add    $0xc,%esp
574c3e:	3b f8                	cmp    %eax,%edi
574c40:	76 1a                	jbe    0x574c5c
574c42:	8b c7                	mov    %edi,%eax
574c44:	2b c3                	sub    %ebx,%eax
574c46:	83 e8 04             	sub    $0x4,%eax
574c49:	50                   	push   %eax
574c4a:	8d 43 04             	lea    0x4(%ebx),%eax
574c4d:	03 c6                	add    %esi,%eax
574c4f:	50                   	push   %eax
574c50:	e8 fb c5 f6 ff       	call   0x4e1250
574c55:	83 c4 08             	add    $0x8,%esp
574c58:	85 c0                	test   %eax,%eax
574c5a:	7e 3b                	jle    0x574c97
574c5c:	57                   	push   %edi
574c5d:	56                   	push   %esi
574c5e:	8d 44 24 18          	lea    0x18(%esp),%eax
574c62:	50                   	push   %eax
574c63:	56                   	push   %esi
574c64:	55                   	push   %ebp
574c65:	e8 06 82 f6 ff       	call   0x4dce70
574c6a:	83 c4 14             	add    $0x14,%esp
574c6d:	85 c0                	test   %eax,%eax
574c6f:	74 26                	je     0x574c97
574c71:	57                   	push   %edi
574c72:	56                   	push   %esi
574c73:	8d 44 24 18          	lea    0x18(%esp),%eax
574c77:	50                   	push   %eax
574c78:	56                   	push   %esi
574c79:	55                   	push   %ebp
574c7a:	e8 f1 81 f6 ff       	call   0x4dce70
574c7f:	83 c4 14             	add    $0x14,%esp
574c82:	85 c0                	test   %eax,%eax
574c84:	74 11                	je     0x574c97
574c86:	8b 44 24 1c          	mov    0x1c(%esp),%eax
574c8a:	89 38                	mov    %edi,(%eax)
574c8c:	b8 01 00 00 00       	mov    $0x1,%eax
574c91:	5f                   	pop    %edi
574c92:	5e                   	pop    %esi
574c93:	5d                   	pop    %ebp
574c94:	5b                   	pop    %ebx
574c95:	59                   	pop    %ecx
574c96:	c3                   	ret
574c97:	5f                   	pop    %edi
574c98:	5e                   	pop    %esi
574c99:	5d                   	pop    %ebp
574c9a:	33 c0                	xor    %eax,%eax
574c9c:	5b                   	pop    %ebx
574c9d:	59                   	pop    %ecx
574c9e:	c3                   	ret
574c9f:	cc                   	int3
574ca0:	b8 54 00 00 00       	mov    $0x54,%eax
574ca5:	e8 06 cb 05 00       	call   0x5d17b0
574caa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
574caf:	33 c4                	xor    %esp,%eax
574cb1:	89 44 24 50          	mov    %eax,0x50(%esp)
574cb5:	8b 44 24 5c          	mov    0x5c(%esp),%eax
574cb9:	53                   	push   %ebx
574cba:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
574cbe:	55                   	push   %ebp
574cbf:	8b 6c 24 68          	mov    0x68(%esp),%ebp
574cc3:	56                   	push   %esi
574cc4:	57                   	push   %edi
574cc5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
574cc9:	33 f6                	xor    %esi,%esi
574ccb:	8b 44 24 74          	mov    0x74(%esp),%eax
574ccf:	33 ff                	xor    %edi,%edi
574cd1:	68 00 02 00 00       	push   $0x200
574cd6:	53                   	push   %ebx
574cd7:	89 44 24 20          	mov    %eax,0x20(%esp)
574cdb:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
574ce2:	00
574ce3:	89 75 00             	mov    %esi,0x0(%ebp)
574ce6:	e8 a5 ba f7 ff       	call   0x4f0790
574ceb:	83 c4 08             	add    $0x8,%esp
574cee:	85 c0                	test   %eax,%eax
574cf0:	74 1d                	je     0x574d0f
574cf2:	8d 44 24 10          	lea    0x10(%esp),%eax
574cf6:	50                   	push   %eax
574cf7:	8d 44 24 24          	lea    0x24(%esp),%eax
574cfb:	50                   	push   %eax
574cfc:	53                   	push   %ebx
574cfd:	e8 7e 5e fa ff       	call   0x51ab80
574d02:	83 c4 0c             	add    $0xc,%esp
574d05:	85 c0                	test   %eax,%eax
574d07:	0f 84 df 00 00 00    	je     0x574dec
574d0d:	eb 67                	jmp    0x574d76
574d0f:	e8 fc 63 fa ff       	call   0x51b110
574d14:	8b f0                	mov    %eax,%esi
574d16:	85 f6                	test   %esi,%esi
574d18:	75 2a                	jne    0x574d44
574d1a:	6a 22                	push   $0x22
574d1c:	68 20 a7 65 00       	push   $0x65a720
574d21:	6a 41                	push   $0x41
574d23:	6a 6b                	push   $0x6b
574d25:	6a 06                	push   $0x6
574d27:	e8 54 42 f6 ff       	call   0x4d8f80
574d2c:	83 c4 14             	add    $0x14,%esp
574d2f:	5f                   	pop    %edi
574d30:	5e                   	pop    %esi
574d31:	5d                   	pop    %ebp
574d32:	33 c0                	xor    %eax,%eax
574d34:	5b                   	pop    %ebx
574d35:	8b 4c 24 50          	mov    0x50(%esp),%ecx
574d39:	33 cc                	xor    %esp,%ecx
574d3b:	e8 e6 cc 05 00       	call   0x5d1a26
574d40:	83 c4 54             	add    $0x54,%esp
574d43:	c3                   	ret
574d44:	53                   	push   %ebx
574d45:	56                   	push   %esi
574d46:	e8 15 62 fa ff       	call   0x51af60
574d4b:	8b f8                	mov    %eax,%edi
574d4d:	83 c4 08             	add    $0x8,%esp
574d50:	85 ff                	test   %edi,%edi
574d52:	74 15                	je     0x574d69
574d54:	8d 44 24 10          	lea    0x10(%esp),%eax
574d58:	50                   	push   %eax
574d59:	8d 44 24 24          	lea    0x24(%esp),%eax
574d5d:	50                   	push   %eax
574d5e:	56                   	push   %esi
574d5f:	e8 1c 5e fa ff       	call   0x51ab80
574d64:	83 c4 0c             	add    $0xc,%esp
574d67:	8b f8                	mov    %eax,%edi
574d69:	56                   	push   %esi
574d6a:	e8 81 63 fa ff       	call   0x51b0f0
574d6f:	83 c4 04             	add    $0x4,%esp
574d72:	85 ff                	test   %edi,%edi
574d74:	74 b9                	je     0x574d2f
574d76:	8b 74 24 18          	mov    0x18(%esp),%esi
574d7a:	56                   	push   %esi
574d7b:	e8 c0 c6 f7 ff       	call   0x4f1440
574d80:	33 ff                	xor    %edi,%edi
574d82:	89 44 24 18          	mov    %eax,0x18(%esp)
574d86:	57                   	push   %edi
574d87:	56                   	push   %esi
574d88:	e8 93 25 f7 ff       	call   0x4e7320
574d8d:	8b f0                	mov    %eax,%esi
574d8f:	83 c4 0c             	add    $0xc,%esp
574d92:	85 f6                	test   %esi,%esi
574d94:	74 56                	je     0x574dec
574d96:	56                   	push   %esi
574d97:	e8 04 5e fe ff       	call   0x55aba0
574d9c:	83 c4 04             	add    $0x4,%esp
574d9f:	85 c0                	test   %eax,%eax
574da1:	7e 49                	jle    0x574dec
574da3:	53                   	push   %ebx
574da4:	e8 c7 b9 f7 ff       	call   0x4f0770
574da9:	50                   	push   %eax
574daa:	57                   	push   %edi
574dab:	6a 01                	push   $0x1
574dad:	68 f8 00 00 00       	push   $0xf8
574db2:	6a ff                	push   $0xffffffff
574db4:	56                   	push   %esi
574db5:	e8 16 22 f7 ff       	call   0x4e6fd0
574dba:	83 c4 1c             	add    $0x1c,%esp
574dbd:	85 c0                	test   %eax,%eax
574dbf:	7e 2b                	jle    0x574dec
574dc1:	ff 74 24 10          	push   0x10(%esp)
574dc5:	8d 44 24 24          	lea    0x24(%esp),%eax
574dc9:	50                   	push   %eax
574dca:	8d 44 24 1c          	lea    0x1c(%esp),%eax
574dce:	50                   	push   %eax
574dcf:	ff 74 24 28          	push   0x28(%esp)
574dd3:	56                   	push   %esi
574dd4:	e8 d7 5c fe ff       	call   0x55aab0
574dd9:	83 c4 14             	add    $0x14,%esp
574ddc:	85 c0                	test   %eax,%eax
574dde:	7e 0c                	jle    0x574dec
574de0:	8b 44 24 14          	mov    0x14(%esp),%eax
574de4:	bf 01 00 00 00       	mov    $0x1,%edi
574de9:	89 45 00             	mov    %eax,0x0(%ebp)
574dec:	56                   	push   %esi
574ded:	e8 fe 23 f7 ff       	call   0x4e71f0
574df2:	8b 4c 24 64          	mov    0x64(%esp),%ecx
574df6:	83 c4 04             	add    $0x4,%esp
574df9:	8b c7                	mov    %edi,%eax
574dfb:	5f                   	pop    %edi
574dfc:	5e                   	pop    %esi
574dfd:	5d                   	pop    %ebp
574dfe:	5b                   	pop    %ebx
574dff:	33 cc                	xor    %esp,%ecx
574e01:	e8 20 cc 05 00       	call   0x5d1a26
574e06:	83 c4 54             	add    $0x54,%esp
574e09:	c3                   	ret
574e0a:	cc                   	int3
574e0b:	cc                   	int3
574e0c:	cc                   	int3
574e0d:	cc                   	int3
574e0e:	cc                   	int3
574e0f:	cc                   	int3
574e10:	56                   	push   %esi
574e11:	57                   	push   %edi
574e12:	8b 7c 24 0c          	mov    0xc(%esp),%edi
574e16:	8b 47 44             	mov    0x44(%edi),%eax
574e19:	85 c0                	test   %eax,%eax
574e1b:	74 0d                	je     0x574e2a
574e1d:	57                   	push   %edi
574e1e:	ff d0                	call   *%eax
574e20:	83 c4 04             	add    $0x4,%esp
574e23:	c7 47 44 00 00 00 00 	movl   $0x0,0x44(%edi)
574e2a:	8b 47 10             	mov    0x10(%edi),%eax
574e2d:	85 c0                	test   %eax,%eax
574e2f:	74 16                	je     0x574e47
574e31:	83 7f 78 00          	cmpl   $0x0,0x78(%edi)
574e35:	75 09                	jne    0x574e40
574e37:	50                   	push   %eax
574e38:	e8 a3 a7 00 00       	call   0x57f5e0
574e3d:	83 c4 04             	add    $0x4,%esp
574e40:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
574e47:	ff 77 54             	push   0x54(%edi)
574e4a:	e8 21 b1 00 00       	call   0x57ff70
574e4f:	68 e0 71 55 00       	push   $0x5571e0
574e54:	ff 77 50             	push   0x50(%edi)
574e57:	c7 47 54 00 00 00 00 	movl   $0x0,0x54(%edi)
574e5e:	e8 8d 02 f7 ff       	call   0x4e50f0
574e63:	8d 77 7c             	lea    0x7c(%edi),%esi
574e66:	c7 47 50 00 00 00 00 	movl   $0x0,0x50(%edi)
574e6d:	56                   	push   %esi
574e6e:	57                   	push   %edi
574e6f:	6a 05                	push   $0x5
574e71:	e8 7a b2 f6 ff       	call   0x4e00f0
574e76:	83 c4 18             	add    $0x18,%esp
574e79:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
574e7f:	5f                   	pop    %edi
574e80:	5e                   	pop    %esi
574e81:	c3                   	ret
574e82:	cc                   	int3
574e83:	cc                   	int3
574e84:	cc                   	int3
574e85:	cc                   	int3
574e86:	cc                   	int3
574e87:	cc                   	int3
574e88:	cc                   	int3
574e89:	cc                   	int3
574e8a:	cc                   	int3
574e8b:	cc                   	int3
574e8c:	cc                   	int3
574e8d:	cc                   	int3
574e8e:	cc                   	int3
574e8f:	cc                   	int3
574e90:	56                   	push   %esi
574e91:	8b 74 24 08          	mov    0x8(%esp),%esi
574e95:	85 f6                	test   %esi,%esi
574e97:	74 19                	je     0x574eb2
574e99:	56                   	push   %esi
574e9a:	e8 71 ff ff ff       	call   0x574e10
574e9f:	68 d8 08 00 00       	push   $0x8d8
574ea4:	68 54 a7 65 00       	push   $0x65a754
574ea9:	56                   	push   %esi
574eaa:	e8 d1 b8 f6 ff       	call   0x4e0780
574eaf:	83 c4 10             	add    $0x10,%esp
574eb2:	5e                   	pop    %esi
574eb3:	c3                   	ret
574eb4:	cc                   	int3
574eb5:	cc                   	int3
574eb6:	cc                   	int3
574eb7:	cc                   	int3
574eb8:	cc                   	int3
574eb9:	cc                   	int3
574eba:	cc                   	int3
574ebb:	cc                   	int3
574ebc:	cc                   	int3
574ebd:	cc                   	int3
574ebe:	cc                   	int3
574ebf:	cc                   	int3
574ec0:	8b 44 24 04          	mov    0x4(%esp),%eax
574ec4:	8b 40 50             	mov    0x50(%eax),%eax
574ec7:	85 c0                	test   %eax,%eax
574ec9:	75 01                	jne    0x574ecc
574ecb:	c3                   	ret
574ecc:	89 44 24 04          	mov    %eax,0x4(%esp)
574ed0:	e9 1b 30 fe ff       	jmp    0x557ef0
574ed5:	cc                   	int3
574ed6:	cc                   	int3
574ed7:	cc                   	int3
574ed8:	cc                   	int3
574ed9:	cc                   	int3
574eda:	cc                   	int3
574edb:	cc                   	int3
574edc:	cc                   	int3
574edd:	cc                   	int3
574ede:	cc                   	int3
574edf:	cc                   	int3
574ee0:	cc                   	int3
574ee1:	cc                   	int3
574ee2:	cc                   	int3
574ee3:	cc                   	int3
574ee4:	cc                   	int3
574ee5:	cc                   	int3
574ee6:	cc                   	int3
574ee7:	cc                   	int3
574ee8:	cc                   	int3
574ee9:	cc                   	int3
574eea:	cc                   	int3
574eeb:	cc                   	int3
574eec:	cc                   	int3
574eed:	cc                   	int3
574eee:	cc                   	int3
574eef:	cc                   	int3
574ef0:	8b 44 24 0c          	mov    0xc(%esp),%eax
574ef4:	53                   	push   %ebx
574ef5:	56                   	push   %esi
574ef6:	8b 74 24 0c          	mov    0xc(%esp),%esi
574efa:	57                   	push   %edi
574efb:	8b 7c 24 14          	mov    0x14(%esp),%edi
574eff:	8d 5e 7c             	lea    0x7c(%esi),%ebx
574f02:	89 46 04             	mov    %eax,0x4(%esi)
574f05:	8b 44 24 1c          	mov    0x1c(%esp),%eax