4c6ee4:	53                   	push   %ebx
4c6ee5:	56                   	push   %esi
4c6ee6:	57                   	push   %edi
4c6ee7:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
4c6eeb:	8b d9                	mov    %ecx,%ebx
4c6eed:	8b 7a 10             	mov    0x10(%edx),%edi
4c6ef0:	72 02                	jb     0x4c6ef4
4c6ef2:	8b 12                	mov    (%edx),%edx
4c6ef4:	33 c9                	xor    %ecx,%ecx
4c6ef6:	be c5 9d 1c 81       	mov    $0x811c9dc5,%esi
4c6efb:	85 ff                	test   %edi,%edi
4c6efd:	74 12                	je     0x4c6f11
4c6eff:	90                   	nop
4c6f00:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
4c6f04:	41                   	inc    %ecx
4c6f05:	33 c6                	xor    %esi,%eax
4c6f07:	69 f0 93 01 00 01    	imul   $0x1000193,%eax,%esi
4c6f0d:	3b cf                	cmp    %edi,%ecx
4c6f0f:	72 ef                	jb     0x4c6f00
4c6f11:	8b 43 18             	mov    0x18(%ebx),%eax
4c6f14:	5f                   	pop    %edi
4c6f15:	23 c6                	and    %esi,%eax
4c6f17:	5e                   	pop    %esi
4c6f18:	5b                   	pop    %ebx
4c6f19:	c2 04 00             	ret    $0x4
4c6f1c:	cc                   	int3
4c6f1d:	cc                   	int3
4c6f1e:	cc                   	int3
4c6f1f:	cc                   	int3
4c6f20:	cc                   	int3
4c6f21:	cc                   	int3
4c6f22:	cc                   	int3
4c6f23:	cc                   	int3
4c6f24:	cc                   	int3
4c6f25:	cc                   	int3
4c6f26:	cc                   	int3
4c6f27:	cc                   	int3
4c6f28:	cc                   	int3
4c6f29:	cc                   	int3
4c6f2a:	cc                   	int3
4c6f2b:	cc                   	int3
4c6f2c:	cc                   	int3
4c6f2d:	cc                   	int3
4c6f2e:	cc                   	int3
4c6f2f:	cc                   	int3
4c6f30:	8b 51 04             	mov    0x4(%ecx),%edx
4c6f33:	b8 c6 71 1c 07       	mov    $0x71c71c6,%eax
4c6f38:	56                   	push   %esi
4c6f39:	8b 74 24 08          	mov    0x8(%esp),%esi
4c6f3d:	2b c2                	sub    %edx,%eax
4c6f3f:	3b c6                	cmp    %esi,%eax
4c6f41:	72 0a                	jb     0x4c6f4d
4c6f43:	8d 04 32             	lea    (%edx,%esi,1),%eax
4c6f46:	89 41 04             	mov    %eax,0x4(%ecx)
4c6f49:	5e                   	pop    %esi
4c6f4a:	c2 04 00             	ret    $0x4
4c6f4d:	68 0c 61 bd 00       	push   $0xbd610c
4c6f52:	e8 bf 28 f6 ff       	call   0x429816
4c6f57:	cc                   	int3
4c6f58:	cc                   	int3
4c6f59:	cc                   	int3
4c6f5a:	cc                   	int3
4c6f5b:	cc                   	int3
4c6f5c:	cc                   	int3
4c6f5d:	cc                   	int3
4c6f5e:	cc                   	int3
4c6f5f:	cc                   	int3
4c6f60:	cc                   	int3
4c6f61:	cc                   	int3
4c6f62:	cc                   	int3
4c6f63:	cc                   	int3
4c6f64:	cc                   	int3
4c6f65:	cc                   	int3
4c6f66:	cc                   	int3
4c6f67:	cc                   	int3
4c6f68:	cc                   	int3
4c6f69:	cc                   	int3
4c6f6a:	cc                   	int3
4c6f6b:	cc                   	int3
4c6f6c:	cc                   	int3
4c6f6d:	cc                   	int3
4c6f6e:	cc                   	int3
4c6f6f:	cc                   	int3
4c6f70:	51                   	push   %ecx
4c6f71:	53                   	push   %ebx
4c6f72:	8b d9                	mov    %ecx,%ebx
4c6f74:	55                   	push   %ebp
4c6f75:	8b 6c 24 10          	mov    0x10(%esp),%ebp
4c6f79:	56                   	push   %esi
4c6f7a:	8b 43 14             	mov    0x14(%ebx),%eax
4c6f7d:	2b 43 0c             	sub    0xc(%ebx),%eax
4c6f80:	57                   	push   %edi
4c6f81:	8d 3c 6d 00 00 00 00 	lea    0x0(,%ebp,2),%edi
4c6f88:	c1 f8 02             	sar    $0x2,%eax
4c6f8b:	3b c7                	cmp    %edi,%eax
4c6f8d:	73 11                	jae    0x4c6fa0
4c6f8f:	81 ff ff ff ff 3f    	cmp    $0x3fffffff,%edi
4c6f95:	77 3d                	ja     0x4c6fd4
4c6f97:	57                   	push   %edi
4c6f98:	8d 4b 0c             	lea    0xc(%ebx),%ecx
4c6f9b:	e8 ab 88 f7 ff       	call   0x43f84b
4c6fa0:	8b 43 04             	mov    0x4(%ebx),%eax
4c6fa3:	8d 4b 0c             	lea    0xc(%ebx),%ecx
4c6fa6:	89 44 24 18          	mov    %eax,0x18(%esp)
4c6faa:	8b 43 0c             	mov    0xc(%ebx),%eax
4c6fad:	89 43 10             	mov    %eax,0x10(%ebx)
4c6fb0:	8d 44 24 18          	lea    0x18(%esp),%eax
4c6fb4:	50                   	push   %eax
4c6fb5:	57                   	push   %edi
4c6fb6:	ff 73 0c             	push   0xc(%ebx)
4c6fb9:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4c6fbd:	50                   	push   %eax
4c6fbe:	e8 ef 4b f5 ff       	call   0x41bbb2
4c6fc3:	5f                   	pop    %edi
4c6fc4:	5e                   	pop    %esi
4c6fc5:	8d 45 ff             	lea    -0x1(%ebp),%eax
4c6fc8:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
4c6fcb:	5d                   	pop    %ebp
4c6fcc:	89 43 18             	mov    %eax,0x18(%ebx)
4c6fcf:	5b                   	pop    %ebx
4c6fd0:	59                   	pop    %ecx
4c6fd1:	c2 04 00             	ret    $0x4
4c6fd4:	68 58 20 bd 00       	push   $0xbd2058
4c6fd9:	e8 38 28 f6 ff       	call   0x429816
4c6fde:	cc                   	int3
4c6fdf:	cc                   	int3
4c6fe0:	cc                   	int3
4c6fe1:	cc                   	int3
4c6fe2:	cc                   	int3
4c6fe3:	cc                   	int3
4c6fe4:	cc                   	int3
4c6fe5:	cc                   	int3
4c6fe6:	cc                   	int3
4c6fe7:	cc                   	int3
4c6fe8:	cc                   	int3
4c6fe9:	cc                   	int3
4c6fea:	cc                   	int3
4c6feb:	cc                   	int3
4c6fec:	cc                   	int3
4c6fed:	cc                   	int3
4c6fee:	cc                   	int3
4c6fef:	cc                   	int3
4c6ff0:	cc                   	int3
4c6ff1:	cc                   	int3
4c6ff2:	cc                   	int3
4c6ff3:	cc                   	int3
4c6ff4:	cc                   	int3
4c6ff5:	cc                   	int3
4c6ff6:	cc                   	int3
4c6ff7:	cc                   	int3
4c6ff8:	cc                   	int3
4c6ff9:	cc                   	int3
4c6ffa:	cc                   	int3
4c6ffb:	cc                   	int3
4c6ffc:	cc                   	int3
4c6ffd:	cc                   	int3
4c6ffe:	cc                   	int3
4c6fff:	cc                   	int3
4c7000:	8b 44 24 0c          	mov    0xc(%esp),%eax
4c7004:	8b 51 0c             	mov    0xc(%ecx),%edx
4c7007:	56                   	push   %esi
4c7008:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
4c700f:	8b 04 32             	mov    (%edx,%esi,1),%eax
4c7012:	03 d6                	add    %esi,%edx
4c7014:	3b 41 04             	cmp    0x4(%ecx),%eax
4c7017:	75 15                	jne    0x4c702e
4c7019:	8b 44 24 08          	mov    0x8(%esp),%eax
4c701d:	89 02                	mov    %eax,(%edx)
4c701f:	8b 49 0c             	mov    0xc(%ecx),%ecx
4c7022:	8b 44 24 08          	mov    0x8(%esp),%eax
4c7026:	89 44 0e 04          	mov    %eax,0x4(%esi,%ecx,1)
4c702a:	5e                   	pop    %esi
4c702b:	c2 0c 00             	ret    $0xc
4c702e:	3b 44 24 0c          	cmp    0xc(%esp),%eax
4c7032:	75 0a                	jne    0x4c703e
4c7034:	8b 44 24 08          	mov    0x8(%esp),%eax
4c7038:	89 02                	mov    %eax,(%edx)
4c703a:	5e                   	pop    %esi
4c703b:	c2 0c 00             	ret    $0xc
4c703e:	8b 42 04             	mov    0x4(%edx),%eax
4c7041:	8b 00                	mov    (%eax),%eax
4c7043:	89 42 04             	mov    %eax,0x4(%edx)
4c7046:	3b 44 24 08          	cmp    0x8(%esp),%eax
4c704a:	74 0e                	je     0x4c705a
4c704c:	8b 49 0c             	mov    0xc(%ecx),%ecx
4c704f:	8b 44 31 04          	mov    0x4(%ecx,%esi,1),%eax
4c7053:	8b 40 04             	mov    0x4(%eax),%eax
4c7056:	89 44 31 04          	mov    %eax,0x4(%ecx,%esi,1)
4c705a:	5e                   	pop    %esi
4c705b:	c2 0c 00             	ret    $0xc
4c705e:	cc                   	int3
4c705f:	cc                   	int3
4c7060:	cc                   	int3
4c7061:	cc                   	int3
4c7062:	cc                   	int3
4c7063:	cc                   	int3
4c7064:	cc                   	int3
4c7065:	cc                   	int3
4c7066:	cc                   	int3
4c7067:	cc                   	int3
4c7068:	cc                   	int3
4c7069:	cc                   	int3
4c706a:	cc                   	int3
4c706b:	cc                   	int3
4c706c:	cc                   	int3
4c706d:	cc                   	int3
4c706e:	cc                   	int3
4c706f:	cc                   	int3
4c7070:	cc                   	int3
4c7071:	cc                   	int3
4c7072:	cc                   	int3
4c7073:	cc                   	int3
4c7074:	cc                   	int3
4c7075:	cc                   	int3
4c7076:	cc                   	int3
4c7077:	cc                   	int3
4c7078:	cc                   	int3
4c7079:	cc                   	int3
4c707a:	cc                   	int3
4c707b:	cc                   	int3
4c707c:	cc                   	int3
4c707d:	cc                   	int3
4c707e:	cc                   	int3
4c707f:	cc                   	int3
4c7080:	55                   	push   %ebp
4c7081:	8b ec                	mov    %esp,%ebp
4c7083:	6a ff                	push   $0xffffffff
4c7085:	68 30 07 b4 00       	push   $0xb40730
4c708a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4c7090:	50                   	push   %eax
4c7091:	83 ec 18             	sub    $0x18,%esp
4c7094:	53                   	push   %ebx
4c7095:	56                   	push   %esi
4c7096:	57                   	push   %edi
4c7097:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
4c709c:	33 c5                	xor    %ebp,%eax
4c709e:	50                   	push   %eax
4c709f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4c70a2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4c70a8:	89 65 f0             	mov    %esp,-0x10(%ebp)
4c70ab:	8b d9                	mov    %ecx,%ebx
4c70ad:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4c70b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4c70b3:	8b f8                	mov    %eax,%edi
4c70b5:	8b 33                	mov    (%ebx),%esi
4c70b7:	2b fe                	sub    %esi,%edi
4c70b9:	c1 ff 02             	sar    $0x2,%edi
4c70bc:	89 7d dc             	mov    %edi,-0x24(%ebp)
4c70bf:	8b 7d 10             	mov    0x10(%ebp),%edi
4c70c2:	85 ff                	test   %edi,%edi
4c70c4:	0f 84 e5 01 00 00    	je     0x4c72af
4c70ca:	8b 53 04             	mov    0x4(%ebx),%edx
4c70cd:	8b 4b 08             	mov    0x8(%ebx),%ecx
4c70d0:	2b ca                	sub    %edx,%ecx
4c70d2:	89 55 10             	mov    %edx,0x10(%ebp)
4c70d5:	c1 f9 02             	sar    $0x2,%ecx
4c70d8:	3b cf                	cmp    %edi,%ecx
4c70da:	0f 83 fb 00 00 00    	jae    0x4c71db
4c70e0:	2b d6                	sub    %esi,%edx
4c70e2:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4c70e7:	c1 fa 02             	sar    $0x2,%edx
4c70ea:	8b c1                	mov    %ecx,%eax
4c70ec:	2b c2                	sub    %edx,%eax
4c70ee:	3b c7                	cmp    %edi,%eax
4c70f0:	73 0a                	jae    0x4c70fc
4c70f2:	68 58 20 bd 00       	push   $0xbd2058
4c70f7:	e8 1a 27 f6 ff       	call   0x429816
4c70fc:	8d 04 3a             	lea    (%edx,%edi,1),%eax
4c70ff:	8b 53 08             	mov    0x8(%ebx),%edx
4c7102:	89 45 10             	mov    %eax,0x10(%ebp)
4c7105:	2b d6                	sub    %esi,%edx
4c7107:	c1 fa 02             	sar    $0x2,%edx
4c710a:	8b c2                	mov    %edx,%eax
4c710c:	d1 e8                	shr    $1,%eax
4c710e:	2b c8                	sub    %eax,%ecx
4c7110:	03 c2                	add    %edx,%eax
4c7112:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4c7115:	33 c9                	xor    %ecx,%ecx
4c7117:	39 55 ec             	cmp    %edx,-0x14(%ebp)
4c711a:	0f 43 c8             	cmovae %eax,%ecx
4c711d:	8b 45 10             	mov    0x10(%ebp),%eax
4c7120:	3b c8                	cmp    %eax,%ecx
4c7122:	0f 43 c1             	cmovae %ecx,%eax
4c7125:	8b cb                	mov    %ebx,%ecx
4c7127:	50                   	push   %eax
4c7128:	89 45 10             	mov    %eax,0x10(%ebp)
4c712b:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c712e:	e8 59 71 f4 ff       	call   0x40e28c
4c7133:	ff 75 0c             	push   0xc(%ebp)
4c7136:	8b f0                	mov    %eax,%esi
4c7138:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4c713f:	8b 45 0c             	mov    0xc(%ebp),%eax
4c7142:	2b 03                	sub    (%ebx),%eax
4c7144:	c1 f8 02             	sar    $0x2,%eax
4c7147:	53                   	push   %ebx
4c7148:	ff 75 14             	push   0x14(%ebp)
4c714b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4c714e:	8d 0c 86             	lea    (%esi,%eax,4),%ecx
4c7151:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c7154:	57                   	push   %edi
4c7155:	51                   	push   %ecx
4c7156:	e8 ef 70 f5 ff       	call   0x41e24a
4c715b:	83 c4 14             	add    $0x14,%esp
4c715e:	51                   	push   %ecx
4c715f:	ff 75 0c             	push   0xc(%ebp)
4c7162:	53                   	push   %ebx
4c7163:	56                   	push   %esi
4c7164:	ff 75 0c             	push   0xc(%ebp)
4c7167:	ff 33                	push   (%ebx)
4c7169:	e8 78 64 f7 ff       	call   0x43d5e6
4c716e:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c7171:	83 c4 18             	add    $0x18,%esp
4c7174:	03 c7                	add    %edi,%eax
4c7176:	51                   	push   %ecx
4c7177:	ff 75 0c             	push   0xc(%ebp)
4c717a:	8d 04 86             	lea    (%esi,%eax,4),%eax
4c717d:	53                   	push   %ebx
4c717e:	50                   	push   %eax
4c717f:	ff 73 04             	push   0x4(%ebx)
4c7182:	ff 75 0c             	push   0xc(%ebp)
4c7185:	e8 5c 64 f7 ff       	call   0x43d5e6
4c718a:	8b 0b                	mov    (%ebx),%ecx
4c718c:	83 c4 18             	add    $0x18,%esp
4c718f:	8b 43 04             	mov    0x4(%ebx),%eax
4c7192:	2b c1                	sub    %ecx,%eax
4c7194:	c1 f8 02             	sar    $0x2,%eax
4c7197:	03 f8                	add    %eax,%edi
4c7199:	85 c9                	test   %ecx,%ecx
4c719b:	74 11                	je     0x4c71ae
4c719d:	8b 43 08             	mov    0x8(%ebx),%eax
4c71a0:	2b c1                	sub    %ecx,%eax
4c71a2:	c1 f8 02             	sar    $0x2,%eax
4c71a5:	50                   	push   %eax
4c71a6:	51                   	push   %ecx
4c71a7:	8b cb                	mov    %ebx,%ecx
4c71a9:	e8 16 1b f4 ff       	call   0x408cc4
4c71ae:	8b 45 10             	mov    0x10(%ebp),%eax
4c71b1:	8d 04 86             	lea    (%esi,%eax,4),%eax
4c71b4:	89 43 08             	mov    %eax,0x8(%ebx)
4c71b7:	8d 04 be             	lea    (%esi,%edi,4),%eax
4c71ba:	89 43 04             	mov    %eax,0x4(%ebx)
4c71bd:	89 33                	mov    %esi,(%ebx)
4c71bf:	e9 eb 00 00 00       	jmp    0x4c72af
4c71c4:	ff 75 e8             	push   -0x18(%ebp)
4c71c7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4c71ca:	ff 75 e4             	push   -0x1c(%ebp)
4c71cd:	e8 f2 1a f4 ff       	call   0x408cc4
4c71d2:	6a 00                	push   $0x0
4c71d4:	6a 00                	push   $0x0
4c71d6:	e8 b4 67 f5 ff       	call   0x41d98f