523e28:	cc                   	int3
523e29:	cc                   	int3
523e2a:	cc                   	int3
523e2b:	cc                   	int3
523e2c:	cc                   	int3
523e2d:	cc                   	int3
523e2e:	cc                   	int3
523e2f:	cc                   	int3
523e30:	8b 54 24 04          	mov    0x4(%esp),%edx
523e34:	8b 02                	mov    (%edx),%eax
523e36:	89 01                	mov    %eax,(%ecx)
523e38:	8b 42 04             	mov    0x4(%edx),%eax
523e3b:	89 41 04             	mov    %eax,0x4(%ecx)
523e3e:	8b 42 08             	mov    0x8(%edx),%eax
523e41:	89 41 08             	mov    %eax,0x8(%ecx)
523e44:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
523e4a:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
523e51:	c7 42 08 00 00 00 00 	movl   $0x0,0x8(%edx)
523e58:	c2 08 00             	ret    $0x8
523e5b:	cc                   	int3
523e5c:	cc                   	int3
523e5d:	cc                   	int3
523e5e:	cc                   	int3
523e5f:	cc                   	int3
523e60:	cc                   	int3
523e61:	cc                   	int3
523e62:	cc                   	int3
523e63:	cc                   	int3
523e64:	cc                   	int3
523e65:	cc                   	int3
523e66:	cc                   	int3
523e67:	cc                   	int3
523e68:	cc                   	int3
523e69:	cc                   	int3
523e6a:	cc                   	int3
523e6b:	cc                   	int3
523e6c:	cc                   	int3
523e6d:	cc                   	int3
523e6e:	cc                   	int3
523e6f:	cc                   	int3
523e70:	c2 04 00             	ret    $0x4
523e73:	cc                   	int3
523e74:	cc                   	int3
523e75:	cc                   	int3
523e76:	cc                   	int3
523e77:	cc                   	int3
523e78:	cc                   	int3
523e79:	cc                   	int3
523e7a:	cc                   	int3
523e7b:	cc                   	int3
523e7c:	cc                   	int3
523e7d:	cc                   	int3
523e7e:	cc                   	int3
523e7f:	cc                   	int3
523e80:	56                   	push   %esi
523e81:	8b 74 24 08          	mov    0x8(%esp),%esi
523e85:	57                   	push   %edi
523e86:	8b 7c 24 10          	mov    0x10(%esp),%edi
523e8a:	3b f7                	cmp    %edi,%esi
523e8c:	74 13                	je     0x523ea1
523e8e:	66 90                	xchg   %ax,%ax
523e90:	8b ce                	mov    %esi,%ecx
523e92:	e8 66 28 ef ff       	call   0x4166fd
523e97:	81 c6 9c 00 00 00    	add    $0x9c,%esi
523e9d:	3b f7                	cmp    %edi,%esi
523e9f:	75 ef                	jne    0x523e90
523ea1:	5f                   	pop    %edi
523ea2:	5e                   	pop    %esi
523ea3:	c2 08 00             	ret    $0x8
523ea6:	cc                   	int3
523ea7:	cc                   	int3
523ea8:	cc                   	int3
523ea9:	cc                   	int3
523eaa:	cc                   	int3
523eab:	cc                   	int3
523eac:	cc                   	int3
523ead:	cc                   	int3
523eae:	cc                   	int3
523eaf:	cc                   	int3
523eb0:	8b c1                	mov    %ecx,%eax
523eb2:	c3                   	ret
523eb3:	cc                   	int3
523eb4:	cc                   	int3
523eb5:	cc                   	int3
523eb6:	cc                   	int3
523eb7:	cc                   	int3
523eb8:	cc                   	int3
523eb9:	cc                   	int3
523eba:	cc                   	int3
523ebb:	cc                   	int3
523ebc:	cc                   	int3
523ebd:	cc                   	int3
523ebe:	cc                   	int3
523ebf:	cc                   	int3
523ec0:	8b c1                	mov    %ecx,%eax
523ec2:	c3                   	ret
523ec3:	cc                   	int3
523ec4:	cc                   	int3
523ec5:	cc                   	int3
523ec6:	cc                   	int3
523ec7:	cc                   	int3
523ec8:	cc                   	int3
523ec9:	cc                   	int3
523eca:	cc                   	int3
523ecb:	cc                   	int3
523ecc:	cc                   	int3
523ecd:	cc                   	int3
523ece:	cc                   	int3
523ecf:	cc                   	int3
523ed0:	8b c1                	mov    %ecx,%eax
523ed2:	c3                   	ret
523ed3:	cc                   	int3
523ed4:	cc                   	int3
523ed5:	cc                   	int3
523ed6:	cc                   	int3
523ed7:	cc                   	int3
523ed8:	cc                   	int3
523ed9:	cc                   	int3
523eda:	cc                   	int3
523edb:	cc                   	int3
523edc:	cc                   	int3
523edd:	cc                   	int3
523ede:	cc                   	int3
523edf:	cc                   	int3
523ee0:	8b c1                	mov    %ecx,%eax
523ee2:	c3                   	ret
523ee3:	cc                   	int3
523ee4:	cc                   	int3
523ee5:	cc                   	int3
523ee6:	cc                   	int3
523ee7:	cc                   	int3
523ee8:	cc                   	int3
523ee9:	cc                   	int3
523eea:	cc                   	int3
523eeb:	cc                   	int3
523eec:	cc                   	int3
523eed:	cc                   	int3
523eee:	cc                   	int3
523eef:	cc                   	int3
523ef0:	8b c1                	mov    %ecx,%eax
523ef2:	c3                   	ret
523ef3:	cc                   	int3
523ef4:	cc                   	int3
523ef5:	cc                   	int3
523ef6:	cc                   	int3
523ef7:	cc                   	int3
523ef8:	cc                   	int3
523ef9:	cc                   	int3
523efa:	cc                   	int3
523efb:	cc                   	int3
523efc:	cc                   	int3
523efd:	cc                   	int3
523efe:	cc                   	int3
523eff:	cc                   	int3
523f00:	8b c1                	mov    %ecx,%eax
523f02:	c3                   	ret
523f03:	cc                   	int3
523f04:	cc                   	int3
523f05:	cc                   	int3
523f06:	cc                   	int3
523f07:	cc                   	int3
523f08:	cc                   	int3
523f09:	cc                   	int3
523f0a:	cc                   	int3
523f0b:	cc                   	int3
523f0c:	cc                   	int3
523f0d:	cc                   	int3
523f0e:	cc                   	int3
523f0f:	cc                   	int3
523f10:	8b c1                	mov    %ecx,%eax
523f12:	c3                   	ret
523f13:	cc                   	int3
523f14:	cc                   	int3
523f15:	cc                   	int3
523f16:	cc                   	int3
523f17:	cc                   	int3
523f18:	cc                   	int3
523f19:	cc                   	int3
523f1a:	cc                   	int3
523f1b:	cc                   	int3
523f1c:	cc                   	int3
523f1d:	cc                   	int3
523f1e:	cc                   	int3
523f1f:	cc                   	int3
523f20:	8b c1                	mov    %ecx,%eax
523f22:	c3                   	ret
523f23:	cc                   	int3
523f24:	cc                   	int3
523f25:	cc                   	int3
523f26:	cc                   	int3
523f27:	cc                   	int3
523f28:	cc                   	int3
523f29:	cc                   	int3
523f2a:	cc                   	int3
523f2b:	cc                   	int3
523f2c:	cc                   	int3
523f2d:	cc                   	int3
523f2e:	cc                   	int3
523f2f:	cc                   	int3
523f30:	8b c1                	mov    %ecx,%eax
523f32:	c3                   	ret
523f33:	cc                   	int3
523f34:	cc                   	int3
523f35:	cc                   	int3
523f36:	cc                   	int3
523f37:	cc                   	int3
523f38:	cc                   	int3
523f39:	cc                   	int3
523f3a:	cc                   	int3
523f3b:	cc                   	int3
523f3c:	cc                   	int3
523f3d:	cc                   	int3
523f3e:	cc                   	int3
523f3f:	cc                   	int3
523f40:	8b c1                	mov    %ecx,%eax
523f42:	c3                   	ret
523f43:	cc                   	int3
523f44:	cc                   	int3
523f45:	cc                   	int3
523f46:	cc                   	int3
523f47:	cc                   	int3
523f48:	cc                   	int3
523f49:	cc                   	int3
523f4a:	cc                   	int3
523f4b:	cc                   	int3
523f4c:	cc                   	int3
523f4d:	cc                   	int3
523f4e:	cc                   	int3
523f4f:	cc                   	int3
523f50:	8b c1                	mov    %ecx,%eax
523f52:	c3                   	ret
523f53:	cc                   	int3
523f54:	cc                   	int3
523f55:	cc                   	int3
523f56:	cc                   	int3
523f57:	cc                   	int3
523f58:	cc                   	int3
523f59:	cc                   	int3
523f5a:	cc                   	int3
523f5b:	cc                   	int3
523f5c:	cc                   	int3
523f5d:	cc                   	int3
523f5e:	cc                   	int3
523f5f:	cc                   	int3
523f60:	8b c1                	mov    %ecx,%eax
523f62:	c3                   	ret
523f63:	cc                   	int3
523f64:	cc                   	int3
523f65:	cc                   	int3
523f66:	cc                   	int3
523f67:	cc                   	int3
523f68:	cc                   	int3
523f69:	cc                   	int3
523f6a:	cc                   	int3
523f6b:	cc                   	int3
523f6c:	cc                   	int3
523f6d:	cc                   	int3
523f6e:	cc                   	int3
523f6f:	cc                   	int3
523f70:	56                   	push   %esi
523f71:	8b 71 08             	mov    0x8(%ecx),%esi
523f74:	b8 d3 20 0d d2       	mov    $0xd20d20d3,%eax
523f79:	2b 31                	sub    (%ecx),%esi
523f7b:	f7 ee                	imul   %esi
523f7d:	03 d6                	add    %esi,%edx
523f7f:	c1 fa 07             	sar    $0x7,%edx
523f82:	8b f2                	mov    %edx,%esi
523f84:	c1 ee 1f             	shr    $0x1f,%esi
523f87:	03 f2                	add    %edx,%esi
523f89:	ba 41 1a a4 01       	mov    $0x1a41a41,%edx
523f8e:	8b c6                	mov    %esi,%eax
523f90:	d1 e8                	shr    $1,%eax
523f92:	2b d0                	sub    %eax,%edx
523f94:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
523f97:	33 c0                	xor    %eax,%eax
523f99:	3b d6                	cmp    %esi,%edx
523f9b:	5e                   	pop    %esi
523f9c:	0f 43 c1             	cmovae %ecx,%eax
523f9f:	3b 44 24 04          	cmp    0x4(%esp),%eax
523fa3:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
523fa8:	c2 04 00             	ret    $0x4
523fab:	cc                   	int3
523fac:	cc                   	int3
523fad:	cc                   	int3
523fae:	cc                   	int3
523faf:	cc                   	int3
523fb0:	cc                   	int3
523fb1:	cc                   	int3
523fb2:	cc                   	int3
523fb3:	cc                   	int3
523fb4:	cc                   	int3
523fb5:	cc                   	int3
523fb6:	cc                   	int3
523fb7:	cc                   	int3
523fb8:	cc                   	int3
523fb9:	cc                   	int3
523fba:	cc                   	int3
523fbb:	cc                   	int3
523fbc:	cc                   	int3
523fbd:	cc                   	int3
523fbe:	cc                   	int3
523fbf:	cc                   	int3
523fc0:	8b 51 08             	mov    0x8(%ecx),%edx
523fc3:	b8 29 8d 8f 4c       	mov    $0x4c8f8d29,%eax
523fc8:	2b 11                	sub    (%ecx),%edx
523fca:	f7 ea                	imul   %edx
523fcc:	56                   	push   %esi
523fcd:	c1 fa 07             	sar    $0x7,%edx
523fd0:	8b f2                	mov    %edx,%esi
523fd2:	c1 ee 1f             	shr    $0x1f,%esi
523fd5:	03 f2                	add    %edx,%esi
523fd7:	ba 1a 1f 99 00       	mov    $0x991f1a,%edx
523fdc:	8b c6                	mov    %esi,%eax
523fde:	d1 e8                	shr    $1,%eax
523fe0:	2b d0                	sub    %eax,%edx
523fe2:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
523fe5:	33 c0                	xor    %eax,%eax
523fe7:	3b d6                	cmp    %esi,%edx
523fe9:	5e                   	pop    %esi
523fea:	0f 43 c1             	cmovae %ecx,%eax
523fed:	3b 44 24 04          	cmp    0x4(%esp),%eax
523ff1:	0f 42 44 24 04       	cmovb  0x4(%esp),%eax
523ff6:	c2 04 00             	ret    $0x4
523ff9:	cc                   	int3
523ffa:	cc                   	int3
523ffb:	cc                   	int3
523ffc:	cc                   	int3
523ffd:	cc                   	int3
523ffe:	cc                   	int3
523fff:	cc                   	int3
524000:	cc                   	int3
524001:	cc                   	int3
524002:	cc                   	int3
524003:	cc                   	int3
524004:	cc                   	int3
524005:	cc                   	int3
524006:	cc                   	int3
524007:	cc                   	int3
524008:	cc                   	int3
524009:	cc                   	int3
52400a:	cc                   	int3
52400b:	cc                   	int3
52400c:	cc                   	int3
52400d:	cc                   	int3
52400e:	cc                   	int3
52400f:	cc                   	int3
524010:	55                   	push   %ebp
524011:	8d ac 24 50 fe ff ff 	lea    -0x1b0(%esp),%ebp
524018:	81 ec b0 01 00 00    	sub    $0x1b0,%esp
52401e:	6a ff                	push   $0xffffffff